Nava is a consultancy and public benefit corporation focused on modernizing government services. The Software Engineer will work on small teams to design, implement, and deliver scalable applications for government partners, with a focus on improving user experiences and modernizing legacy systems.
Responsibilities:
- Working with fellow Nava engineers to design, review, and build well-crafted software
- Collaborate with government partners and other contractors to architect, implement, and deploy new systems and improvements to existing systems
- Working in an agile manner to efficiently ship new features that meet user needs
- Creating tools and processes to automate our development, testing, and production workflows
- Writing and reviewing technical documentation, performing code reviews
- Participating in an on-call rotation to support production systems and investigate issues when they occur
- Taking part in hiring activities (e.g., submitting referrals, conducting interviews, and attending interview debriefs), as needed
Requirements:
- Ruby, Ruby on Rails, JavaScript
- At least 4 years of experience of full-stack engineering contributing development initiatives, in a fast paced, dynamic environment in a self directed manner, that required minimal supervision
- Meaningful experience working on web-based systems, both front-end and back-end
- Experience working on large-scale applications and systems
- An adaptive, empathetic, collaborative and positive mindset
- Ability to think holistically around engineering issues
- Knowledge of engineering fundamentals and architecture
- Expertise developing well-crafted software
- Excellent written and verbal communication skills, technical and otherwise
- Experience with modern web development frameworks
- Experience designing and implementing application architectures and code that is highly scalable, available, and performant
- Self-directed, requiring minimal supervision
- Ability to work with others on a team
- Previous experience as a software engineer
- Aptitude for giving and receiving feedback
- Experience with testing, specifically automated testing
- Knowing code quality tools such as Linter
- Experience with system design such as designing systems that will be sustainable with high usage, designing a front end and back end that talk to each other