Chennai, Tamil Nadu
Software Engineer #1066759Position 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:
1. Engage with customers to deeply understand their use-cases, pain points, and requirements, showcasing empathy and advocating for user-centric software solutions
2. Solve complex problems by designing, developing, and delivering using various tools, languages, frameworks, methodologies (like agile) and technologies
3. Assess the requirements of the software application or service and determine the most suitable technology stack, integration method, deployment strategy, etc.
4. Create high-level software architecture designs that outline the overall structure, components, and interfaces of the application
5. Collaborate with cross functional teams like product owners, designers, architects etc.
6. Define and implement software test strategy, guidelines, policies and processes in line with organization vision, industry regulations and market best practices.
7. Work on continuously improving performance and optimizing the application and implement new technologies to maximize development efficiency
8. Familiar with programming practices, such as test-driven development, continuous integration, and continuous delivery
9. Support security practices to safeguard user data including encryption and anonymization.
10. Create user-friendly and interactive interfaces
11. Develop and maintain back-end applications like APIs and microservices using server-side languages
12. 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, GCP Cloud Run, GitHub, Java Full stack, PostgreSQL, MSSQL, CI/CD
Skills Preferred:
Pub/Sub
Experience Required:
Senior Engineer Exp: Prac. In 2 coding lang. or adv. Prac. in 1 lang.; guides. 10+ years in IT
8+ years in development
Education Required:
Bachelor's Degree
Master's Degree
Additional Information :
* **Full-Stack Development: Build end-to-end features, from designing relational database schemas and backend RESTful APIs to implementing responsive, pixel-perfect user interfaces in Angular and React.
* **Frontend Engineering: Architect, develop, and maintain performant frontend applications. Implement state management (e.g., Redux, NgRx, or RxJS), reusable component libraries, and ensure responsive design across devices.
* **Microservices Development:** Design, develop, and maintain high-performance, scalable, and resilient RESTful microservices using **Java 11+**, **Spring Boot**, and **Spring Data JPA**.
* **Database Management:** Write optimized queries, design schemas, and manage database interactions across both **PostgreSQL** and **MS SQL Server**.
* **API Management & Security:** Design, secure, and publish APIs using **Apigee** API Gateway. Implement stringent API security policies and vulnerability scanning using **42Crunch**.
* **CI/CD & DevOps:** Build, maintain, and optimize Kubernetes-native CI/CD pipelines using **Tekton**. Manage version control, branching strategies, and pull requests within **Git/GitHub**.
* **Code Quality & Testing:** Ensure robust code quality through comprehensive unit testing using **JUnit**. Leverage **SonarQube** to identify and resolve code smells, security vulnerabilities, and maintain high test coverage standards.
* **Compliance & Security:** Ensure open-source license compliance and scan third-party dependencies for vulnerabilities using **FOSSA** tools.
* **Collaboration:** Partner with product owners, architects, and frontend developers in an Agile/Scrum environment to deliver high-quality software increments. * Familiarity with containerization tools like **Docker** and orchestration platforms like **Kubernetes**. * Experience with messaging queues/event streams (e.g., Apache Kafka, Pub/Sub, RabbitMQ). * Experience working in cloud environments (such as GCP).