Berkeley Lab (LBNL) addresses the world’s most urgent scientific challenges by advancing sustainable energy, protecting human health, creating new materials, and revealing the origin and fate of the universe. Founded in 1931, Berkeley Lab’s scientific expertise has been recognized with 13 Nobel prizes. The University of California manages Berkeley Lab for the U.S. Department of Energy’s Office of Science.
Position Summary:
Berkeley Lab’s Environmental Genomics & Systems Biology Division has an immediate opportunity for a Software Engineer to join the Department of Energy Systems Biology Knowledgebase (KBase) team.
Designed to meet the key challenges of systems biology (predicting and ultimately designing biological function), KBase integrates numerous biological datasets and analysis tools into a unified, extensible system that allows researchers to collaboratively generate and test hypotheses about biological functions. The project’s long-term goal is to help researchers to understand how plants and microbes interact with and affect each other and environmental processes and how these interactions could be harnessed for sustainable bioenergy and environmental solutions.
We are seeking a talented and passionate software engineer to design, develop, and install software solutions for computational biology applications. The successful candidate will be able to build high-quality, innovative and fully performing software in compliance with coding standards and technical design. In addition, the successful applicant will have opportunities to work on a wide range of software development tasks, including user interface design, data integration, database and software interface design, and high-performance computing and bioinformatic algorithm development. The candidates should also be comfortable working in a collaborative, team oriented environment, especially using Agile approaches such as Scrum, Kanban or rapid application development. Candidates need to be self-starters who can operate independently, learn new material rapidly and be willing and/or able to develop as full stack and polyglot developers. This position will be filled at the level 2 or 3, dependent on experience.
Specific Responsibilities:
Work with other KBase project members to implement software to meet stakeholder needs.
Work closely with users of the analysis software to ensure that their needs are being met. Work with users to test and debug applications. Prepare presentations and papers for internal use, conferences, and peer-reviewed publication. Maintain accurate documentation and source-code control for all work-product.
Execute full lifecycle software development.
Write well-designed, testable, efficient code.
Produce specifications and determine operational feasibility.
Integrate software components into a fully functional software system.
Develop software verification plans and quality assurance procedures.
Document and maintain software functionality.
Tailor and deploy software tools, processes and metrics.
Comply with project plans and industry standards.
In addition to the above, Software Developer 3 responsibilities include:
Take the lead role and make sound judgments while coordinating with the PI and other members of group in designing, developing, and distributing software for genomic analysis, systems biology analysis including metabolism, analysis of microbial community structure and function, and sophisticated data analysis.
Work will involve but not limited to defining software requirements and determining the week-to-week direction of the work.
Identify problems and recommend viable solutions to software and data management issues.
Required Qualifications:
Bachelor’s degree in Computer Science or Engineering or equivalent combination of years and experience and a minimum of 2 years related experience.
Experience with modern practices of open collaborative software development, including code review, the GitHub pull request model, etc.
Experience in designing interactive applications.
Demonstrated high analytical skills and programming skills (highest preference for Java or Python but open to C/C++).
Experience with cluster computing environments such as Amazon EC2 or Batch Execution environments such as found in high performance computing clusters.
Experience with NoSQL databases such as MongoDB, Lucene, SOLR or ElasticSearch.
Familiarity with Agile software practices (e.g., Scrum, Kanban).
Familiarity with software engineering practices that include testing, documentation, source code management and release procedures.
Demonstrated ability to work collaboratively with programmers, engineers, post-docs, graduate students, and undergraduates from diverse backgrounds.
Experience in bioinformatics software design and engineering, mathematical analysis and comparative and functional genomics.
Experience with developing applications to display/visualize scientific (preferably biological) data.
Experience with scientific analysis tools such as Matlab, R, or Mathematica.
Front end design and/or development using JQuery, Single Page WebApp frameworks like AngularJS, visualization libraries such as D3.
Excellent writing, interpersonal communication, and analytical skills.
In addition to the above, Software Developer 3 qualifications include:
Bachelor’s degree in computer science or engineering and either five years of experience developing software in a research or technical field for scientific applications.
Extensive experience releasing stable, well-tested, robust software systems of substantial complexity.
Proven ability to conduct business systems analysis, computer systems design, and development of complex computer systems using state-of-the-art technology and tools.
Knowledge of tools and systems for building documentation as an integrated part of the software development cycle (Sphinx, JSDoc, Doxygen, etc).
Experience with agile methodologies for software development.
Additional Desired Qualifications for Both Levels:
Master’s degree or higher in bioinformatics, computational biology, microbiology and bio- or chemical engineering discipline or a software related degree program.
Experience with Jupyter Notebook, Docker.
The posting shall remain open until the position is filled.
NOTES:
This is a full time 1 year term appointment with the possibility of extension or conversion to Career appointment based upon satisfactory job performance, continuing availability of funds and ongoing operational needs.
Classification will depend upon the applicant's level of skills, knowledge, and abilities.
Full-time, M-F, exempt (monthly paid) from overtime pay.
Salary is commensurate with experience.
This position is contingent on the successful completion of a background check.
Work will be primarily performed at KBASE, 5858 Horton St. Suite 525, Emeryville, CA.
Equal Employment Opportunity: Berkeley Lab is an Equal Opportunity/Affirmative Action Employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, age, or protected veteran status. Berkeley Lab is in compliance with the Pay Transparency Nondiscrimination Provision under 41 CFR 60-1.4. Click here to view the poster and supplement: "Equal Employment Opportunity is the Law."