This position will remain open until a successful candidate has been identified.
The CI Developer will create and maintain elements of the CI, will need to work flexibly across multiple technologies, both front-end, back-end, and database, and will need to rapidly acquire skills in new programming languages and environments, packages, and databases. The project uses an aggressive array of technologies to deliver high-performance access to the stored networks and biological analytics, and to implement front-end integration with web-based interfaces and visualization. The developer will interact with scientists using the CI in bioinformatic and biological research.
The CI Developer will create and maintain elements of the CI, will need to work flexibly across multiple technologies, both front-end and back-end, and database, and will need to rapidly acquire skills in new programming languages and environments, packages, and databases.
Other tasks will include:
- System administration of public and internal servers.
- Software deployment and distribution.
- Database management, backup, migration, and recovery.
The CI Developer will interface with colleagues from project sponsors, and with collaborators in the UCSD community and worldwide. The CI Developer can be either a computing professional that knows a little biology and is ready to learn a lot more biology, or a biology professional that has demonstrating programming ability and is ready to learn a lot more about computing. Computational biologists are especially welcome.
Undergraduate or Graduate Degree in computer science or related area, plus 5 or more years of work or research experience in software development, OR Undergraduate or Graduate Degree in biology or related area, plus 2 years or more programming experience.
Proven work experience and proficiency with software engineering techniques, disciplines, and methodologies, including requirements gathering, analysis and maintenance; system architecture and design. Experience with testing and test strategies; experience creating and using code and test libraries.
Proven ability to work independently. Take ownership of work performance and follow through on assignments. Anticipate, identify and analyze problems and resolve or recommend course of action for resolution as appropriate.
Adaptable and collaborative, able to work in a diverse development community. Motivated to understand and address the needs of end users, in this case biologists and developers of applications for biologists.
For biologists: proficiency in Python, R, or Matlab, and working familiarity with databases and command-line use of UNIX platforms.
Experience in agile development methodologies: project estimation; domain modeling, software reliability and validation; interoperable systems; software lifecycle management.
Experience in web security and authentication, especially technologies such as OAuth or OpenID, SOWA.
Core concepts in molecular biology; bioinformatics techniques.
Advanced unix experience: Variations of UNIX (e.g., SunOS, Open Solaris, Ubuntu, Red Hat Linux); Shell script programming; Access control management, applications configuration management; Virtual image creation and deployment.
Experience in knowledge representation and semantic web technologies, such as SPARQL and RDF.
Experience with web application technologies such as proxies, REST API design and deployment of a REST endpoint; Website and workstation release process, management of a public website with many user accounts; Infrastructure necessary to develop client-server applications and model-view controller applications; Source control management, familiarity with Git and GitHub.
Experience with one or more scripting languages commonly used in bioinformatics, such as Python, R, PERL, or Ruby.
Must be able to work outside normal hours to meet project deadlines, as well as system maintenance and emergencies.
Must be able to answer work related questions while not physically at the work location.
Must be willing to work in an animal-related research environment.
Must be willing to work in situations where all intellectual property created will be released