Java Backend Developer - W2 only
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+80 more
Job description
We are seeking an experienced, hands-on Java Backend Developer to design, develop, test, and maintain scalable, secure, and high-performance backend applications. The ideal candidate will have strong programming skills in Java, practical experience developing RESTful APIs using Spring Boot, and a solid understanding of microservices architecture.
The candidate will work on distributed backend systems, implement event-driven communication using Apache Kafka, manage data using Cassandra and PostgreSQL, and secure applications through authentication and authorization mechanisms such as OAuth 2.0 and JSON Web Tokens (JWT).
This is a hands-on coding position that requires active participation in software development, code reviews, debugging, performance optimization, unit testing, and production issue resolution. The successful candidate will collaborate with architects, frontend developers, QA engineers, DevOps teams, and product stakeholders to deliver reliable and maintainable software solutions., 1. Java Development
- Design, develop, and maintain backend applications using Java.
- Write clean, reusable, maintainable, and efficient code following object-oriented programming principles.
- Apply Java concepts such as collections, exception handling, generics, streams, lambda expressions, multithreading, and concurrency.
- Implement business logic, data processing, validation, and application workflows.
- Identify and resolve coding defects, memory issues, and performance bottlenecks.
- Follow coding standards, design patterns, and software engineering best practices.
- Participate in peer code reviews and contribute to improving code quality.
- Spring Boot and REST API Development
- Develop backend services and RESTful APIs using Spring Boot and the Spring Framework.
- Build modular applications using dependency injection, Spring configuration, and reusable components.
- Implement request validation, exception handling, logging, and API response management.
- Integrate backend services with databases, messaging platforms, and external applications.
- Use Spring Data and related persistence frameworks to access and manage application data.
- Develop and maintain API documentation using tools such as Swagger or OpenAPI, where applicable.
- Troubleshoot API failures, improve response times, and ensure reliable service behavior.
- Microservices Architecture
- Design, develop, and maintain independently deployable microservices.
- Break down application functionality into modular services with clearly defined responsibilities.
- Implement communication between services using REST APIs and asynchronous messaging.
- Manage service dependencies, configuration, fault handling, and service resilience.
- Apply appropriate patterns for distributed transactions, retries, timeouts, and error handling.
- Support service discovery, centralized configuration, and API gateway integration where required.
- Ensure scalability, maintainability, availability, and performance across distributed systems.
- Apache Kafka and Event-Driven Architecture
- Develop event-driven applications using Apache Kafka.
- Implement Kafka producers and consumers to publish, subscribe to, and process events.
- Configure topics, partitions, consumer groups, and message serialization.
- Integrate Kafka with Spring Boot microservices using Spring for Apache Kafka.
- Handle message failures, retries, duplicate events, and offset management.
- Understand message ordering, delivery semantics, and idempotent processing.
- Monitor message processing, troubleshoot consumer lag, and improve throughput.
- Design asynchronous communication workflows that reduce tight coupling between services.
- Cassandra Database
- Design and implement data models using Apache Cassandra.
- Develop efficient queries using Cassandra Query Language (CQL).
- Understand partition keys, clustering columns, replication, and data distribution.
- Design schemas based on application access patterns and query requirements.
- Optimize read and write operations for high-volume, distributed workloads.
- Understand consistency levels, replication strategies, and fault tolerance.
- Troubleshoot database performance and support data-intensive backend applications.
- PostgreSQL Database
- Design and maintain relational database schemas using PostgreSQL.
- Write complex SQL queries, joins, subqueries, common table expressions, and aggregations.
- Implement database operations, constraints, indexes, and transaction management.
- Optimize queries using execution plans and appropriate indexing strategies.
- Integrate PostgreSQL with Java applications using Spring Data JPA, Hibernate, JDBC, or equivalent technologies.
- Maintain data integrity and consistency across application workflows.
- Troubleshoot database connectivity, query performance, and transaction-related issues.
- Authentication and Authorization - OAuth 2.0 and JWT
- Implement secure authentication and authorization mechanisms for backend applications.
- Integrate OAuth 2.0-based authentication and authorization flows with appropriate identity providers.
- Generate, validate, and process JWTs where applicable.
- Configure Spring Security to protect REST APIs and application resources.
- Implement role-based access control and permission validation.
- Secure endpoints against unauthorized access and validate token claims, expiry, and signatures.
- Understand access tokens, refresh tokens, scopes, and the distinction between authentication and authorization.
- Follow security best practices for credential management, token handling, and sensitive data protection., * Write unit tests using frameworks such as JUnit and Mockito.
- Develop integration tests for REST APIs, databases, and messaging components.
- Debug application errors and investigate failures across distributed services.
- Validate API functionality, database operations, authentication flows, and event processing.
- Participate in code reviews and address feedback from peers.
- Use appropriate testing strategies to prevent regressions and maintain application reliability.
- Collaborate with QA engineers to resolve defects and support release readiness., * Monitor application performance and investigate latency, throughput, and resource utilization issues.
- Troubleshoot production defects across APIs, microservices, Kafka consumers, and database integrations.
- Implement appropriate logging, metrics, tracing, and health checks.
- Improve application performance through code optimization, caching, query tuning, and efficient resource utilization.
- Support incident investigation, root cause analysis, and corrective action implementation.
- Contribute to system reliability, resilience, and operational stability.
- Collaboration and Agile Delivery
- Collaborate with technical architects, developers, QA engineers, DevOps teams, and business stakeholders.
- Participate in Agile ceremonies, including sprint planning, daily stand-ups, backlog refinement, and retrospectives.
- Estimate development effort, identify technical dependencies, and communicate delivery risks.
- Translate technical requirements into implementation tasks and deliver working software incrementally.
- Maintain technical documentation covering APIs, architecture, database design, and deployment procedures.
- Contribute to continuous improvement in development processes and engineering standards.
Requirements
Java
Core Java, OOP, collections, streams, exception handling, concurrency
Spring Boot
REST APIs, dependency injection, configuration, validation, Spring Data
Microservices
Service decomposition, inter-service communication, resilience, distributed systems
Apache Kafka
Producers, consumers, topics, partitions, consumer groups, retries
Cassandra
CQL, data modeling, partition keys, replication, consistency
PostgreSQL
SQL, joins, indexes, transactions, schema design, query optimization
OAuth 2.0
Authorization flows, scopes, access tokens, identity-provider integration
JWT
Token validation, claims, signatures, expiry, secure API access
Testing
JUnit, Mockito, unit testing, integration testing, debugging
Development tools
Git, Maven or Gradle, IDEs, API testing tools such as Postman
The tools listed in the final two rows are common expectations for this type of role; confirm which are mandatory with the client., * Bachelor’s or master’s degree in Computer Science, Information Technology, Software Engineering, or a related discipline.
- Professional experience developing and maintaining production-grade Java backend applications.
- Experience building and deploying Spring Boot microservices in enterprise environments.
- Familiarity with Docker, Kubernetes, CI/CD pipelines, and cloud platforms such as AWS, Azure, or Google Cloud.
- Understanding of API gateways, caching, distributed tracing, observability, and application monitoring.
- Knowledge of secure coding practices, application performance tuning, and distributed system design.
- Experience working in Agile/Scrum teams and participating in the complete Software Development Life Cycle (SDLC).
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Loading talks and stories from around this role…