The Intermediate Software Developer works as part of a team of developers to design, develop, troubleshoot, maintain and deploy software components for acquiring, publishing and processing data from ONC. The Software Developer reports to the Associate Director Software Engineering (Associate Director), with work assigned on a project basis or in an area of continuing responsibility. The Intermediate Software Developer will work with limited specification documents, suggest changes, recommend alternatives, and get clarifications where required.
The Intermediate Developer must have a university degree in computer science and a minimum of 3 years of software development experience, or the equivalent combination of education and experience.
- Proven ability to write design, build, test and debug software
- Experience in object–oriented design and implementation
- Relational database management systems such as Oracle or MySQL
- Software lifecycle and Agile methodologies such as Scrum
- Web services and service-oriented architectures
- Web 2.0 and mashups
- Ability to work independently and proactively within a team-oriented environment
- Excellent written and verbal communication skills
- Excellent problem solving skills
- Ability to learn new technologies
Highly desired assets:
- Familiarity with the Eclipse development environment and with tools such as Velocity and Hibernate as would be some knowledge of the messaging system.
- UNIX skills
- Bash or other scripting language
- Experience installing and configuring software packages
- ActiveMQ troubleshooting/knowledge
- Experience in scientific data processing MATLAB, R, SciPy, data visualization, statistics, time series analysis, and analytical science in general
- Test automation Familiar with JUnit testing