Job Requirements:
The incumbent will be responsible for developing reliable and usable software tools that will enable neuroscience researchers to perform brain-imaging research. Responsibilities include: working with research users and technical staff to define functional and user-interface requirements; using object-oriented analysis and design techniques to design and document software for the management and analysis of brain imaging data; using object-oriented programming techniques to develop, implement, and debug software tools; and using refractory techniques and patterns to improve the performance, reliability and reusability of existing software systems.
Qualifications:
Minimum of 5 years of industry experience as a developer of GUI-based software tools. Demonstrated ability to deliver usable, reliable and maintainable software products to a customer. Minimum of 3 years of C++ programming experience, and 5 years of Java programming experience, including 2 or more years of development using Java Swing. Expert knowledge of GUI design and development. Expert knowledge of object-oriented analysis and design (including UML). Expert knowledge of object-oriented software development in C, C++ and Java; including Microsoft C++ Foundation Classes, SUN Java Foundation Classes, Java Enterprise Classes (Enterprise Java Beans), Java Swing Foundation Classes, Java Database Connectivity (JDBC), Java Native Interface (JNI), Java 3D, parallel processing techniques and threading, and distributed/grid computing technologies (including GLOBUS and CONDOR). Expert knowledge of refactoring techniques and patterns; must have the ability to improve the performance and reliability of developed software and systems, and to redesign/refactor software so that it is reusable by other informatics researchers and programmers. Expert knowledge of relational database technology (including MySQL and JDBC). Knowledge of the DICOM protocols and formats, ANALYZE formats, and other, commonly used neuro imaging file formats. Demonstrated ability to debug and modify developed software.
|