Chennai, Tamil Nadu
Software Engineer #1057012Job 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:
- Java Full stack
Skills Preferred:
- GCP Cloud Run, Tekton, CI/CD, Angular, Spring Boot
Experience Required:
- Senior Engineer Exp: Proficient In 2 coding lang. or adv. Prac. in 1 lang.; guides.
- 10+ years in IT; 8+ years in development
Roles and Responsibilities End-to-End Software Development:
- Responsible for designing, developing, testing, and maintaining comprehensive end-to-end components, including the UI, business logic, data, and integration tiers.
- Product Collaboration & Prototyping: Collaborate closely with Product Managers and Product Owners to deeply understand functionalities and use cases, and create effective prototypes to visualize solutions.
- Technical Proficiency: Demonstrate expertise in API development and integration, front-end technologies (Angular), and back-end technologies (Spring Boot).
- This includes working with system infrastructure and database manipulation.
- Quality Assurance & Compliance: Ensure high quality of developed software by strictly adhering to IT's security and control policies.
- This includes developing automated unit and functional tests to confirm user story acceptance. Operational Support & Performance: Provide essential production and operational support to ensure that Critical Success Factor (CSF) targets are consistently met.
- Technological Innovation & Influence: Research new technologies, influence enterprise technology shifts, and implement new trends that impact application delivery landscape.
- Effective Communication: Simplify complex technical concepts and convey them clearly and concisely through both oral and written communication to various stakeholders.
Education Required:
- Bachelor's Degree
Education Preferred:
- Bachelor's Degree
Additional Information :
- Programming Languages & Frameworks: Java: Extensive experience with Java 17+ and modern Java design patterns.
- Spring Boot: Proficiency in Spring Boot, including security features, Flyway for database migrations, and JPA for data persistence.
- Angular: Strong background in Angular for UI development.
- API Management: Experience with APIGEE Gateway.
- Cloud & Infrastructure: Hands-on experience with GCP (Google Cloud Platform).
- DevSecOps & Quality Tools: Familiarity with SonarQube, 42 Crunch, FOSSA, and Cycode.
- Proficiency with IntelliJ IDEA.
- Version Control & CI/CD: Expertise in Git. Ability to work with CI/CD pipelines using Gradle and Tekton.
- Database Management: Proficiency with Microsoft SQL Server and PostgreSQL.
- Methodologies: Strong understanding of TDD (Test-Driven Development) and BDD (Behavior-Driven Development).
- Adherence to Software Craftsmanship practices. Experience working in an Agile environment.