Responsibilities:
Application Development:
- Hands-on development in core Java, Spring, AWS services, and microservices architecture using Angular, REST, and related technologies.
- Participate in product development lifecycle, following standard methodologies, technology roadmaps, and best practices.
- Drive technical discussions, arbitrate design decisions, and recommend optimal solutions in a collaborative engineering environment.
- Influence better software design, promote engineering best practices, testability, security, and bug prevention strategies.
Testing & Quality:
- Write and maintain application features along with automated tests including unit tests, component tests, integration tests, and functional tests.
- Participate in application and test code reviews with the Scrum team to ensure high code quality.
- Collaborate with the team to improve test coverage, release velocity, and production health.
CI/CD & DevOps:
- Support the team in maintaining and improving CI/CD pipelines.
- Contribute to cross-functional activities including deployment, monitoring, and production support on a rotation basis.
Performance & System Optimization:
- Engineer large, complex systems with proficiency in multiprocessing, parallel computing, and low-latency programs.
- Perform profiling, performance tuning, and JVM optimization for scalable, high-performance applications.
- Handle both structured and unstructured data efficiently and design systems for streaming data using topics, WebSockets, and queues.
Collaboration & Mentorship:
- Coach team members, take ownership of deliverables, and contribute to organizational innovation.
- Work effectively with partners, project teams, and stakeholders in Agile or iterative development processes.
- Mentor junior engineers, promote adoption of best tools, and foster a high-performance team culture.