Chennai, Tamil Nadu
Software Engineer #1056420Job Description:
- Employees in this job function are responsible for designing, developing, testing and maintaining software applications and products to meet customer needs.
- They are involved in the entire software development lifecycle including designing software architecture, writing code, testing for quality and deploying the software to meet customer requirements.
- Full-stack software engineering roles, who can develop all components of software including user interface and server side also fall within this job function.
Key Responsibilities:
- Engage with customers to deeply understand their use-cases, pain points, and requirements, showcasing empathy and advocating for user-centric software solutions
- Solve complex problems by designing, developing, and delivering using various tools, languages, frameworks, methodologies (like agile) and technologies
- Assess the requirements of the software application or service and determine the most suitable technology stack, integration method, deployment strategy, etc.
- Create high-level software architecture designs that outline the overall structure, components, and interfaces of the application
- Collaborate with cross functional teams like product owners, designers, architects etc.
- Define and implement software test strategy, guidelines, policies and processes in line with organization vision, industry regulations and market best practices.
- Work on continuously improving performance and optimizing the application and implement new technologies to maximize development efficiency
- Familiar with programming practices, such as test-driven development, continuous integration, and continuous delivery
- Support security practices to safeguard user data including encryption and anonymization.
- Create user-friendly and interactive interfaces
- Develop and maintain back-end applications like APIs and microservices using server-side languages
- Evaluate and incorporate emerging technologies and capabilities to deliver their solutions, and are monitoring and participating in solutions for new stack layers, often involving industry collaboration
Skills Required:
- Spring Boot, React, Kotlin, GCP, MongoDB
Skills Preferred:
- TDD, POSTGRES, Java
Experience Required:
- Engineer 3 Exp: Prac. In 2 coding lang. or adv. Prac. in 1 lang. 6+ years in IT; 4+ years in development
Experience Preferred:
- Strong knowledge of Software Craftsmanship practices including TDD, Clean Code, Refactoring, etc. Experience working with DevOps/Security tools like GitHub, Cloud Build, Tekton, 42Crunch, FOSSA, SonarQube, Cycode etc.
- Knowledge of working with Agile software methodologies i.e. Scrum, eXtreme Programming, etc.
- Ability to collaborate well with product managers, designers, and business partners.
Education Required:
- Bachelor's Degree
Education Preferred:
- Bachelor's Degree
Additional Information :
- Validate and release¿applications using¿continuous¿integration¿and¿continuous¿delivery tools
- Work in collaborative environment including pairing and mobbing with other cross-functional engineers
- Work on a small¿agile team¿to deliver working, tested software
- Work effectively with¿technical product manager, product owners, product designers and¿other technical experts
- Work on a team focused on delivering Available, Testable, and Portable solutions using Domain Driven Design, CQRS, Hexagonal Architecture, and Event Driven Architecture
- Developing exceptional user experiences with backend APIs using frameworks such as Spring Boot and Microservices
- Opportunity to develop exceptional user experiences using React