for a talented and versatile Java / Python Microservice Data Engineer to join our data engineering team. As a Data Engineer, you will be responsible for designing, developing, and maintaining data pipelines and microservices that facilitate the seamless flow of data across our systems. Your expertise in both Java and Python programming languages will be crucial in building scalable and efficient data solutions.
Primary Responsibilities-Strong proficiency in backend Python development, with a strong familiarity with FastAPI and asynchronous programming.
-Strong proficiency in cloud-native architecture. Azure experience is preferred but not mandatory.
-Strong proficiency in containerization and orchestration using Docker and Kubernetes.
-Strong proficiency in DevOps / CI/CD, particularly with GitHub workflows.-Proficiency in at least one JVM language (Java, Kotlin, Scala) and experience in backend development with any web framework such as Spring Boot, Vert.x, Javalin, etc.
-Proficiency in Infrastructure as Code (IaC) tools such as Terraform, CloudFormation, Pulumi, or Bicep, with a preference for Terraform.
-Proficiency in database technologies, with a preference for Snowflake.
Qualifications &
Experience
6+ Years of experience with Bachelor's / Masters degree in Computer Science, Engineering, or a related field.
Strong understanding of data modeling, data structures, and algorithms.
Knowledge of cloud-based data services and platforms (AWS, Azure, GCP) is a plus.
Understanding of DevOps practices and containerization technologies (Docker, Kubernetes) is advantageous.
Strong communication skills and ability to work collaboratively in a team-oriented environment.
Significant experience of designing, deploying, and supporting production cloud environments like Azure and Kubernetes
Additional Qualifications -Financial proven experience: Capital markets/Private Equity and/or securities processing-Understanding of cloud-native RBAC models is a plus.
-Familiarity with LLM frameworks such as Langchain, Langgraph, Semantic Kernel, OpenAI SDK, is a plus but not required
.-Understanding of MLOps, LLMOps is also a plus but not required.
Soft Skills:-Has extensive experience working remotely with a global team and possesses excellent communication skills, both verbal and written.
-Is a proven problem solver, capable of complete transparency through the RFC, design, and execution phases
.-Thrives in a hyper-paced environment.
Experience in start-ups, series-A, series-B stages is a huge plus.
-Has a strong discipline and foundational understanding of 12-factor app development.
- Strong proficiency in backend Python development, with a strong familiarity with FastAPI and asynchronous programming.
- Strong proficiency in cloud-native architecture. Azure experience is preferred but not mandatory.
- Strong proficiency in containerization and orchestration using Docker and Kubernetes.
- Strong proficiency in DevOps / CI/CD, particularly with GitHub workflows.
- Proficiency in at least one JVM language (Java, Kotlin, Scala) and experience in backend development with any web framework such as Spring Boot, Vert.x, Javalin, etc.
- Proficiency in Infrastructure as Code (IaC) tools such as Terraform, CloudFormation, Pulumi, or Bicep, with a preference for Terraform.
- Proficiency in database technologies, with a preference for Snowflake
Also ensure that while they have worked on most of these skills, they should be heavier in the programming side. Few profiles heavy on Dev Ops side were rejected by him.
General InformationJob Description:Expectations from this role:
Act creatively to develop applications and select appropriate technical options, optimizing application development, maintenance and performance by employing design patterns and reusing proven solutions, account for others' developmental activities
1. Interpret the application/feature/component design to develop the same in accordance with specifications.
2. Code, debug, test, document and communicate product/component/feature development stages.
3. Validate results with user representatives; integrates and commissions the overall solution
4. Select appropriate technical options for development such as reusing, improving or reconfiguration of existing components or creating own solutions
5. Optimises efficiency, cost and quality.
6. Influence and improve customer satisfaction
7. Set FAST goals for self/teamTypical performance measures:
1. Adherence to engineering process and standards (coding standards)
2. Adherence to project schedule / timelines
3. Number of technical issues uncovered during the execution of the project
4. Number of defects in the code
5. Number of defects post delivery
6. Number of non compliance issues
7. On time completion of mandatory compliance trainingsPerformance Areas:
Code as per design
Follow coding standards, templates and checklists
Review code for team and peers
Documentation:
Create/review templates, checklists, guidelines, standards for design/process/development
Create/review deliverable documents. Design documentation, r and requirements, test cases/results
Configure:
Define and govern configuration management plan
Ensure compliance from the team
Test:
Review and create unit test cases, scenarios and execution
Review test plan created by testing team
Provide clarifications to the testing team
Domain relevance:
Advise Software Developers on design and development of features and components with a deep understanding of the business problem being addressed for the client.
Learn more about the customer domain identifying opportunities to provide valuable addition to customers
Complete relevant domain certifications
Manage Project:
Manage delivery of modules and/or manage user stories
Manage Defects:
Perform defect RCA and mitigation
Identify defect trends and take proactive measures to improve quality
Estimate:
Create and provide input for effort estimation for projects
Manage knowledge:
Consume and contribute to project related documents, share point, libraries and client universities
Review the reusable documents created by the team
Release:
Execute and monitor release process
Design:
Contribute to creation of design (HLD, LLD, SAD)/architecture for Applications/Features/Business Components/Data Models
Interface with Customer:
Clarify requirements and provide guidance to development team
Present design options to customers
Conduct product demos
Manage Team:
Set FAST goals and provide feedback
Understand aspirations of team members and provide guidance, opportunities, etc
Ensure team is engaged in project
Certifications:
Take relevant domain/technology certification
Skill Examples:
1. Explain and communicate the design / development to the customer
2. Perform and evaluate test results against product specifications
3. Break down complex problems into logical components
4. Develop user interfaces, business software components
5. Use data models
6. Estimate time and effort required for developing / debugging features / components
7. Perform and evaluate test in the customer or target environment
8. Make quick decisions on technical/project related challenges
9. Manage a Team,
10. Maintain high motivation levels and positive dynamics in the team.
11. Interface with other teams, designers, and other parallel practices
12. Set goals for self and team. Provide feedback to team members
13. Create and articulate impactful technical presentations
14. Follow high level of business etiquette in emails and other business communication
15. Drive conference calls with customers addressing customer questions
16. Proactively ask for and offer help
17. Ability to work under pressure, determine dependencies, risks, facilitate planning; handling multiple tasks.
18. Build confidence with customers by meeting the deliverables on time with quality.
19. Estimate time and effort, resources required for developing / debugging features / components
20. Make on appropriate utilization of Software / Hardware's.
21. Strong analytical and problem-solving abilitiesKnowledge Examples:
1. Appropriate software programs / modules
2. Functional and technical designing
3. Programming languages proficient in multiple skill clusters
4. DBMS
5. Operating Systems and software platforms
6. Software Development Life Cycle
7. Agile Scrum or Kanban Methods
8. Integrated development environment (IDE)
9. Rapid application development (RAD)
10. Modelling technology and languages
11. Interface definition languages (IDL)
12. Knowledge of customer domain and deep understanding of sub domain where problem is solved