Header

National Democratic Institute Software Engineer


The software engineer will develop and maintain software applications for NDI democracy programs around the world and for internal business applications. The ideal candidate is versatile and likes to work in a very dynamic environment on several projects in parallel. This position requires an engineer who is passionate about new technologies, who keeps current with software development trends, and who has the ability to not only code but also advise NDI staff and partners on using technology to meet objectives and to solve problems.
1. Works with project teams to advise on technology tools and approaches for NDI's democracy assistance programs
2. Works with strategic and design staff
3. Develops, supports and maintains Drupal websites
4. Builds mobile and web microsites
5. Participates in the coding stages of an iterative software engineering life-cycle
6. Develops, supports and maintains web-based databases
7. Develops, supports and maintains SMS and IVR integration into web apps
8. Develops, supports and maintains mapping and other data visualization applications
9. Follows team documentation, tech policies and procedures
10. Documents all code and related work
11. Follows best practices in agile and iterative software development
12. This position is based in Washington, DC; occasional international travel may be required
Required Experience:
1. BS/BA in Computer Science, Engineering or related technical degree
2. Minimum of eight (8) years relevant experience with preferable experience in computer programming in a university, professional or related setting
3. Drupal CMS experience required, experience with multilingual implementations a plus
4. Relational database experience required, including MySQL
5. Linux expertise required
6. Two (2) years web programming skills, PHP, JavaScript required
7. Experience with mapping and GIS applications required
8. Microsoft .NET and Symfony, ASP, Ruby on Rails, Python experience strongly preferred
9. Experience with mobile phone development (Android, iOS) and SMS applications preferred
10. User experience background preferred
11. Communications skills to effectively present information, respond to questions
12. Fluency in written and spoken English. Additional language skills preferred