Senior Software Engineer

Location
California, United States
Posted
17 Sep 2019
End of advertisement period
17 Nov 2019
Ref
84662
Contract Type
Permanent
Hours
Full Time

The Department of Pathology at Stanford University is looking for an experienced Senior Software Engineer to plan, develop, and implement the creation and advancement of web-based databases and tools used to solve formal and practical problems arising from the management and analysis of scientific and clinical data. ClinGen, the Clinical Genome Resource (ClinGen, www.clinicalgenome.org) is a project of national importance and is dedicated to building an authoritative central resource that defines the clinical relevance of genes and variants for use in precision medicine. Our team at Stanford has been tasked by the National Institutes of Health (NIH) to build the informatics infrastructure for this project. The work has high visibility and massive real-world impact on patient care through the expansion of cutting-edge software technologies.

The candidate will lead the day-to-day operations of our existing software engineering team (two front-end and two full-stack developers, with more slots to fill) as well as performing difficult or complex programming and analysis work typically involving multi-project leadership or broad responsibility. Contribute to all phases of a project, including systems analysis, program design, development, and implementation. Work on systems and programs typically covering two or more functions, large single functions, or major portions of large functions, interfacing with other complex systems and programs. Provide innovative programming and analysis skills.

Duties include:

  • Propose, conceptualize, design, implement, and develop solutions for difficult and complex applications independently.
  • Oversee testing, debugging, change control, and documentation for major projects.
  • Supervise professional staff, working on all phases of application development projects.
  • Engage in long-term strategic planning.
  • Define complex application development administration and programming standards.
  • Oversee the support, maintenance, operation, and upgrades of applications.
  • Troubleshoot and resolve complex technical problems.
  • Review the physical design of existing systems for optimizing performance.
  • Lead projects for special systems and application development in areas of complex problems.
  • Work with other technical professionals to develop standards and implement best practices.
  • Work with a variety of users to gain information, and develop intra-system tradeoffs between different users, as necessary; interact with a diverse client base and outside vendor contacts.
  • Document system builds and application configurations; maintain and update documentation as needed.
  • Provide technical analysis, design, development, conversion, and implementation work.
  • Serve as a technical resource for applications.
  • Compare, evaluate, and implement new features and technologies, and integrate them into the computing environment.
  • Follow team software development methodology.
  • Mentor lower level software developers.

* - Other duties may also be assigned

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.
  • Knowledge of application domain.

CERTIFICATIONS & LICENSES:

None

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.

Additional Information

Schedule: Full-time
Job Code: 4823
Employee Status: Regular
Grade: L
Requisition ID: 84662