Software Engineer (DC, SF, NYC, Remote)
Nava partners with government to deliver mission-critical software that helps public institutions earn people’s trust. As a public benefit corporation, Nava is driven not just by profit, but also by our mission to build government software that well serves the American public. We ask the right questions to help civil servants and other contractors work effectively on complex systems in multi-stakeholder environments.
You will work on an integrated cross-functional team to support ongoing modernization efforts for the Medicare Claims ecosystem. This work includes determining how to modernize legacy systems, implement DevOps best practices, and promote agile practices.
You can work remotely, or from one of Nava’s offices in DC, SF, or NYC.
Opportunities and Challenges
- You will be working within the government ecosystem, which means working, sometimes closely, with other government contractors and civil servants. Working with people outside of your company means you’ll likely encounter different working styles and cultural norms. At the same time, working as part of a larger team allows us to deliver on projects of larger scale and complexity.
- The government also imposes a level of bureaucracy that is typically not present in a company of our size in the private sector. We operate in a regulated environment, where checks and compliance is built into the process of building software. This can make the path to production slower and some decisions, such as tools and processes, lie outside of our control. However, beyond writing code, finding and recommending ways to improve the way government software is built is one of the highest-leverage ways we help fulfill our mission.
- You will be working with legacy systems. While our work is to build new systems with up-to-date technology, we have to do that within an existing ecosystem. Our work is building functional, resilient software for production. We don’t build flashy prototypes that don’t work for real people. This usually means getting to know legacy systems, often with poor documentation and unreliable narrators, and trying to determine how to replicate the systems’ behavior or how to integrate with these systems. This is a great opportunity for engineers who enjoy software archaeology. If you care deeply about how software systems work over time, and building systems for longevity and resilience, this work is for you.
Who we’re looking for
- You are a reliable, experienced engineer who cares deeply about building software that makes a real difference in people’s lives, and is keen to grapple with the complexities and trade-offs involved in building government software. You prefer using proven technologies to build well-designed systems that are scalable, performant, and secure.
- You enjoy working on cross-functional teams, and collaborating with others, and you are able to direct yourself and work independently. You have empathy for the people who rely on your work, and you care about how your behavior affects others. You are humble and you value critical feedback and personal growth. You are comfortable receiving and giving kind, candid feedback.
- Beyond coding ability, communication and teamwork skills are paramount. You must be able to communicate clearly and professionally in writing, in person, and through online tools, especially because we work with government stakeholders and other contractors.
- You exhibit good judgment and are able to adapt to new situations well. You may encounter situations that no one on your team or at Nava has encountered before. You take responsibility and are able to persist through ambiguity to get to a solution.
- 2+ years experience developing software in a team environment, preferably building medium to large-scale systems.
- 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.
- Collaborate with the product team, government stakeholders, and other contractors to build new systems and make improvements to existing systems.
- Design and spec out major functionality.
- Participate in planning and breaking down requirements into tasks.
- Maintain production systems, handle on-call duties, and systematically debug and resolve issues when they occur.
- Review code and give feedback on technical specs.
- Make improvements by proposing new tools and practices.
Things that are not important to us
- Whether or not you have a CS or engineering degree (or any degree).
- Whether or not you have Github contributions. (It’s great if you do, but we don’t expect it.)
- Whether or not you have worked at a well-recognized company.