What are the responsibilities and job description for the Spring Boot Lead position at Alliance Sourcing Network?
Job Details
Locals preferred
Senior Developer
o Performs detailed design of complex applications and complex architecture components
o May lead a small group of developers in configuring, programming, and testing
o Fixes medium to complex defects and resolves performance problems
o Accountable for service commitments at the individual request level for in-scope applications
o Monitors, tracks, and participates ticket resolution for assigned tickets
o Manages code reviews and mentors other developers
Mandatory Skills Programming Languages: Strong proficiency in Java (8 ) and overall experience must be 8 Years. Frameworks: Extensive experience with Spring Boot and related Spring frameworks (Spring Data, Spring Security, etc.). Messaging Systems: In-depth knowledge of Apache Kafka (setup, topics, partitions, offsets, schemas, Kafka Streams, etc.). Distributed Systems: Solid understanding of distributed system architecture, scalability, and fault tolerance. Databases: Experience with both relational databases (e.g., MySQL, PostgreSQL) and NoSQL databases (e.g., MongoDB, Cassandra). APIs: Expertise in building RESTful and/or gRPC APIs. Cloud & DevOps: Experience with cloud platforms (AWS, Azure, Google Cloud Platform), containerization (Docker), and orchestration (Kubernetes). Version Control: Proficiency with Git and CI/CD pipelines. Strong problem-solving skills and ability to troubleshoot distributed systems.
Desired Skills Experience with Camunda or other BPMN tools for process modeling and workflow automation. Hands-on experience with Kafka Connect, Kafka Streams, or Confluent Platform. Knowledge of microservices architecture and tools like Istio, Envoy, or service mesh solutions. Familiarity with caching mechanisms (e.g., Redis, Memcached). Understanding of event-driven architectures and patterns. Exposure to monitoring tools like Prometheus, Grafana, or Elasticsearch.
Job Description: Java Spring Boot Developer with Kafka, Distributed Systems, and BPMN Tool Experience (Camunda)
Position Overview:
We are seeking a highly skilled and motivated Java Spring Boot Developer to join our dynamic team. The ideal candidate will have a strong background in Java development, hands-on experience with Spring Boot, expertise in Apache Kafka, and a solid understanding of distributed systems. Additionally, familiarity with BPMN tools such as Camunda is a highly desirable skill. In this role, you will design, build, and maintain high-performance, scalable, and reliable backend solutions that integrate seamlessly into our distributed application landscape.
Key Responsibilities: Application Development:
- Design, develop, and maintain backend applications and microservices using Java and Spring Boot.
- Ensure code quality through rigorous testing, peer code reviews, and adherence to best practices.
Kafka Integration:
- Design and implement real-time data pipelines and messaging solutions using Apache Kafka.
- Develop producer and consumer applications for distributed data streams.
- Optimize Kafka configurations for performance and scalability.
Distributed Systems:
- Design and build distributed systems that ensure fault tolerance, scalability, and high availability.
- Work with cloud platforms (e.g., AWS, Azure, Google Cloud Platform) to deploy and manage distributed applications.
BPMN Tool Integration (Nice to Have):
- Leverage Camunda or similar BPMN tools to model, execute, and optimize business processes.
- Develop and maintain workflows and integrate them with microservices and other backend systems.
- Support teams in automating workflows and aligning process management with business requirements.
Collaboration and Communication:
- Collaborate with cross-functional teams including product management, frontend developers, and DevOps.
- Translate business requirements into technical solutions and provide technical guidance.
Monitoring and Maintenance:
- Set up monitoring, logging, and alerting for backend services, Kafka pipelines, and BPMN workflows.
- Proactively identify performance bottlenecks and optimize system performance.
Continuous Improvement:
- Stay updated on the latest industry trends, tools, and technologies related to Java, Spring Boot, Kafka, distributed systems, and BPMN tools.
- Contribute to the improvement of development processes and team productivity.
Required Skills & Qualifications:
- Programming Languages: Strong proficiency in Java (8 ) and overall experience must be 8 Years.
- Frameworks: Extensive experience with Spring Boot and related Spring frameworks (Spring Data, Spring Security, etc.).
- Messaging Systems: In-depth knowledge of Apache Kafka (setup, topics, partitions, offsets, schemas, Kafka Streams, etc.).
- Distributed Systems: Solid understanding of distributed system architecture, scalability, and fault tolerance.
- Databases: Experience with both relational databases (e.g., MySQL, PostgreSQL) and NoSQL databases (e.g., MongoDB, Cassandra).
- APIs: Expertise in building RESTful and/or gRPC APIs.
- Cloud & DevOps: Experience with cloud platforms (AWS, Azure, Google Cloud Platform), containerization (Docker), and orchestration (Kubernetes).
- Version Control: Proficiency with Git and CI/CD pipelines.
- Strong problem-solving skills and ability to troubleshoot distributed systems.
Preferred Qualifications:
- Experience with Camunda or other BPMN tools for process modeling and workflow automation.
- Hands-on experience with Kafka Connect, Kafka Streams, or Confluent Platform.
- Knowledge of microservices architecture and tools like Istio, Envoy, or service mesh solutions.
- Familiarity with caching mechanisms (e.g., Redis, Memcached).
- Understanding of event-driven architectures and patterns.
- Exposure to monitoring tools like Prometheus, Grafana, or Elasticsearch.
Soft Skills:
- Strong communication skills to collaborate effectively across teams.
- Ability to work independently and manage multiple tasks in a fast-paced environment.
- A passion for learning and staying up-to-date with emerging technologies.
Educational Background:
- Bachelor's/Master's degree in Computer Science, Engineering, or a related field.