Reporting to the Senior Manager of Software Engineering, the Software Engineer III is responsible for having ownership of major product components, the development process, and development methodology.
Knowledge, Skills and Abilities Required
- A self-starter who is willing to take a task from gathering requirements to deployment and maintenance
- Able to lead, mentor, communicate, collaborate, and work effectively in a distributed team
- Ability to work independently and take initiative as a member of a dynamic and fast-moving team.
- Knowledge of software development processes and tools
- Knowledge and experience using Spring and dependency injection in general.
- Knowledge and experience using JPA / Hibernate.
- Knowledge and experience using relational database systems especially PostgreSQL and MySQL.
- Knowledge and experience using Elasticsearch as a developer..
- Ability to comfortably do full stack development from backend systems to user interfaces as necessary preferred.
- Knowledge and experience using Python in a production environment.
- Ability to work with remote, distributed teams.
- Ability to be on-call as part of the team’s rotating support schedule
- Familiarity and experience with Agile process preferred
- Linux OS system expertise for core concepts and subsystems preferred
- Collaborate with multi-functional teams in multiple locations
- Happy to travel occasionally for team meetings and events
- Architect and build solutions to lead the team to create core product features.
- Provide key leadership to development teams
- Develop and prototype new product concepts
- Lead development teams in designing and building software with cross platform (Windows, Mac, Linux) deliverables
- Own features from design to delivery including participation in product demonstrations
- Other duties as assigned
The above statements are neither intended to be an all-inclusive list of the duties and responsibilities of the job described, nor are they intended to be a listing of all of the skills and abilities required to do the job. Rather, they are intended only to describe the general nature of the job. This job description is not a contract of employment, either express or implied. Employment with Cofense will be voluntarily entered into and your employment is considered at will. Cofense reserves the right to alter the job description at any time without notice.
Education and/or Experience:
- 8+ years in Software Development, at least 4+ years in Java development
- Professional experience designing, developing, testing, debugging and shipping high quality software
- Experience leading teams to ship major features and releases
- Experience and comfort developing large scale distributed applications using Java (core, concurrency, threading)
- Experience with Infrastructure as Code (Terraform, Ansible)
- Experience using AWS Services
- Experience building services using Node.js preferred.
Cofense is committed to equal employment opportunity. We will not discriminate against employees or applicants for employment on any legally recognized basis [protected class] including, but not limited to: veteran status, uniform service member status, race, color, religion, sex (including pregnancy), gender identity, sexual orientation, national origin, age, physical or mental disability, marital status, genetic information or any other status or characteristic protected by applicable national, federal, state or local laws and ordinances. We adhere to these commitments in all aspects of employment, including recruitment, hiring, training, compensation, promotion, benefits, and discipline.