Period of Performance: 2/13/2013 through 2/12/2014
Permission to work in the United States is required; U.S. citizenship is preferred
All candidates must be able to pass a National Agency Clearance with Inquires (NACI) screening
The Earth Observation System Data and Information System (EOSDIS) is a core capability in NASA’s Earth Science Data Systems Program. EOSDIS provides end-to-end capabilities for managing NASA’s Earth science data from various sources – satellites, aircraft, field measurements, and various other programs. For the EOS satellite missions, EOSDIS provides capabilities for command and control, scheduling, data capture and initial processing.
A software developer (operations) is needed to support the operations on NASA’s EOSDIS Evolution & Development (EED) program, which involves support operations for the EOSDIS User Registration System (URS). The URS provides a uniform mechanism for registering and authenticating users for access to EOSDIS data so information about these accesses can be provided to report statistics about user interests and access patterns including the number of users, type and amount of data archived, type and amount of data distributed. The URS also enables status change notifications to users regar ding availability of EOSDIS data and services.
The Senior Software Developer (URS Dev-Ops) must be able to work effectively in a small team environment to ensure the URS operational system reliably supports this community. The software developer should be able to execute triage activities to determine the cause of system problems as they arise and work with URS development, system administrators, operations, and database teams. The software developer should be able to effectively communicate with all concerned stakeholders regarding the status of the system, and be able to lead the development of operations tools as required.
· Bachelor’s degree in Engineering or Computer Science and a minimum of 5 years experience in supporting operations and development (combined operations and development experience is acceptable).
· Extensive experience, familiarity, and comfort in operating in a variety of Unix/Linux environments, to include shell scripting, setting up recurring/automated tasks (cron/scheduling), and root level tasks including user and group administration.
· Experience interacting with and administering large-scale databases (50,000+ records), including building and running scripts, queries, and reports.
· Experience with controlled system configuration information provisioning tools such as Puppet or Chef.
· Experience with virtual infrastructures and deployments.
· Experience with automated system monitoring and scaling.
· Experience with working with development, system administrative, and operations teams.
· Some experience with scripting solutions; experience with Ruby is highly desirable
· Candidate must be familiar with concepts related to high availability systems and an understanding of the complexities of external systems communications for such systems.
· Capable of effective communication with customers and end users in a timely, professionally and efficient manner.
· Familiarity with integrated development environments (IDEs) for configuration, build and development.
· Experience with LDAP, including ldapsearch command line tool and the LDAP LDIF format
· Experience with administering multiple git repositories
· Experience with continuous integrations systems. Comfortable in an Agile, short sprint environment.
· Experience with administering and maintaining load balancing software/hardware.
· Experience with Nagios, Hyperic, and wiki technologies.
· Familiarity with Drupal and/or Ruby a plus.