The Department of Biomedical Data Science at Stanford University is looking for an experienced Software Developer (Software Developer 1) to join the Stanford ClinGen team in Dr. Teri Klein's lab. We are part of the NIH-funded Clinical Genome Resource (ClinGen) project (https://www.clinicalgenome.org) dedicated to building an authoritative central resource that defines the clinical relevance of genes and variants for use in precision medicine and research.
We are a small team of senior biocurators and engineers collaborating with external invested users and community members to develop software applications for standardizing the curation of clinically relevant genes and variants. The software developer will be extending and supporting the software tools we have built. Our stack includes Python, ReactJS, Node.js, AWS, cloud-enabled services, and other open-source tools. You are an experienced software developer with a primary emphasis on building high-quality and intuitive user interfaces. You should have excellent understanding of usability and the ability to focus on precise details. You are eager to learn about the modern development tools, standards and best practices that can assist you to ship better code or be more productive. The qualified candidate is expected to contribute to all phases of software development at ClinGen, including application design, development, implementation, modification, and maintenance, as well as to comply with and support University and government health & safety regulations & policies.
Duties include:
Assess user needs and requirements.
Design and develop applications that may involve sophisticated data manipulation.
Maintain and update existing programs.
Troubleshoot and solve technical problems.
Create programs to meet reporting and analysis needs.
Design and implement user and operations training programs.
Document changes in software for end users.
Follow team software development methodology.
Serve as technical resource with respect to applications.
* - Other duties may also be assigned
DESIRED QUALIFICATIONS:
Basic understanding of modern web technology and frameworks
Experience with Python or JavaScript, including JSON
Working knowledge of git
Linux/Unix experience
Experience with SQL and NoSQL data stores
Experience with one or more Cloud platforms (AWS, GCP, etc)
Strong knowledge of Python programming language, and preferably some knowledge of JavaScript too.
EDUCATION & EXPERIENCE (REQUIRED):
Bachelor's degree and three years of relevant experience or a combination of education and relevant experience.
KNOWLEDGE, SKILLS AND ABILITIES (REQUIRED):
Current knowledge of latest software and design standards.
Ability to define and solve logical problems for technical applications.
Knowledge of and 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.
Basic knowledge of software engineering principles.
Strong knowledge of at least one programming language.
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.
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.
The expected pay range for this position is $77,000 to $125,000 per annum. Stanford University provides pay ranges representing its good faith estimate of what the university reasonably expects to pay for a position. The pay offered to a selected candidate will be determined based on factors such as (but not limited to) the scope and responsibilities of the position, the qualifications of the selected candidate, departmental budget availability, internal equity, geographic location and external market pay for comparable jobs.
Why work at Stanford?Stanford University has changed the world, over and over again.We are one of Silicon Valley's largest employers - and also one of the most unique. Our mission is to educate future leaders and promote interdisciplinary, world-class research and teaching. This passion makes Stanford an intensely creative, rewarding, and challenging place to work. At the same time, our traditions of respect and collaboration sustain a humane, supportive environment in which to pursue your life and your career.At Stanford you'll work with bright, diverse, dedicated people. You'll find encouragement to learn and grow. You'll enjoy excellent benefits and an outstanding environment. How will it change you?