APPLICATION DEVELOPER, Center for Brains, Minds and Machines (CBMM), to work with the principal investigators and researchers in the center to help develop, deploy and package algorithms, experiments and models including web-based applications to allow for researchers to utilize and run field tests. Responsibilities include full life cycle and creation of the software aimed at helping CBMM researchers and others complete computer tasks including: establishing a detailed program specification through discussion with researchers; porting experiments onto web-based applications; acquiring and storing different types of data from web-based tests; recoding existing algorithms for web-based implementation, clarifying what actions the program is intended to perform; breaking down program specification into its simplest elements and translating this logic into a programming language; devising possible solutions to anticipated problems; combining all elements of the program design and testing it; testing sample data-sets to check that output from the program works as intended; conducting testing and installing the program into production; reacting to problems and correcting the program as necessary; evaluating and increasing the program's effectiveness; adapting the program to new requirements, as necessary; conducting user acceptance testing to ensure the program can be used easily, quickly and accurately; writing detailed documentation for the operation of the program by users and computer operators; consulting manuals, periodicals and technical reports to learn new ways to develop programs and maintain existing skills and knowledge; updating, repairing, modifying and developing existing software and generic applications; and, instructing researchers in programming techniques.
REQUIRED: a bachelor’s degree (masters or Ph.D. desired) in computer science; working knowledge of MATLAB; experience writing software in a modern object-oriented programming language, e.g., Python, Java, Ruby on Rails, etc.; experience working with others in the development of a technical project; strong technical communication skills as shown by formal written description of a technical project or formally presenting project details orally; ability to work effectively within a team and to collaborate, lead, and influence leadership and others outside the team; excellent interpersonal skills and ability to clearly communicate project goals, research services, and support offerings to colleagues; and experience working in higher education or research environments.
EXPERIENCE: Minimum of three years experience in computer systems or complex application programming, preferably in a research and development team setting.