Sr java developer
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