Engineer, Software

Huntsville, Alabama (US)
May 30, 2019
Jun 29, 2019
Education Level
Job Type
Relocation Cost

The Software Developer will produce computer applications to retrieve, process, analyze, display and distribute geospatial and non-geospatial information related to the SERVIR project. The individual will participate in all stages of development of the applications (collect user requirements, design solutions, document designs, write code, test, create documentation, train, maintain, etc.). Due to the nature of the SERVIR project, a significant portion of these applications will deal with scientific data in a geographic context, stored in a variety of data formats and data representation models. Prior experience dealing with this kind of information is strongly desired. Ability to understand user requirements and translate them into functional and non-functional specifications is key to the position, as well as willingness and desire for continuous learning of the underlying technologies in this area.

Essential Duties/Responsibilities:

Major Duties:

  • Collaborate with users, scientists, systems engineers and others to design and plan the development of computer applications, automation scripts and/or implementation of existing systems to satisfy user requirements.
  • Coordinate with the SERVIR science team to understand science requirements for software requirements development.
  • Document the design for software components based on user and/or system requirements.
  • Develop software according to system architecture and design specifications.
  • Assist developers in other teams of the SERVIR project to implement best practices for software development, such as testing and debugging procedures, technical documentation, quality assurance, etc.
  • Test and debug applications developed by his/herself as well as by other developers in the Project as needed.
  • Advise the SERVIR Science Coordination Office on the implementation of new technologies and tools.

Occasional Duties:

  • Train users to use new or modified systems and software development platforms
  • Prepare technical presentations
  • Organize and coordinate joint activities with counterparts in the SERVIR network
  • Perform other duties as assigned

Required Qualifications:


  • Bachelor's or Master’s degree in Computer Science focusing on Software Development or equivalent training/experience.


  • Intermediate Experience (2 or more years) on:
  • Relational database design & management (e.g., PostgreSQL, MySQL, MSSQL)
  • Web applications development, including standards and underlying software architecture (Server technologies: IIS, Apache, Tomcat. Web presentation languages: HTML, CSS. Data transfer languages: XML, json)
  • Server side scripting languages (e.g., PHP, .NET languages, Perl, etc.)
  • Client side programming with JavaScript
  • Basic experience (under 1 year) is desirable on:
  • Application development for mobile platforms (Android, iOS, Windows)
  • Scientific/statistical data presentation through interactive charts (e.g., plotly.js, chart.js, D3.js, Google Charts, etc.)
  • Responsive design frameworks
  • Some earth science geospatial data analysis experience
  • Basic knowledge/awareness of:
  • Geographic Information Systems (GIS)
  • Web mapping technology
  • Geospatial data processing/data management
  • Geographic information API’s (e.g., Google Maps, ArcGIS API for JavaScript, MapLayers, Mapbox, or others)
  • Math, statistical & scientific data processing automation (using libraries, packages or tools such as SciPy, NumPy, ArcPy, R, Math.NET, MatLab, etc.)
  • Raster data including processing of temporal datasets

Knowledge, Skills & Abilities:  

  • Extensive knowledge of multiple operating systems
  • Extensive knowledge of multiple programming languages
  • Extensive knowledge of multiple software development platforms
  • Functional understanding of cloud technologies
  • Excellent verbal and written communications skills
  • Willingness to work closely with others in a team environment
  • Discipline and initiative
  • Planning/organization


  • Proficiency in Microsoft Office and its applications.

Working Conditions:

Work will be performed in an office or computer lab environment.  While performing the duties of this job, the employee is frequently required to stand; walk; sit; talk or hear.  Keyboarding for large time spans each day may be a significant part of this position.


1-2 times per year.

Applicants should apply to the posting at Additional information on USRA can be found at

USRA is an Equal Opportunity Employer: Minorities / Females / Protected Veterans / Disabled / Sexual Orientation / Gender Identity.