About the job
We are seeking an experienced Java Backend Developer to join our dynamic team at Talworx. With a focus on innovative solutions, you will be responsible for building and maintaining robust backend systems. You will work collaboratively with front-end developers to integrate user-facing elements using server-side logic, ensuring high performance and responsiveness to requests from the front-end.
Key Responsibilities:
- Project Management: Design architecture diagrams, manage connection pooling, implement security measures, and configure application/web servers while ensuring effective logging and monitoring solutions.
- OOP Concepts: Utilize principles such as overloading, overriding, inheritance, polymorphism, encapsulation, and abstraction, alongside managing garbage collection and exception handling.
- Java 8 and Above: Engage with the Stream API, lambda functions, modules, collectors, functional interfaces, optional keyword, and various collections.
- Spring Framework: Develop new applications leveraging dependency injection, AOP, and stereotype annotations.
- Microservices Architecture: Adhere to REST standards, develop REST controllers, manage exception handling, and document APIs using Swagger/Open API.
- Application Security: Implement authentication mechanisms (Basic Auth, JWT, OAuth2) and manage public/private keys.
- Testing: Write unit tests with JUnit4/JUnit Jupiter and Mockito framework.
- Problem Solving: Utilize Stream API and lambda functions to address data structure and algorithm challenges.
- Clean Code Practices: Apply design patterns and principles like SOLID, KISS, DRY, and YAGNI.
Preferred Qualifications:
- Cloud Skills: Experience with AWS, Azure, GCP, or Pivotal Cloud Foundry.
- AWS Services: Familiarity with EC2, ALB, Lambda, S3, and other AWS services.
- Containerization: Proficient in Docker and Kubernetes.
- IaaC: Knowledge of Terraform or CloudFormation.
- Frontend Technologies: Experience with React, Angular, or Vue, along with proficiency in Bootstrap or SCSS.
- DevOps Tools: Understanding of Jenkins, GitHub, and CI/CD practices.
- Multithreading: Familiarity with Runnable, Callable, and Executor frameworks.
- ORM: Experience with JPA/Hibernate and managing entity relationships.
- Frontend Skills: Basic proficiency in HTML, CSS, and JavaScript.

