Description:
We are seeking a skilled Principal Software Engineer, who can also manage a small team of developers in our development team. The ideal candidate will have a strong background in SDLC and Java-related technologies.
Responsibilities
- Consistently write, translate, and code software programs and applications according to specifications
- Enhance, modify, and repair existing code
- Code, test, and implement configuration changes to software applications to meet both functional and technical requirements
- Will be involved in the full software development life cycle in coordination with other engineers, QA, and designers and should be confident and adept in articulating ideas in a clear, well thought out manner
- Generate innovative ideas and support new ideas or approaches that enhance service
- Assist in the preparation and documentation of program requirements and specifications
- Participating in requirements debriefing and finalizing requirements
- Participate in root-cause analysis, communicate options for resolution and provide recommendations to customer-facing technology problems
Education & Required Skills
- At least a bachelor’s degree in software engineering or in a relevant field.
- Must have at least 8+ years hands-on coding experience
- Java (Advanced): Java 8+, Stream APIs, Collections, Concurrency
- Frameworks: SPRING(MVC,Boot,cloud,Data), Hibernate/JPA.
- Databases: MySQL, PostgreSQL, MongoDB/NoSQL.
- Cloud: Docker, Kubernetes, Azure/Cloud Platform experience, API Gateway, Service Registry
- Messaging/Caching: RabbitMQ, Redis
- Testing: JUnit5, Mockito
- Template Engine: Velocity, Thymeleaf
- Frontend Technologies:j Query/JavaScript, React, Angular.
- Observability: Prometheus, Grafana, ELK Stack, Distributed Tracing.
- API Documentation: OpenAPI/ Swagger.
- Experience in AI/ML will be a plus.