Software Engineer
jobs
Job Description
To be successful as a Software Engineer, you should have experience with:
- 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.
- Experience with Agile/Scrum methodologies and sprint planning.
- Ability to translate business requirements into technical solutions.
- Experience with Java based applications, Spring Framework 6+, Spring Boot 2 & 3.
- Hands on experience Java 8 or higher.
- Frameworks: spring framework, spring boot, spring batch.
- Should be able to analyze/stream/create logs using ELK..
- Code Quality: SonarQube, Prisma, Veracode.
- Testing Tool/Framework: JUnit, Mockito, karate and pitest, Mutation testing.
- Hand on experience for creating and maintaining restful web services.
- Database: Oracle / Microsoft SQL Server.
- API Documentation: Open API Specification, RAML..
- Implement microservices architecture with Spring Cloud (Gateway, Config, Discovery).
- Build tools like Maven, Gradle and Kotlin.
- Source control technology GitLab/Atlassian Bitbucket.
- CI/CD pipelines using Jenkins/GitLab CI.
- Analytical and problem-solving skills.
- Develop cloud-native applications with containerization (Docker, Kubernetes).
- Advanced Spring ecosystem (Boot, Security, Data JPA, Cloud).
- Code review and collaboration.
Some other highly valued skills may include:
- Proficiency in Docker containerization and hands-on experience with container orchestration platforms such as Amazon ECS/EKS or Kubernetes.
- Experience with Kafka/ActiveMQ or other message brokers for event-driven communication.
- DevOps knowledge with experience in tools like docker, OpenShift, Kibana, app dynamics and GitLab pipelines.
- Mentor development teams and ensure code quality.