- Drives the execution of multiple business plans and projects by identifying customer and operational needs; developing and communicating business plans and priorities; removing barriers and obstacles that impact performance; providing resources; identifying performance standards; measuring progress and adjusting performance accordingly; developing contingency plans; and demonstrating adaptability and supporting continuous learning
- Provides supervision and development opportunities for associates by selecting and training; mentoring; assigning duties; building a team-based work environment; establishing performance expectations and conducting regular performance evaluations; providing recognition and rewards; coaching for success and improvement; and ensuring diversity awareness
- Promotes and supports company policies, procedures, mission, values, and standards of ethics and integrity by training and providing direction to others in their use and application; ensuring compliance with them; and utilizing and supporting the Open Door Policy
- Ensures business needs are being met by evaluating the ongoing effectiveness of current plans, programs, and initiatives; consulting with business partners, managers, co-workers, or other key stakeholders; soliciting, evaluating, and applying suggestions for improving efficiency and cost-effectiveness; and participating in and supporting community outreach events
What you'll do:
Technical Leadership:
- Guide the team in architectural decisions and best practices for building scalable applications.
- Provide multiple alternatives for development frameworks, libraries, and tools. Participate in the entire software development lifecycle, building, testing and delivering high-quality solutions. Collaborate with cross-functional teams to identify and solve complex problems.
- Work closely with Engineering managers, Leads, Product partners and peers.
- Development Frameworks. Enable the development of scalable solutions for data intensive batch and streaming applications. Your expertise in and understanding of thefollowing technology frameworks will help us to accelerate our technology modernization :
- Java/Python Frameworks: Spring Boot/Flask/Django : Spring boot Experience in developing Java / Spring boot Microservices. Working experience on Python Flask/Django based webservices framework. You should be we'll versed in building REST, Streaming and Batch applications using Java and Spring Boot.
- Micronaut : Your knowledge of Micronaut or a related framework that can be used as a alternative of Spring Boot will help us in building modular, easily testable microservice applications.
Microservices based architecture:
- Experience with webservices frameworks like Flask, Django, FastAPI.
- End to end involvement in designing and developing applications using microservices design pattern.
- Strong knowledge on using OpenAPI specifications for designing REST End points.
Spark and PySpark:
- Python Language Proficiency : Strong understanding of Python syntax and libraries like Pandas. Design, Develop, test and maintain high-quality software using Python programming language.
- Apache Spark : Experience with Spark transformations and actions. Knowledge of RDDs, Dataframe and Dataset APIs and the ability to perform complex data aggregations and joins. Understanding of Spark architecture (drivers, executors, cluster managers).
- Cloud Frameworks: GCP/Azure : Experience with one of the cloud platforms like GCP, Azure using resources like GCS, ADLS, BigQuery, Cloud functions, ADF, Kubernetes framework(GKE, AKS), Delta Lake(Databricks).
- Docker : Should be expert in deploying applications on containerised infrastructure using Docker images.
Big Data Processing:
- Apache Spark : It is our unified analytics engine for large-scale data processing. Prior experience in PySpark projects is desirable.
- Apache Hadoop: Strong knowledge on the fundamentals of Hadoop and MapReduce. Ability to design processing system leveraging partitioning, bucketing and other data shuffling and sharding concepts with optimized performance for large datasets.
- Data Warehousing: Deep knowledge and hands-on experience working with large data warehouses like Hive, Hudi, BigQuery etc and leveraging the analytical(OLAP) design strategy.
- Data Lake Management: Experience in designing data lake systems for incremental ingestions and transformation stages defining the various layers of data/delta lake.
What you'll bring:
- Bachelors/masters degree in Computer Science, engineering, or related field, with minimum 10+ years of experience in software design, development and automated deployments.
- Have prior experience in delivering highly scalable large scale data processing Python applications.
- Strong in high and low level system design. Should be experienced in designing data intensive applications in open stack.
- A good understanding of CS Fundamentals, Microservices, Data Structures, Algorithms & Problem Solving
- Should be experienced in CICD development environments/tools including, but not limited to, Git, Maven, PyPI, Jenkins.
- Strong in writing modular and testable code and test cases (unit, functional and integration) using frameworks like PyTest, pytest-mock.
- Hands on experience building Python-based backend systems and experience of working in cloud based solutions is a must. Should be proficient in Python, PySpark, Pandas, Flask/Django/FastAPI and Kafka.
- Should be experienced in microservices architecture. Posseses good understanding of distributed concepts, common design principles, design patterns and cloud native development concepts.
- Hands-on experience in Flask/Django/FastAPI, concurrency, garbage collection, RESTful services, data caching services and ORM tools.
- Experience working with Relational Database and writing complex OLAP, OLTP and SQL queries.
- Experience in working with NoSQL/Document data stores like cosmos DB, Cassandra etc
- Experience in working with Caching technology like Redis, Mem cache or other related Systems.
- Experience utilizing monitoring and alert tools like Prometheus, Splunk, and other related systems and excellent in debugging and troubleshooting issues.
- Exposure to Containerization tools like Docker, Helm, Kubernetes.
- Knowledge of public cloud platforms like Azure, GCP is must.
Benefits
Beyond our great compensation package, you can receive incentive awards for your performance. Other great perks include a host of best-in-class benefits maternity and parental leave, PTO, health benefits, and much more.
Position Summary...
- Drives the execution of multiple business plans and projects by identifying customer and operational needs; developing and communicating business plans and priorities; removing barriers and obstacles that impact performance; providing resources; identifying performance standards; measuring progress and adjusting performance accordingly; developing contingency plans; and demonstrating adaptability and supporting continuous learning
- Provides supervision and development opportunities for associates by selecting and training; mentoring; assigning duties; building a team-based work environment; establishing performance expectations and conducting regular performance evaluations; providing recognition and rewards; coaching for success and improvement; and ensuring diversity awareness
- Promotes and supports company policies, procedures, mission, values, and standards of ethics and integrity by training and providing direction to others in their use and application; ensuring compliance with them; and utilizing and supporting the Open Door Policy
- Ensures business needs are being met by evaluating the ongoing effectiveness of current plans, programs, and initiatives; consulting with business partners, managers, co-workers, or other key stakeholders; soliciting, evaluating, and applying suggestions for improving efficiency and cost-effectiveness; and participating in and supporting community outreach events
Minimum Qualifications Option 1: Bachelors degree in computer science, computer engineering, computer information systems, software engineering, or related area and 4 years experience in software engineering or related area.
Option 2: 6 years experience in software engineering or related area.
Preferred Qualifications masters degree in Computer Science, Computer Engineering, Computer Information Systems, Software Engineering, or related area and 2 years experience in software engineering or related area