#3669
Location
Estimated Start Date
Estimated Duration of Work
Senior Programmer Analyst – Richmond, VA 23230 (LOCAL and Mostly Remote)
At this time, candidates will need to come into the Richmond office at least once a month. Prefers local in state.
ST Pay Rate: $55 to $58 / hr
Work Location: Remote / Hybrid local to Richmond, VA 23230
Duration: One Year with annual renewals likely
We are looking for a Java Developer with experience in building high-performing, scalable, enterprise-grade applications.
You will be part of a talented software team that works on mission-critical applications. Java developer roles and responsibilities include managing Java application development while providing expertise in the full software development lifecycle, from concept and design to testing.
Minimum Requirements
- BS or equivalent degree in Computer Science or related subject
- 5+ years of hands-on Software Development experience in Java
- Web services design and development experience
- Object Oriented analysis and design using common design patterns.
- Familiar with Domain Driven Design concepts and patterns
- 3+ years of experience using JPA2/Hibernate, including HQL, JPQL, Hibernate Criteria, and JPA Criteria
- 3+ years of experience in the Spring Framework
- Knowledge of using Application Server like WebLogic
- Build and configure applications to meet business requirements
- Experience writing test code using Junit, Mockito, frameworks
- Experience using Git
- Interact with Web Services: SOAP & REST
Interpersonal Skills
- Strong written and verbal communication skills
- Ability to quickly adapt to changes
- Ability to work independently
- Preferred Requirements
- Knowledge of React library
- Knowledge of using Azure DevOps
- Experience using KAFKA
- Hands-on experience using Gradle
- Familiar with UI component libraries
- Knowledge of Micro Services, Containerization, Spring Boot
- Agile software development experience
Responsibilities
- Write well designed, testable, efficient code
- Ensure designs follow specifications
- Prepare and produce releases of software components
- Prepare technical standards, provide technical advice and guidance, and collaborate with other programmers to conceptualize and develop design
- Support continuous improvement by investigating alternatives
Investigate, debug, and fix software defects