What are the responsibilities and job description for the Java Lead/Specialist position at Amaze Systems?
Job Description -
The Opportunity:
- Lead the design and implementation of enterprise-grade Java applications using Kubernetes, Spring boot and other related technologies.
- Architect and design microservices that are scalable, resilient, and optimized for cloud environments.
- Provide thought leadership on the use of containers (Docker) and Kubernetes for container orchestration and deployment.
- Define best practices for building cloud-native applications, emphasizing scalability, security, and maintainability.
- Collaborate with stakeholders, including business analysts, product owners, and other architects, to understand requirements and translate them into technical solutions.
- Define and enforce standards for CI/CD pipelines, automation, version control, and code quality.
- Lead and mentor development teams, providing guidance on architectural decisions, coding standards, and performance optimizations.
- Ensure that systems are highly available, fault-tolerant, and performant, leveraging tools like Kubernetes, Docker, and cloud infrastructure.
- Design and implement API strategies (RESTful services, GraphQL, etc.) and integrate with various data sources (SQL/NoSQL).
- Work on cloud architecture and leverage cloud platforms (AWS, GCP, Azure) to optimize cost and performance.
- Conduct regular code reviews and architecture reviews to ensure adherence to technical and business requirements.
- Stay current with new technologies and trends in cloud-native development, containers, microservices, and distributed systems.
- This position description identifies the responsibilities and tasks typically associated with the performance of the position. Other relevant essential functions may be required.
What You Need:
- Experience: 8 years of professional software development experience, with at least 3-5 years in a leadership or architect role.
- Extensive experience with Java and Springboot for building scalable, maintainable backend systems.
- Proven experience designing and building microservices architectures and deploying them in cloud-native environments.
- Strong hands-on experience with containerization technologies (Docker) and orchestration tools like Kubernetes.
- Experience designing and implementing CI/CD pipelines and automated testing frameworks.
- Strong experience with cloud platforms (AWS, GCP, Azure) and deploying Java applications in cloud environments.
- Technical Skills: In-depth knowledge of Java 8 , Spring Boot, Spring Cloud, Spring Security, and related Spring technologies.
- Hands-on experience with containers (Docker) and Kubernetes for deploying and managing applications in production.
- Strong understanding of microservices architecture, API design (RESTful, GraphQL), and integration patterns.
- Solid experience with cloud infrastructure (AWS, Azure, GCP) and leveraging cloud-native services.
- Strong background in distributed systems, message queues, and event-driven architectures (e.g., Kafka, RabbitMQ).
- Expertise in database design and integration with SQL/NoSQL databases (e.g., MySQL, PostgreSQL, MongoDB, Cassandra).
- Familiarity with DevOps practices and tools (e.g., Jenkins, GitLab CI, Terraform, Ansible).
- Architectural and Design Skills: Ability to design highly scalable, available, and fault-tolerant architectures. Strong knowledge of architectural patterns (e.g., CQRS, Event Sourcing, Hexagonal Architecture).
- Familiarity with design principles such as SOLID, 12-Factor App, and Twelve-Factor App methodology.
- Experience in managing and optimizing large-scale distributed systems.
- Leadership and Communication: Excellent leadership skills, with experience in guiding, mentoring, and building high-performing teams.
- Ability to communicate complex technical concepts to both technical and non-technical stakeholders.
- Strong problem-solving skills and the ability to make data-driven architectural decisions.
- Experience in working with Agile development methodologies (Scrum, Kanban).
- Preferred Skills: Security: Experience with OAuth, JWT, and other security mechanisms for securing microservices.
- Monitoring & Logging: Familiarity with monitoring tools (e.g., Prometheus, Grafana) and logging platforms (e.g., ELK stack).
- Event-Driven Architectures: Experience with event streaming technologies like Apache Kafka, AWS Kinesis, or Google Pub/Sub.
- Performance Tuning: Strong background in performance optimization, profiling, and tuning Java applications.