Full Stack Developer




Location: Onsite – USA

Type: Full Time


This position will be responsible for developing and maintaining web applications for the Center’s sponsored research projects. This position’s primary responsibilities will be to work effectively in a dynamic Agile development team to solve the Center’s software engineering challenges. Some of these solutions are direct deliverables while others are tools built in support of deliverables. In every case, the development team seeks to build high quality, maintainable solutions and continually improve upon them. We generally expect our developers to be versatile and adaptable, but with a strength in one or more areas. For this position we seek someone with a strong background in writing SQL queries and modeling databases, but with the ability to learn quickly and apply themselves in any part of an application stack. Languages used in the stack may vary but JavaScript is pre-dominant and hence also a must-have skill for this position.

Essential Duties and Responsibilities:

  • Consistently deliver readable, maintainable and efficient code.
  • Troubleshoot programming problems independently and in peer groups.
  • Participate actively in Scrums, sprint planning meetings, and sprint retrospectives.
  • Rapidly mockup a proof-of-concept implementation of an idea and present to internal stakeholders.
  • Writing application test scripts and automating test executions.
  • Staying informed of new tools, libraries, and best practices and sharing ideas with the team for continuous improvement of the tool-chain and development process.

Minimum Qualifications:

  • An undergraduate degree in Computer Science and 5+ years of programming experience; or, 8+ years of programming experience.
  • A strong foundation in writing SQL scripts and modeling databases. Experience should come from more than one flavor of SQL.
  • A solid understanding of the JavaScript language and of the tools and code libraries commonly used for JavaScript development on the client and server-side.
  • An understanding of the fundamentals of REST APIs and the HTTP protocol.
  • Experience committing and merging code using GIT commands.
  • Proficiency with any of two other programming languages.
  • Proficiency with using the command-line on Linux systems.

Preferred Qualifications:

  • A basic understanding of the difference between RDBMS and the different variants of NoSQL databases that exist.
  • Experience developing with virtual machines using Vagrant and VirtualBox
  • Some experience with XML technologies such as XSLT, XPath, and XQuery
  • Some experience with shell scripting on Linux systems
  • Familiarity with writing Regular Expressions