- Design, build and maintain efficient, reusable, and reliable code.
- Supporting existing products/applications.
- Ensure the best possible performance, quality, and responsiveness of applications
- Help maintain code quality, organization, and automation.
- Apply data modeling techniques to ensure development and implementation support efforts meet integration and performance expectations.
- Reviewing query performance and optimizing code, writing queries with the team.
- Assist developers with complex query tuning and schema refinement.
Other Job Duties
- Other duties as assigned by supervisor or lead.
Travel Requirements
- Travel 5-10%, including overnight travel, domestic abroad (US and other delivery locations)
Required Education, Experience, Certifications and Skills
- Bachelors degree in Computer Science, Software Engineering, MCA
- 5+ years of experience as a Software Engineer in building automated and distributed commercial web-scale systems
- Understanding of storage performance challenges and their solutions
- Solid understanding of object-oriented programming (OOP)
- 5+ years of experience in Web API , Angular (TS), .Net/.NET Core, EF, and jQuery
- Expertise in C# programming language
- Expertise in Test-Driven Development (NUNIT/MS Test)
- 2+ years of experience in Redis, KAFKA/MSK, ELK, SQL (MS SQL and PostgreSQL) / NoSQL
- 2+ years of experience in AWS, API Gateway, Lambda, Docker, EKS, ECS and CloudWatch
- Experience with Identity Server
- Experience in designing Microservices
- Experience with SCM (Bitbucket/GitHub) and CI/CD tools (GitHub Actions/Jenkin/TeamCity and Octopus Deploy, SonarQube, Nexus Manager, Artifactory, MS Build)
- Experience with Performance Tuning and Optimization (PTO), using native monitoring and troubleshooting tools related to API (Postman, Swagger)
- Good debugging and troubleshooting skill
- Strong requirements gathering, analysis and questions skills
- Proficient in SDLC, Waterfall, and Agile methodologies
- Excellent written and verbal communication
- Flexible, team player, get-it-done personality
- Ability to organize and plan work independently
- Ability to work in a rapidly changing environment
- Ability to multi-task and context-switch effectively between different activities and teams
- Knowledge of JIRA/Confluence will be added advantage