Software Developer: Scientific Applications
The Software Developer participates in the development of scientific applications involving GUIs, 2-D and 3-D graphics, and numerical algorithms, and may lead development efforts for some projects or sub-projects. This position requires some interaction with clients.
Desired Skills and Capabilities
- Bachelor's Degree in Computer Science or other scientific or engineering field is required. M.S. or Ph.D. is preferred.
- Minimum 2 years of technical lead or development experience; 4 or more years is preferred.
- Ability to understand a problem domain and then conceive of and implement an intuitive user interface geared toward scientist users.
- Discipline, pride, and professionalism to write readable, documented, and unit-tested code that serves as an example to others who later study your work.
- Strong work ethic and commitment to satisfying the customer. The following are not all required, but all are helpful.
- Experience with Python, and a strong understanding of how to apply its capabilities to develop GUI frameworks and scientific applications.
- Demonstrable commitment to designing and developing facile and elegant GUIs.
- Strong understanding of statistics and optimization.
- Experience with the following:
- GUI frameworks such as NetBeans or Eclipse
- wxPython
- Low-level 2-D graphics APIs such as Quartz or GDI+
- 3-D graphics, preferably using VTK
- Developing or working with plotting APIs
- Experience using (and interest in contributing to) SciPy
- Numeric algorithms
