Java Senior Software Engineer
Summary
Develops and maintains high-performance enterprise APIs using Java, Spring Boot, and microservices, ensuring scalability and reliability in a collaborative Agile environment.
Summary: The Java Senior Software Engineer is tasked with transforming software requirements into functional source code while significantly contributing to application systems analysis and programming. The primary goal of this role is to ensure high-performance enterprise-level API development aligned with business needs and customer experience.
Responsibilities:
- Responsible for understanding software requirements and developing them into a working source code.
- Contribute to application systems analysis and programming activities.
- Take ownership of applications, demonstrating critical thinking in design and clear communication.
- Deliver and support scalable, high-performance enterprise-level APIs.
- Implement enterprise systems while maintaining a focus on quality and customer satisfaction.
- Collaborate with business stakeholders, project managers, business analysts, and IT teams to gather business needs and requirements.
- Work within an Agile environment alongside software engineers and enterprise architects.
- Lead the entire development cycle, conducting design and code reviews, with influence throughout the process from requirements to deployment.
- Create technical system specifications, ensuring documentation is current during all SDLC phases.
- Identify opportunities for enhancements and process improvements, communicating status and risks to management.
- Research, design, develop, test, document, and implement new service APIs or modifications to existing services.
- Participate in test planning for integration and system testing.
- Continuously learn new software tools and technologies, mentoring other staff on technical topics.
- Support and maintain applications, ensuring they are scalable and operate efficiently in production.
- Be self-motivated and take initiative in tasks.
Must Haves:
- Java 8+ proficiency
- TDD, Unit Test, Mockito
- Spring and Spring Boot
- SOA / Microservices - Restful
- SQL, JDBC, JPA/Hibernate, SpringData
- Database experience with PostgreSQL or Oracle
Nice to Haves:
- BDD (Cucumber)
- Messaging frameworks like RabbitMQ, AMQP, JMS, KAFKA
Other Details:
- Environment: Agile
- Focus: High-performance enterprise-level APIs
Reason (Must Have):
- Java 8+: Required for developing modern applications, crucial for understanding the core functionality.
- TDD, Unit Test, Mockito: Essential for ensuring code quality and reliability through testing.
- Spring and Spring Boot: Necessary for building robust applications in a microservices architecture.
- SOA / Microservices: Critical as the role involves developing RESTful services that optimize performance.
- SQL, JDBC, JPA/Hibernate, SpringData: Vital for database interactions, supporting application data handling requirements.
- Database experience: Required to manage and work with data using PostgreSQL or Oracle effectively.
Reason (Nice to Have):
- BDD (Cucumber): Adds value by promoting collaboration between developers and non-developers through example-based development.
- Messaging frameworks: Useful for creating efficient and decoupled communication between services, enhancing application scalability.
Trust Score: Score: High Evidence: The job description is detailed with specific technical requirements, defined roles, and structured responsibilities, positively influencing sourcing clarity.
Sourcing Guidance / Clarifications Needed:
The job description provides good technical clarity for sourcing. Consider these potential recommendations to enhance the search:
- Recommendation: Look for candidates with experience in adjacent fields such as DevOps or Cloud Engineering alongside Java development.Rationale: These professionals often bring additional skills that enhance API performance and deployment strategies.
- Recommendation: Target candidates from industries heavily reliant on scalable microservices architecture.Rationale: Experience in such environments increases the likelihood of finding candidates familiar with the required technologies.
- Recommendation: Emphasize the importance of strong team collaboration and communication skills during screening.Rationale: As the role involves significant interactions with stakeholders and team members, these qualities are essential for success.