This position will remain open until a successful candidate has been identified.
How would you like to be on the front lines of the research that will one day solve lethal and debilitating diseases like cancer, dementia and heart disease?
We're looking for a few highly skilled and versatile software engineers that can join our team to create a SOA-based distributed system (called the Cytoscape Cyberinfrastructure or "CI") that will enable analyses of biological networks to deliver medical decisions, practices and products tailored to individual patients. The integration and effective use of multiscale, multimodal data genomic, biochemical and biomedical data has never been successfully done, and is one of the most impactful scientific and engineering challenges of our time – bigger than going to the moon.
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 project also includes maintenance and development of existing code bases, including Cytoscape and its apps.
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.
Bachelor degree or higher in computer science or related area plus 5 or more years of work or research experience in software development, OR Bachelor degree or higher in biology or related area, plus 2 years or more programming experience.
For computing professionals: demonstrated work experience and proficiency with software engineering and programmer 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 and either 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 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.
DevOps experience with AWS, GCE, and/or VMware deployments; containerization via Docker and deployment via Kubernetes.
Core concepts in molecular biology; bioinformatics techniques.
Advanced unix experience: Variations of UNIX (e.g., SunOS, Open Solaris, Ubuntu, R