Position title: Software Engineer
Position type: Full-time employee, rate: commensurate with experience; benefits
Reports to: James Gallagher
ATTN: James Gallagher
125 W. Granite St., suite 210
Butte, MT 59701
Basic Function of Job
Support OPeNDAP by working on its contracts and grants. These contacts and grants are typically oriented toward software R&D, but candidates will also need to be flexible; they may be called upon to handle tasks more varied than typically associated software R&D in a large organization. This position requires, at a minimum, a person who can perform requirements development, design, prototyping, testing development and documentation of both user and system software. The software will be used in both government and academic settings (primarily) with some use in the private sector.
OPeNDAP, Inc. is a not-for-profit corporation formed in Rhode Island to develop data exchange middleware. OPeNDAP’s software is used in a variety of research and data management settings, including NASA and NOAA data centers as well as universities and private corporations. All of OPeNDAP’s software is open-source.
While OPeNDAP’s business office is in Narragansett, Rhode Island, we also have employees in Montana, Oregon and Colorado.
Main task: Modify the OPeNDAP Hyrax data server (a software product) so that it uses new capabilities being developed for the transport protocol on which the server is based.
- Add new features to the server
- Refactor existing server software
- Fix issues in an existing software library
- Add new features related to usability
- Add new features related to ongoing protocol development
- Develop software tests
- Write documentation (aimed at end users)
- Interact with other users of the software; handle problem reports, et cetera.
Confers with OPeNDAP personnel regarding major issues, but must be able to work with a high level of independence.
Seeks out appropriate information regarding the various systems and applies it in a timely fashion. Evaluates problem reports, makes estimates of requirements to attain a solution and is able to follow the problem to completion.
Algebra, Linear Algebra, Logic, Calculus
- Gradle and Spring
- Programming practices for implementing production quality software, including performing security audits on software
- UNIX, Linux and/or OS/X
- Developing software libraries supporting multiple applications
- Experience with working in a distributed team
- C++ experience with C++-2011 a plus
- Experience with Windows is a plus
- B.S. in Computer Science; and
- At least three years experience in software engineering or a related field; or
- An equivalent combination of education and experience