Software Dvlpr
Listed on 2026-01-01
-
Software Development
Software Engineer, C++ Developer
Software Dvlpr 1 at Stanford University summary:
The Software Developer 1 will design, develop, and maintain complex software tools primarily used for single-cell analysis, utilizing programming languages such as R, C++, and Python. The role involves participation in all software development phases, including design, implementation, testing, and maintenance, with a focus on high-performance computing and large-scale open-source codebases. The position requires a strong foundation in software engineering principles and an interest or experience in single-cell biology and genomics.
Stanford University is seeking a Software Developer 1 to perform difficult or complex programming and software development work in the field of single-cell analysis. This work will involve the unification, development, and maintenance of software tools that we have developed and are widely used across the globe for processing and understanding single-cell data. The successful applicant is expected to contribute to all phases of the project, including conception, design, development, implementation, and maintenance.
These tools are written in R, C++, and Python and require an in-depth understanding of software development and a reasonable understanding or at least genuine interest in single-cell biology and genomics.
Duties include:
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 Git Hub 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.
Work with other lab members, as necessary, on all phases of software development.
Engage in long-term strategic planning.
Oversee the support, maintenance, operation, and upgrades of applications.
Develop solutions for portability of software across users and systems.
Troubleshoot and resolve complex technical problems.
Review the physical design of existing systems for optimizing performance.
* - Other duties may also be assigned
DESIRED QUALIFICATIONS:
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
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.
Knowledge of software engineering principles.
Strong knowledge of at least one programming language (Ideally C++ along with R and Python)
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.
The expected pay range for this position is $107,423 to $133,600 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.
At Stanford University, base pay represents only one aspect of the comprehensive rewards package. The Cardinal at Work website ( ) provides detailed information on Stanford’s extensive range of benefits and rewards offered to employees. Specifics about the rewards package for this position may be discussed during the hiring process.
Keywords:
software developer, single-cell analysis, R programming, C++, Python, high-performance computing, genomics software, open-source software, software maintenance, biological data processing
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).