Job
Description
As a Software Engineer in this role, you will be responsible for writing high-quality code, participating in code reviews, and designing/architecting systems of varying complexity and scope. You will work on the web application layer, backend, systems, streaming, and other associated technology to build our product and components. It will be your responsibility to establish and implement best practices across an engineering team to ensure high quality and consistent agile delivery. Additionally, you will scale distributed applications, make architectural tradeoffs applying synchronous and asynchronous design patterns, write code, and deliver with speediness and quality. You will also optimize APIs for any applications while creating and maintaining unit tests for new code as well as fix defects. Furthermore, you will participate in the continuous integration of automated builds and deployments, ensuring that deliverables meet functional and design requirements and specifications of the site/software. You will collaborate with engineering leadership in solving and architecting solutions for challenging or complex site/software development issues. Qualifications Required: - 8+ years of relevant hands-on software engineering experience in designing, building, and testing Java EE applications - 1+ years of experience being a lead developer or technical lead or similar position where you lead a team of developers/engineers - In-depth knowledge of popular Java frameworks like Spring MVC/Spring Boot - Experience with Object-Oriented Design (OOD) - Knowledge of working on cloud technologies and exposure to AWS services (EC2, RDS, S3, etc.) - Experience in designing and implementing scalable solutions in a large-scale distributed environment - Strong knowledge of RDBMS and any other NoSQL database technologies (e.g., MySQL, MongoDB) In addition to the above requirements, it is essential to have experience in architecting solutions for challenging or complex development issues. As a Software Engineer in this role, you will be responsible for writing high-quality code, participating in code reviews, and designing/architecting systems of varying complexity and scope. You will work on the web application layer, backend, systems, streaming, and other associated technology to build our product and components. It will be your responsibility to establish and implement best practices across an engineering team to ensure high quality and consistent agile delivery. Additionally, you will scale distributed applications, make architectural tradeoffs applying synchronous and asynchronous design patterns, write code, and deliver with speediness and quality. You will also optimize APIs for any applications while creating and maintaining unit tests for new code as well as fix defects. Furthermore, you will participate in the continuous integration of automated builds and deployments, ensuring that deliverables meet functional and design requirements and specifications of the site/software. You will collaborate with engineering leadership in solving and architecting solutions for challenging or complex site/software development issues. Qualifications Required: - 8+ years of relevant hands-on software engineering experience in designing, building, and testing Java EE applications - 1+ years of experience being a lead developer or technical lead or similar position where you lead a team of developers/engineers - In-depth knowledge of popular Java frameworks like Spring MVC/Spring Boot - Experience with Object-Oriented Design (OOD) - Knowledge of working on cloud technologies and exposure to AWS services (EC2, RDS, S3, etc.) - Experience in designing and implementing scalable solutions in a large-scale distributed environment - Strong knowledge of RDBMS and any other NoSQL database technologies (e.g., MySQL, MongoDB) In addition to the above requirements, it is essential to have experience in architecting solutions for challenging or complex development issues.