The Role
Lead the development team in Java best practices, design software architecture, optimize application performance, mentor team members, collaborate with stakeholders, and continuously improve technical solutions. Requires expertise in Core Java, Spring Boot, advanced programming principles, API development, architecture design, database knowledge, testing advocacy, AWS services, DevOps practices, and Agile methodologies.
Summary Generated by Built In
- Technical Leadership: Provide guidance and leadership to the development team in Java best practices and design patterns.
- Architecture and Design: Lead the design of software architecture and ensure Java solutions meet project requirements. Responsible for anticipating and identifying technical impediments and solving them with architecture design, technology choices, or prioritization.
- Code Reviews: Oversee code reviews, maintain code quality, and mentor team members.
- Performance Optimization: Optimize Java applications for performance, scalability, and efficiency.
- Team Collaboration: Foster teamwork, facilitate communication, and encourage knowledge sharing among team members.
- Mentoring and Training: Mentors and coaches the technical team, specifically with code reviews, pair programming, etc.
- Client/Stakeholder Communication: Interact with clients or stakeholders, provide technical insights, and offer solutions to meet project goals.
- Works with the Product Owner to align the roadmap with strengths and opportunities within the existing architecture.
- Co-creates engineering practices, coding style guidelines, testing approach, etc.
- Constantly looking for better ways to solve technical problems and design solutions, not afraid of challenging the status quo.
- Expertise in Core Java: Demonstrable experience in Core Java is essential, providing the foundation for technical leadership.
- Spring Boot: Proficiency in Spring Boot, a popular Java framework for building microservices, is required.
- Advanced Programming Principles: Knowledge of advanced object-oriented programming principles like SOLID is necessary for guiding the development team effectively.
- API Development: Significant experience in designing and using RESTful APIs, GraphQL APIs, asynchronous message queues, and services.
- Architecture Expertise: Proven experience in building and maintaining large-scale distributed architectures, particularly microservices-based architectures.
- Database Knowledge: Familiarity with both relational databases (e.g., Postgres, MySQL, Oracle) and NoSQL databases (e.g., Redis) is crucial for making informed architectural decisions.
- Testing Advocacy: A commitment to promoting the writing of effective unit, integration, and API contract tests for maintaining code quality.
- AWS Knowledge: Required knowledge of AWS tools, including ECS (Elastic Container Service), Cloudwatch, Lambda, RDS (Relational Database Service). AWS certification is a significant advantage.
- DevOps Proficiency: Comfort with modern DevOps best practices and tools, such as Kubernetes, Terraform, CI/CD (Continuous Integration/Continuous Deployment), and ElasticSearch.
- Experienced in Agile Development methodologies
Top Skills
Java
The Company
What We Do
Makro PRO is an exciting new digital venture by the iconic Makro. Our proud purpose is to build a technology platform that will help make business possible for restaurant owners, hotels, and independent retailers, and open the door for sellers. Makro PRO brings together the best talent across multi-nationals to transform the B2B marketplace ecosystem. We welcome bold, energetic, and thoughtful people who share our belief in collaboration, diversity, excellence, and putting customers at the heart of our work.