Job Summary:
As a Lead Java Developer, you will be responsible for leading a team of developers in the design, development, and maintenance of complex software systems. Your role will involve using advanced Java technologies, such as Spring Boot, Java 8, and Apache ActiveMQ, to build scalable and efficient applications. Additionally, you will be expected to design object-oriented solutions, such as a parking lot system, and lead the implementation of service-oriented architectures (SOA).
Key Responsibilities:
Lead Development Efforts:
- Lead the design and development of scalable Java applications using Spring Boot, Java 8, and core Java technologies.
- Architect and implement service-oriented architectures (SOA) that support the company’s business objectives.
- Provide technical leadership and mentorship to junior developers, guiding them in best practices and advanced coding techniques.
Advanced Java Programming:
- Utilize Java 8 features, including Stream API, lambda expressions, and functional programming, to write clean, efficient code.
- Implement multithreading and concurrency to optimize application performance.
- Develop and maintain collections and data structures that ensure optimal memory usage and processing speed.
System Design:
- Design complex systems and applications, such as a parking lot class system, to solve real-world problems with a focus on object-oriented design principles.
- Collaborate with stakeholders to gather requirements and translate them into technical specifications and design documents.
- Ensure that designs are scalable, maintainable, and aligned with industry best practices.
Integration & Messaging:
- Integrate Apache ActiveMQ for messaging and communication between distributed systems.
- Design and implement robust, fault-tolerant systems that can handle high volumes of transactions and data.
Collaboration & Communication:
- Work closely with cross-functional teams, including product managers, QA engineers, and operations teams, to ensure successful project delivery.
- Communicate complex technical concepts to non-technical stakeholders, ensuring alignment between business objectives and technical solutions.
Continuous Improvement:
- Stay up-to-date with the latest advancements in Java technologies and software development practices.
- Continuously refactor and improve codebases to enhance performance, scalability, and maintainability.
- Advocate for and implement best practices in code quality, testing, and deployment processes.
Qualifications:
- Bachelor’s or Master’s degree in Computer Science, Software Engineering, or a related field.
- 7+ years of experience in Java development, with a focus on Spring Boot, Core Java, and multithreading.
- Proven experience leading development teams and architecting complex software systems.
- Strong understanding of service-oriented architecture (SOA) and its implementation in large-scale systems.
- Proficiency in Java 8 features, including Stream API, lambda expressions, and functional programming.
- Experience with Apache ActiveMQ or similar messaging technologies.
- Excellent problem-solving skills and attention to detail.
- Strong communication skills, with the ability to work effectively in a collaborative team environment.
Preferred Skills:
- Experience designing object-oriented systems, such as a parking lot class system, from the ground up.
- Knowledge of additional messaging frameworks and technologies.
- Familiarity with DevOps practices and continuous integration/continuous deployment (CI/CD) pipelines.
- Experience in Agile development methodologies.
What We Offer:
- Competitive salary and benefits package.
- Opportunities for professional growth and development.
- A dynamic and collaborative work environment where innovation is encouraged.
- Flexible working hours.
To Apply: If you are a seasoned Java developer with leadership experience and a passion for cutting-edge technology, we want to hear from you!