Overview
We are looking for an analytical, results-driven lead back-end developer who will work with our product, business and development team to troubleshoot and improve current back-end applications and processes, along with leading our team of backend developers. In this role you will use your understanding of programming languages and tools to analyze current code and industry developments, formulate more efficient processes, solve problems, and create a more seamless experience for AutoRentals customers. You should have excellent communication, computer, and project management skills. You will be comfortable leading a team of senior developers to become more efficient and effective developers.
To succeed in this role as a lead backend developer, you should have a collaborative, team player mindset, and enjoy working with a diverse team that is focused on building a better, more efficient program and creating a better end-user experience.
Requirements
Responsibilities:
- Design and implement Java applications that fulfill specified requirements
- Create well-written, structured and efficient/performant code
- Write unit and integration tests and debug as necessary
- Analyze code using performance benchmarking tools
- Plan, design, code and debug web applications in Java using the Spring and Spring Boot frameworks
- Communicate with business and executive users as needed
- Troubleshoot issues based on log data and other metrics
- Collaborate with software engineers to ensure that code is of the highest quality
- Work with product managers and designers to ensure the software is designed well and meets user needs
- Mentor team of backend developers of varying skillset, from junior through senior level.
- Hold weekly backend team meetings where you teach up-and-coming technologies and ensure the team is following proper code procedures.
- Take remedial action with team members as needed.
- Lead code review sessions.
Requirements:
Bachelor’s degree in computer science or related field, or equivalent work experience
- 7+ years of experience in Java development with Spring and Spring Boot
- Expert knowledge of Java web applications and MicroService architecture.
- 7+ years of experience with GCP and AWS architectures.
- 5+ years of experience managing and administering Kubernetes in GCP.
- 5+ years of experience using Snowflake as a data warehouse with both ETL and ELT processes.
- 5+ years building and maintaining home-grown CRM and CMS systems.
- Expert in Java 8+, Spring, Spring Boot, Spring Data Jpa, Hibernate, Spring MVC, AMQP
- Expert knowledge of Redis caching technology and its use in Spring Boot applications
- Expertise developing enterprise-level and customer facing web applications as well as RESTful APIs using MicroServices
- 5+ years of experience with Thymeleaf templating.
- 5+ years of experience with Message Brokers and Message Queues and their use for loose coupling and asynchronous communication of Microservices and applications using RabbitMQ
- Expertise working with tools like Git, Maven, Nexus
- Expert knowledge of relational databases (MySQL, PostgreSQL) and senior-level SQL, including the ability to optimize complex queries.
- Expert knowledge with linux/unix command line and Python
- Excellent analytical, problem-solving, and troubleshooting skills
- Strong experience in a Kanban development environment
- 2+ years of experience using Jira and Confluence
- Strong collaboration and communication skills within distributed project teams
- Ability to work directly with frontend developers and speak in React
- Excellent written and verbal communication skills
- Passion to stay on top of the latest trends and technologies
- Excellent personal time management skills