Skip to main content

Java Architect - Microservices/Distributed Systems

Technology
Good Co
1 month ago

Job description

Role & Responsibilities:

  • Design and define scalable, secure, and high-performance application architectures using Java, Spring Boot, and modern enterprise technologies.
  • Lead the architecture and technical design of microservices-based and distributed applications.
  • Define technical standards, architecture principles, design patterns, coding standards, and best practices across development teams.
  • Translate business requirements into robust technical solutions and architecture designs.
  • Create and review High-Level Design (HLD) and Low-Level Design (LLD) documents.
  • Provide technical leadership and guidance to Java developers, senior engineers, and technical leads.
  • Evaluate and recommend appropriate technologies, frameworks, tools, and third-party solutions.
  • Design and optimize RESTful APIs, event-driven architectures, messaging systems, and integration solutions.
  • Ensure applications meet requirements for scalability, availability, performance, reliability, security, and maintainability.
  • Work closely with product managers, business stakeholders, DevOps, QA, security, and infrastructure teams.
  • Conduct architecture reviews, code/design reviews, and technical assessments to ensure adherence to defined standards.
  • Identify technical risks, architectural gaps, and opportunities for modernization and provide appropriate solutions.
  • Guide teams in cloud adoption and architecture using platforms such as AWS, Azure, or GCP.
  • Drive implementation of technologies such as Docker, Kubernetes, Kafka, Redis, relational databases, and NoSQL databases, where appropriate.
  • Establish and promote CI/CD, DevSecOps, observability, logging, monitoring, and automated testing practices.
  • Troubleshoot complex production and performance issues and provide root-cause analysis and long-term solutions.
  • Stay current with emerging technologies and evaluate their applicability to the organization's technology landscape.
  • Mentor engineering teams and contribute to building a strong technical culture.

Preferred Candidate Profile:

  • Bachelor's or Master's degree in Computer Science, Information Technology, Engineering, or a related discipline.
  • 8 - 10 years of experience in software development, technical leadership, solution design, or architecture, with strong hands-on experience in Java.
  • Strong expertise in Java/J2EE, Spring, Spring Boot, Hibernate/JPA, and REST APIs.
  • Strong understanding of microservices architecture, distributed systems, design patterns, and system design.
  • Experience designing and implementing high-volume, scalable, and fault-tolerant applications.
  • Hands-on experience with SQL and NoSQL databases and database architecture/performance optimization.
  • Good knowledge of Kafka or other messaging/event-streaming platforms.
  • Experience with AWS, Azure, or GCP and cloud-native application architecture.
  • Working knowledge of Docker, Kubernetes, CI/CD, Git, and DevOps practices.
  • Strong understanding of application security, authentication/authorization, API security, and secure coding practices.
  • Experience with performance tuning, profiling, caching, concurrency, and JVM optimization.
  • Strong analytical and problem-solving skills with the ability to resolve complex technical challenges.
  • Excellent communication and stakeholder-management skills.
  • Ability to explain complex technical concepts clearly to both technical and non-technical stakeholders.
  • Demonstrated ability to mentor engineers, influence technical decisions, and drive architecture across multiple teams.
  • Experience with Agile/Scrum development methodologies.
  • Architecture certifications such as AWS/Azure Solutions Architect, Java certifications, or TOGAF would be an advantage.
Keywords
CodingApache KafkaSpring FrameworkRedisThe Open Group Architecture FrameworkScalabilityDevOpsFault toleranceScrumSqlJavaJava Virtual MachineHibernateRelational grammarCI/CDCoding conventionsMaintainabilityHibernation

Interested in this role?