Senior Java Developer Richmond, VA
Job Description
Basic Qualifications:
- 5+ years of work experience in a professional software development position.
- Demonstrated experience using Java 8, Spring 4/5, Spring Boot 1/2, JHipster and other advanced Java technologies.
- Demonstrated awareness of MVC/MVVM/MV* software patterns.
- Excited to work with modern JavaScript frameworks, libraries, and task runners like Angular 5+, webpack, npm, and beyond.
- Modern web stack experience, including both client and server side technologies (full stack).
- Solid experience in writing and tuning SQL, T-SQL and/or PL/SQL functions, procedures, and triggers.
- Working knowledge of AWS Aurora and other relational database technologies, including Oracle 12, SQL Server 2016, and MySQL.
- Possess a thorough understanding of the HTTP/HTTPS protocol.
- Comfortable with, and be able to thrive in, a fun, hardworking, ever-changing, and self-driven environment.
- Strong problem solving and analysis skills, self-motivated, and able to work in a team environment.
- Be a leader in the developer community within company and performs demo, knowledge sharing sessions.
Agile, DevOps and Cloud Requirements:
- Acts as expert for automated testing strategies, including TDD and ATDD.
- Working knowledge of creating microservices and RESTful API’s, including understanding of HATEOS, custom headers, and best practices.
- Understand advanced concepts of containers (Docker, Kubernetes), microservices, Continuous Integration, and Continuous Delivery.
- Develop highly scalable applications in AWS cloud using tools like Cloud Formation Templates, EC2, SWF, ELB, Lambda, S3, RDS/Dynamo DB and others.
- Identify and track key metrics produced by the application.
- Perform load and performance testing on the applications and have advanced troubleshooting ability to tune the application to scale.
- Experience with Git and Gitflow philosophies.