Senior Informatics Software Developer

Location
California, United States
Posted
05 Nov 2018
End of advertisement period
05 Jan 2019
Ref
80845
Contract Type
Permanent
Hours
Full Time

JCC: 4823
Grade: L

Stanford University School of Medicine is seeking a number of senior software developers to join the Research IT team (https://researchit.stanford.edu) in the Office of Information Resources and Technology (IRT). We are building the next generation of tools and services used by researchers, research participants, patients and clinicians to collect, discover, segment and analyze data, make discoveries, and improve human health and wellness. This core infrastructure, Stanford’s biomedical data science platform, is a major strategic initiative announced by the Dean for delivering precision health (http://med.stanford.edu/precisionhealth.html) by using modern data analysis and cloud technologies to leverage petabyte-scale data to improve individual patients' health.

The software developers will be joining the core infrastructure team to work on one of more of the following types of projects:

  • Our next generation clinical data warehouse and data science platform based on Google Cloud technologies. This platform will increase the pace of research discovery from analyzing the data, make more data available (e.g. imaging, clinical, mobile/IoT, outcomes, genomics) and enable modern techniques for bringing algorithms to the data for machine learning and other advanced analysis.
  • Our Collaborative Health Outcomes Information Registry (CHOIR) software that is being used to track and improve patient health outcomes at Stanford and other institutions around the world.
  • Our mHealth Platform being used to support population health studies and custom mobile applications being developed to track and improve health. 

In this role, the developers will participate in all aspects of the software development lifecycle, from requirements gathering and writing design specifications, to implementing, testing, and maintaining/operating the software over time. Good judgment about design tradeoffs, and the ability to clearly document and communicate opinions and plans will be important.

In addition to the primary role as senior software developers, other duties may include:

  • Working with faculty, researchers, and executive stakeholders to gather requirements
  • Harmonizing conflicting requirements, communicating tradeoffs to stakeholders, proposing compromises as needed
  • Work as a project leader, as needed, for projects with dependencies on external groups
  • Serve as a technical resource for application developers
  • Refine team software development methodology, focusing on security and privacy

We are looking for software developers who demonstrates the following:

  • Expertise in Java programming
  • Expertise with SQL and relational databases such as BigQuery, PostgreSQL, Oracle, and SQL Server
  • Skilled at creating secure APIs and server-side application code, and building secure web applications
  • Excellent software engineering skills and testing practices to ensure high quality solutions
  • Writes clean code that can be easily maintained
  • Writes clear design specifications and documentation
  • Strong team player and individual contributor
  • Ability to learn and apply new technologies quickly as needed
  • Ability to communicate clearly and represent projects in writing and verbally to all stakeholders, both technical and non-technical
  • Able to use modern development tools (e.g. GitHub, Jira, Docker, IntelliJ/Eclipse) within an Agile development process, and adopt new tools and techniques as they becomes available
  • Experience with complex data manipulation pipelines with multiple transformations

 Experience in one or more of the following is preferred:

  • Experience deploying applications with cloud technologies such as Google Cloud Platform (GCP), Amazon Web Services (AWS), or Kubernetes
  • Familiarity with Big Data approaches such as BigQuery, Spark, Apache Beam
  • Familiarity with statistical techniques, machine learning (ML), or artificial intelligence (AI), especially around processing of unstructured text or medical images
  • Understanding of clinical data ontologies such as SNOMED CT or models such as Epic Clarity
  • Familiarity with public-private partnerships like  OHDSI OMOP Common Data Model or Global Alliance for Genomics and Health (GA4GH)
  • Experience with radiology imaging (DICOM, PACS), digital pathology or genomics data (BAM, GATk)
  • Experience analyzing data with Jupyter, Python, R, or similar tools
  • Experience with Docker, Singularity and other containerized approaches to application development
  • Experience building native mobile applications
  • Demonstrated ability to create compelling user interfaces (UI) and user experiences (UX)
  • Demonstrated ability to publish posters and papers (white papers, peer reviewed journal papers)
  • Experience working with high-risk, Protected Health Information (PHI) or other regulated data (HIPAA, PCI, etc.)
  • Prior experience working with researchers and data science either in an academic community or industry

During the interview process, please expect to provide code samples (preferably Java). If applicable, a design portfolio or list of publications may also be requested 

* - Other duties may also be assigned

DESIRED QUALIFICATIONS:

  • Expertise in Java programming
  • Expertise with SQL and relational databases such as BigQuery, PostgreSQL, Oracle, and SQL Server
  • Skilled at creating secure APIs and server-side application code, and building secure web applications
  • Excellent software engineering skills and testing practices to ensure high quality solutions
  • Writes clean code that can be easily maintained
  • Writes clear design specifications and documentation
  • Strong team player and individual contributor
  • Ability to learn and apply new technologies quickly as needed
  • Ability to communicate clearly and represent projects in writing and verbally to all stakeholders, both technical and non-technical
  • Able to use modern development tools (e.g. GitHub, Jira, Docker, IntelliJ/Eclipse) within an Agile development process, and adopt new tools and techniques as they becomes available
  • Experience with complex data manipulation pipelines with multiple transformations

EDUCATION & EXPERIENCE (REQUIRED): 

Bachelor's degree and eight years of relevant experience, or a combination of education and relevant experience. 

KNOWLEDGE, SKILLS AND ABILITIES (REQUIRED):

  • Ability to quickly learn and adapt to new technologies and programming tools.
  • Demonstrated experience in designing, developing, testing, and deploying applications.
  • Strong understanding of data design, architecture, relational databases, and data modeling.
  • Thorough understanding of all aspects of software development life cycle and quality control practices.
  • Ability to define and solve logical problems for highly technical applications.
  • Strong communication skills with both technical and non-technical clients.
  • Demonstrated experience leading activities on structured team development projects.
  • Ability to select, adapt, and effectively use a variety of programming methods.
  • Ability to recognize and recommend needed changes in user and/or operations procedures.

PHYSICAL REQUIREMENTS*: 

  • Constantly perform desk-based computer tasks.
  • Frequently sit, grasp lightly/fine manipulation.
  • Occasionally stand/walk, writing by hand.
  • Rarely use a telephone, lift/carry/push/pull objects that weigh up to 10 pounds.

* - Consistent with its obligations under the law, the University will provide reasonable accommodation to any employee with a disability who requires accommodation to perform the essential functions of his or her job.

These positions currently work in our Porter Drive office. We anticipate that the positions will move to the new Stanford Redwood City campus in mid-May 2019.

WORKING CONDITIONS:

May work extended hours, evening and weekends.

WORK STANDARDS:

  • Interpersonal Skills: Demonstrates the ability to work well with Stanford colleagues and clients and with external organizations.
  • Promote Culture of Safety: Demonstrates commitment to personal responsibility and value for safety; communicates safety concerns; uses and promotes safe behaviors based on training and lessons learned.
  • Subject to and expected to comply with all applicable University policies and procedures, including but not limited to the personnel policies and other policies found in the University's Administrative Guide,http://adminguide.stanford.edu.