Senior Software Engineer
Job Description:
To design, develop and improve software, utilizing various engineering methodologies, that provides business, platform, and technology capabilities for our customers and colleagues.
Basic / Essential Qualifications
- Strong programming experience in Java with hands‐on development work.
- 5–8 years of experience in backend development.
- Skilled in building robust REST APIs and microservices using Spring Boot.
- Experienced with Build tools like Gradle and maven and Vulnerability tools like Prisma and SonarQube.
- Creation and execution automated test scripts if required, leveraging testing frameworks and tools to facilitate early detection of defects and quality issues.
- Hands‐on experience with Apache Kafka, encompassing design, development, integration, and debugging.
- Hands on experience with MongoDB (CRUD, indexing, aggregation pipelines).
- Strong knowledge of MS SQL includes writing queries and performance tuning.
- Understanding of distributed systems, messaging, and data‐streaming patterns.
- Experience with version control (Git) and CI/CD pipelines and DevOps Practices.
- Good Debugging Skills and adhering to coding standards.
- Understanding of testing framework JUnit, Mockito.
- Willingness to support post deployment process.
- Experience working with any cloud AWS, Azure, GCP.
Desirable Skills (Good to Have)
- Experience with Test-Driven Development (TDD) and unit testing frameworks.
- Familiarity with containerization tools such as Docker and Kubernetes.
- Experience with monitoring/logging tools like ELK stack (Elasticsearch, Logstash, Kibana) and AppDynamics.
Key Responsibilities / Accountabilities
- Development and delivery of high-quality software solutions by using industry aligned programming languages, frameworks, and tools. Ensuring that code is scalable, maintainable, and optimized for performance.
- Cross-functional collaboration with product managers, designers, and other engineers to define software requirements, devise solution strategies, and ensure seamless integration and alignment with business objectives.
- Collaboration with peers, participate in code reviews, and promote a culture of code quality and knowledge sharing.
- Stay informed of industry technology trends and innovations and actively contribute to the organization’s technology communities to foster a culture of technical excellence and growth.
- Adherence to secure coding practices to mitigate vulnerabilities, protect sensitive data, and ensure secure software solutions.
- Implementation of effective unit testing practices to ensure proper code design, readability, and reliability.