Responsibilities
- Create and sustain server-side applications, APIs, and microservices using Java with frameworks such as Spring Boot or Jakarta EE.
- Build RESTful interfaces with a focus on speed, efficiency, and secure data exchange.
- Manage intricate data processing workflows and middleware operations within API interactions.
- Oversee API lifecycle management, including version control, backward compatibility, and technical documentation using OpenAPI tools like Swagger and Postman.
- Produce readable, modular, and thoroughly documented source code.
- Architect scalable, distributed, and resilient system designs capable of handling high loads.
- Lead and participate in system design reviews to align technical implementation with business objectives.
- Apply software design methodologies including Domain-Driven Design, Event-Driven Architecture, and CQRS patterns.
- Develop well-structured relational database schemas using PostgreSQL, MySQL, or H2.
- Improve query execution and indexing strategies using performance analysis tools.
- Utilize NoSQL databases such as MongoDB, Cassandra, or Couchbase for scalable and rapid data access.
- Construct data pipelines and ETL workflows for both real-time and batch data processing.
- Implement data access layers using ORM technologies like Hibernate or JPA.
- Detect and eliminate performance issues in backend infrastructure.
- Integrate caching mechanisms using Redis, Memcached, or equivalent technologies.
- Analyze application performance with profiling tools such as JProfiler, YourKit, or VisualVM.
- Enforce secure user authentication and authorization using standards like OAuth2, JWT, and SAML.
- Protect backend services from known security threats, including those listed in the OWASP Top 10.
- Conduct routine security evaluations, penetration testing, and dependency vulnerability scans.
- Develop and maintain automated test suites including unit, integration, and end-to-end tests using JUnit, Mockito, or TestNG.
- Work closely with quality assurance teams to ensure full test coverage.
- Embed automated testing within continuous integration and delivery pipelines.
- Deploy and manage services on public cloud platforms such as AWS, Azure, or Google Cloud.
- Use containerization with Docker and orchestrate deployments via Kubernetes.
- Establish and maintain CI/CD workflows using Jenkins, GitHub Actions, or GitLab CI