Cytoscape Cyberinfrastructure Developer

UC San Diego - San Diego, CA (30+ days ago)4.3


How would you like to be on the front lines of computational biology, building tools and infrastructure to help scientists in basic research and in developing therapies for diseases like cancer, dementia and heart disease?

The mission of the Cytoscape Cyberinfrastructure (“CI”) project is to create infrastructure and applications to support the effective use of biological networks by the research, pharmaceutical, and clinical communities. The CI project has the potential to impact many aspects of biological research and drug development and is already being incorporated in projects in academia and industry. We provide tools and resources for scientists to develop applications and analyses using biological networks in fields including genomics, proteomics, personalized medicine, and the microbiome.

We’re looking for a skilled and versatile software engineer to join our team and help us build and deploy cloud and desktop applications and data resources for systems biology. Our project is entering an exciting new phase where the team is evolving the core technologies of CI, creating a Cytoscape Cloud, a synthesis of multiple projects, applications, and resources. Our best-known technology is the Cytoscape application (http://cytoscape.org), a leading workstation-based platform for visualizing and processing complex networks. NDEx, the Network Data Exchange (http://ndexbio.org), is another central component, providing a public web resource for sharing, storing, accessing, and publishing biological knowledge as computable networks.

Thousands of researchers already use Cytoscape and NDEx and in the next years, the Cytoscape Cloud will rapidly expand, adding new functionality via web applications and internet services. Cytoscape and NDEx web clients are deployed on public websites, and are written primarily using JavaScript, HTML5, and packages such as jQuery and angular.js. CI services may be written in any appropriate language and will present and rely on REST-based interfaces. The CI developer will deal with the modeling of complex biological concepts in the course of requirements gathering, example application development, and test development.

The CI developer will create, deploy and maintain software that uses networks to model complex biological concepts. The software will include applications, web services, and resources to be used by biologists, bioinformatics researchers and other developers. They will interact with each of these target audiences in requirements gathering, example application development, and test development. They will interface with colleagues from project sponsors and with collaborators in the UCSD community and worldwide.

The CI Developer will work flexibly across multiple technologies, both front-end, back-end, and database, and will 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 CI Developer must perform as a seasoned, experienced bioinformatics programming professional with a broad understanding of computational algorithms and systems; identifies and resolves a wide range of issues/software bugs. They will operate independently and demonstrate good judgment in selecting methods and techniques for obtaining solutions.

Other tasks will include: - System administration of public and internal servers. - Software deployment and distribution. - Database management, backup, migration, and recovery.

MINIMUM QUALIFICATIONS
Bachelor's Degree in computer science or related area; and/or equivalent experience/training.

A minimum of five (5+)or more years of work or research experience in software development.

Thorough knowledge of bioinformatics methods, applications programming, web development and data structures.

Understanding of relational databases, web interfaces, and operating systems.

Thorough knowledge of web, application and data security concepts and methods.

Proficiency in command-line use of UNIX platforms.

Proficiency in the following programming languages and environments: Java, JavaScript/HTML5; Web application development; SQL and relational databases; UNIX operating system and basic UNIX system administration.

Communication skills to work with both technical and non-technical personnel in multiple fields of expertise and at various levels in the organization.

Ability to communicate technical information in a clear and concise manner. Ability to interface with management on a regular basis.

Self motivated, work independently or as part of a team, able to learn quickly, meet deadlines and demonstrate problem solving skills.

PREFERRED QUALIFICATIONS
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 working in a product-oriented development environment, managing a public website with many user accounts, participating in formal website, web application and desktop application release processes

Experience with web application technologies and services such as AWS, Kubernetes, Apache, proxies, REST API design and deployment of a REST endpoint, 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 of Python,Jupyter notebooks, R, Shiny, R markdown, cytoscape.js, D3, deck.gl, Angular, React, Materials, Bootstrap, Docker, Singularity

Thorough knowledge of modern biology and applicable field of research. As employed in interactions with researchers using the developed software.

Thorough knowledge of bioinformatics programming design, modification and implementation. As employed in developing software interfaces, data upload and download, interacting with researchers.

Strong project management skills.

Significant experience in Java user interface development, Java Swing, and Java-based web services

Demonstrated ability to work in a rapidly changing, multi-technology environment in which new skills must be acquired on a regular basis.

SPECIAL CONDITIONS
Employment is subject to a criminal background check.
Must be able to work outside normal hours to meet project deadlines, as well as system maintenance and emergencies.
Must be willing and able to travel.
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 under a permissive open-source license.