La Jolla, California
Costa Mesa, California
Santa Cruz, California
Newport Beach, California
La Jolla, California
Los Angeles, California
Location: La Jolla, California
Salary: 82000 to 110000
Internal Number: RESEA002037
The Research Computing Service group will participate in the development of high-quality and sustainable research software with broad impact across the Salk Institute. This position will be an integral member of multiple projects collaborating with Salk researchers to provide computational expertise in algorithm development and software design to create high-quality and sustainable research code.
DUTIES AND RESPONSIBILITIES:
- Lead the design and construction of complex research software systems needed to acquire, process, and analyze data from biological experiments.
- Establish a set of best practices that are appropriate for each project (e.g version control, continuous integration, continuous delivery, software design, programming model, etc.), and enable long-term maintainability and sustainability by documenting projects in an appropriately detailed manner.
- Respond to evolving research needs and apply research software engineering experience to develop robust software solutions to solve challenging research problems. Port, debug, tune and potentially parallelize existing research code to meet criteria set by the research team.
- Transfer knowledge, expertise, and methodologies by providing technical assistance and mentorship to reseachers, including graduate students and postdoctoral fellows.
- Independently or in collaboration with a team, develop scope and project management plans, meet milestone delivery timelines, and communicate with the research team. Communicate software engineering concepts with project teams consisting of domain experts with varying degrees of software engineering knowledge.
- Apply appropriate domain-specific algorithms, techniques, and code to advance software engineering.
- Initiate and/or maintain open collaboration with Salk researchers as needed. Regularly meet with, listen to, and ask questions of the relevant collaborators for active projects. Understand and address software engineering questions that arise in research planning.
- Through independent research (reading publications, etc.) and/or studying existing code bases understand the necessary elements of biological research to converse with Salk researchers
- Maintain and expand knowledge of current and future software development tools and techniques, programming languages, and computing hardware.
- Perform other related duties as assigned by management.
- This job has no supervisory responsibilities.
- Bachelor's Degree (BA) from four-year college or university, plus five (5) years of related experience and/or training, or equivalent combination of education and experience required.
- Specific experience required: exposure to research, numerical computing, high performance computing
- Programming language skills required: Python, R, C++, Bash.
- Experience with containerization and cloud-native technologies (Docker & Kubernetes) required.
- Other skills required: DevOps (version control, CI/CD, compilation toolchains, documentation generation), familiarity with cloud platforms (GCP, AWS, or Azure)
- Experience with web development languages and frameworks (HTML5, Node.js, Angular/React/Vue, Canvas, WebAssembly)
- Deep learning experience (familiarity with PyTorch, TensorFlow and/or Jax)
- GPU programming experience (e.g., CUDA, OpenCL) and/or experience with FPGAs
- Parallel programming expertise (e.g., OpenMP, Kokkos, etc.)
- Experience developing scientific software with significant emphasis on performance
- Experience developing research software outside of core domain knowledge
- Academic research experience.
- A Master’s/Ph.D. in computer science, or other applied domain sciences (esp. natural sciences) with a strong computational focus is strongly preferred.
- Adaptability - Adapts to changes in the work environment; Manages competing demands; Changes approach or method to best fit the situation; Able to deal with frequent change, delays, or unexpected events.
- Design - Generates creative solutions; Translates concepts and information into images; Uses feedback to modify designs; Applies design principles; Demonstrates attention to detail.
- Innovation - Displays original thinking and creativity; Meets challenges with resourcefulness; Generates suggestions for improving work; Develops innovative approaches and ideas; Presents ideas and information in a manner that gets others' attention.
- Oral Communication - Speaks clearly and persuasively in positive or negative situations; Listens and gets clarification; Responds well to questions; Demonstrates group presentation skills; Participates in meetings.
- Problem Solving - Identifies and resolves problems in a timely manner; Gathers and analyzes information skillfully; Develops alternative solutions; Works well in group problem solving situations; Uses reason even when dealing with emotional topics.
- Project Management - Develops project plans; Coordinates projects; Communicates changes and progress; Completes projects on time and budget; Manages project team activities.
- Teamwork - Balances team and individual responsibilities; Exhibits objectivity and openness to others' views; Gives and welcomes feedback; Contributes to building a positive team spirit; Puts success of team above own interests; Able to build morale and group commitments to goals and objectives; Supports everyone's efforts to succeed.
- Technical Skills - Assesses own strengths and weaknesses; Pursues training and development opportunities; Strives to continuously build knowledge and skills; Shares expertise with others.
- Ethics - Treats people with respect; Keeps commitments; Inspires the trust of others; Works with integrity and ethically; Upholds organizational values.
Salary range for this position is $82,000 - $110,000.
PHYSICAL DEMANDS AND WORK ENVIRONMENT:
- Frequently/Continually required to sit at a computer
- Frequently/Continually required to utilize hand and finger dexterity
- While performing the duties of this job, the noise level in the work environment is usually quiet
- The employee must occasionally lift and /or move up to 5 pounds
The above is intended to describe the general content of and requirements for the performance of this job. It is not to be construed as an exhaustive statement of duties, responsibilities or physical requirements. Nothing in this job description restricts management’s right to assign or reassign duties and responsibilities to this job at any time. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
Equal Opportunity Employer/Protected Veterans/Individuals with Disabilities
The contractor will not discharge or in any other manner discriminate against employees or applicants because they have inquired about, discussed, or disclosed their own pay or the pay of another employee or applicant. However, employees who have access to the compensation information of other employees or applicants as a part of their essential job functions cannot disclose the pay of other employees or applicants to individuals who do not otherwise have access to compensation information, unless the disclosure is (a) in response to a formal complaint or charge, (b) in furtherance of an investigation, proceeding, hearing, or action, including an investigation conducted by the employer, or (c) consistent with the contractor’s legal duty to furnish information. 41 CFR 60-1.35(c)