Sr java developer

OVA.WorkAlpharetta, United States
Full TimeOn-siteMidLimited info disclosed
8 views0 applications

Description

Senior Java Developer - Job Description

Position Overview

We are seeking an experienced Senior Java Developer to join our dynamic development team. The ideal candidate will be responsible for designing, developing, and maintaining high-quality Java applications while mentoring junior developers and contributing to technical architecture decisions.

Key Responsibilities

Technical Development

Design and develop scalable, high-performance Java applications using Spring Framework Write clean, maintainable, and well-documented code following best practices Implement RESTful APIs and microservices architecture Develop database schemas and optimize database queries Integrate third-party APIs and services Implement unit tests, integration tests, and automated testing strategies Perform code reviews and ensure code quality standards

Architecture & Design

Participate in system architecture design and technical decision-making Design and implement scalable solutions for complex business requirements Evaluate and recommend new technologies and frameworks Create technical specifications and design documents Ensure application security best practices are followed

Team Leadership

Mentor junior developers and provide technical guidance Collaborate with cross-functional teams including Product, QA, and DevOps Participate in agile development processes (Scrum/Kanban) Lead technical discussions and knowledge sharing sessions Assist in project planning and estimation

Quality Assurance

Implement and maintain CI/CD pipelines Perform debugging and troubleshooting of production issues Monitor application performance and implement optimizations Ensure code coverage and quality metrics are met Participate in production deployments and releases

Required Qualifications

Education

Bachelor's degree in Computer Science, Software Engineering, or related field Master's degree preferred but not required

Experience

5+ years of professional Java development experience 3+ years of experience with Spring Framework (Spring Boot, Spring MVC, Spring Security) Experience with microservices architecture and distributed systems Proven track record of delivering complex software projects

Technical Skills

Core Technologies

Java 8+: Advanced knowledge of Java programming language Spring Framework: Spring Boot, Spring MVC, Spring Security, Spring Data JPA Database: SQL (MySQL, PostgreSQL, Oracle), NoSQL (MongoDB, Redis) Build Tools: Maven, Gradle Version Control: Git, GitLab/GitHub

Additional Technologies

Web Technologies: HTML, CSS, JavaScript, jQuery, Angular/React (nice to have) Testing: JUnit, Mockito, TestNG, Selenium DevOps: Docker, Kubernetes, Jenkins, AWS/Azure/GCP Message Queues: RabbitMQ, Apache Kafka Monitoring: ELK Stack, Prometheus, Grafana

Methodologies & Practices

Agile/Scrum development methodologies Test-Driven Development (TDD) Continuous Integration/Continuous Deployment (CI/CD) Code review processes Performance optimization techniques

Preferred Qualifications

Technical Experience

Experience with cloud platforms (AWS, Azure, GCP) Knowledge of containerization and orchestration (Docker, Kubernetes) Experience with event-driven architecture Familiarity with GraphQL Experience with GraphQL APIs Knowledge of security best practices (OWASP)

Soft Skills

Strong problem-solving and analytical skills Excellent communication and collaboration abilities Leadership and mentoring capabilities Ability to work in a fast-paced, dynamic environment Strong attention to detail and quality Proactive and self-motivated approach

Responsibilities by Level

Senior Level (5-7 years)

Lead development of complex features and modules Mentor junior developers Participate in architectural decisions Optimize application performance Implement best practices and coding standards

Lead Level (7+ years)

Drive technical strategy and architecture Lead development teams Make high-level technical decisions Represent technical team in stakeholder meetings Define and implement development processes