Cofense: Java Software Engineer, III
via We Work Remotely
Headquarters: Washington DC
The Java Software Engineer III is responsible for wearing multiple hats from viewing the architectural approach with a critical eye, making implementation decisions, and proactively communicating this with the team.
- Understanding the approach and design decisions and creating an implementation that supports overall design
- Working with other engineers on the team, particularly more junior engineers through pair programming, open communications, and collaboration
- Actively participate in our Agile development lifecycle, including planning and grooming, stand-up, and retrospectives
- Proactively perform code reviews, give feedback, and ask questions
- Actively participate on one to two scrum teams including sprint and release related meetings such as planning, grooming, reviews and retros.
- Own (along with team) all aspect of the application, including quality, performance testing, and production support.
- Work with other members of the team in a proactive fashion, especially any junior programmers, mentoring as necessary.
- Other duties as assigned
- Full stack JAVA development experience, from backend systems to user interfaces as necessary
- Knowledge and experience using AWS services, such as EC2, RDS, and Fargate
- Knowledge and experience using Spring, Hibernate, jUnit, Mockito
- Knowledge and experience using relational database systems especially PostgreSQL preferred
- Ability to comfortably develop code for and debug remote systems
- Collaborates with others, capable of working constructively with a group of people that have different skill sets and interests
- Ability to take ownership of and effectively communicate implementation decisions at various levels
- Ability to work independently and take initiative as a member of a dynamic and fast-moving team
- Been an active member of an Agile team (running Scrum and Kanban) preferred
- Knowledge of Docker preferred
- DevOps Chops preferred (Gitlab CI, Jenkins, Gradle, bash)
- Experience working with RESTful APIs with particular attention to security, scalability, availability, and performance.
- Experience and comfort developing large scale distributed applications in a microservices architecture using Java 11+ (Streams, Serialization, Multi-Threading, Annotations)
- Experience with Microsoft Exchange / EWS a plus