Stanford University is seeking a Software Developer to perform difficult or complex programming and software development work in the field of single-cell analysis, involving the unification, development, and maintenance of software tools for processing and understanding single-cell data.
Requirements
- Experience working with large scale open-source codebases
- Experience developing and working with linear algebra packages (LAPACK, BLAS, ATLAS, Eigen)
- Experience working in high-performance computing
- Experience, or at least surface level knowledge/interest of single cell biology and analysis.
- Previous work experience within single-cell biology
- Strong knowledge of at least one programming language (Ideally C++ along with R and Python)
- Current knowledge of latest software and design standards.
Responsibilities
- Propose, conceptualize, design, implement, and develop solutions for difficult and complex applications independently.
- Working within R within their esoteric forms of object-oriented programming, as well as a highly templated C/C++ library involving heavy usage of CPU intrinsics.
- Oversee testing, debugging, change control, and documentation for major projects.
- Maintenance of software on GitHub repositories, including using software development best practices and responding to user queries through Issues and Discussions.
- Implement rigorous programming standards for documentation and long-term re-use/interpretability of code.
- Develop solutions for portability of software across users and systems.
- Troubleshoot and resolve complex technical problems.
Other
- Bachelor's degree and three years of relevant experience or a combination of education and relevant experience.
- Ability to define and solve logical problems for technical applications.
- Ability to recognize and recommend needed changes in user and/or operations procedures.
- Constantly perform desk-based computer tasks.
- May work extended hours, evening and weekends.