- Writing high-quality code, participating in code reviews, designing/architecting systems of varying complexity and scope
- Work on the web application layer, backend, systems, streaming and other associated technology to build our product and components
- Establish and implement best practices across an engineering team to ensure high quality and consistent agile delivery
- Scale distributed applications, make architectural tradeoffs applying synchronous and asynchronous design patterns, write code, and deliver with speediness and quality
- Optimize APIs for any applications while creating and maintaining unit tests for new code as well as fix defects
- Participate in the continuous integration of automated builds and deployments, ensuring that deliverables meet functional and design requirements and specifications of the site/software
- Work with engineering leadership in solving and architecting solutions for challenging or complex site/software development issues
Requirements
- 8+ years of hands-on software engineering experience in designing, building, and testing Java EE applications, along with 2+ years of experience managing an engineering team, including performance appraisals, mentoring, and leading developers.
- Knowledge of popular Java frameworks like Spring MVC/Spring Boo
- Experience with Object-Oriented Design (OOD)
- Knowledge of working on cloud technologies and exposure of AWS services (EC2 RDS, S3 etc
- Experience in designing and implementing scalable solutions in a large-scale distributed environment
- Robust knowledge of RDBMS and any other NoSQL database technologies (Mysql, MongoDB)