Scientific Computing Associate - Machine Learning Software Engineer
Summary:
Open-source code and software are immensely important to progress in all areas of science. Sharing code allows the same analyses to be performed across labs, facilitates wide-spread use of computational tools that are increasingly important in biology, and enables different groups to build on others’ achievements. Additionally, the transparency that open-source code provides creates trust in results produced by scientific software. Importantly, sharing code successfully requires more than just releasing it as-is under an open license. Only well-designed and well-documented code is easy to reuse or modify for new applications by other developers (developer-friendly); significant effort is required to bring research-based code to this level. Similarly hard is the design of intuitive user interfaces that allow scientists without expert knowledge of the underlying algorithms to use the software (user-friendly). Additional sustained long-term effort is often required to maintain the code over its lifetime and provide user support.
We recently created the Open Science Software Initiative (OSSI) that is focused on working closely with labs and teams at HHMI Janelia to create impactful open-source software for the broader research community.
We are looking for a talented and motivated Scientific Computing Associate (SCA) who is enthusiastic about open-source software development and would like to work on one or more of these exciting, machine learning centric projects:
CellPose and Suite2p (with Stringer lab)
Open-source platform for single-molecule localization (with Turaga lab)
Kilosort (with Pachitariu lab)
Usable, extensible video annotation library for machine learning (with Branson lab)
Paintera (with Saalfeld lab)
Detailed information on these projects can be found on the OSSI webpage.
The SCA position represents an alternative to the traditional postdoc and provides an ideal environment to establish a career in computational research or software engineering. The position aims at developing qualifications and experience in computational research and professional software engineering in a research environment that enables the candidate to pursue her/his/their future career in science or industry. For each project, the SCA will be paired with an experienced software engineer and a member from the specific lab, often the lab head, in order to quickly learn techniques and about the project itself.
The developed software will of course be openly accessible and the SCA has the opportunity to become (one of) the major contributing developers over time and to publish the results.
The SCA position is a time-limited appointment for 12 to 24 months, with discretionary renewal for a final 12-month term (maximally 36 months in total).
Qualifications:
M.S. or PhD in Computer Science, Bioinformatics, Engineering, or Science
Experience with writing efficient code in Python
Experience with deep learning frameworks PyTorch and/or TensorFlow
Ideally experience with large data and distribution frameworks (e.g. Dask, Spark)
Ideally experience in UI programming (e.g. Napari, PyQT, web-based UIs)
What we do for you:
Provide and include you in an environment of open-source enthusiasts
Skilled scientists and software engineers support the project
Enable you to work as an independent scientist
Provide an exciting and inspiring work environment at HHMI Janelia
Provide competitive compensation
If you are excited about a specific open-source project that you may even have contributed to please include this in your application, so we can discuss code together. For more information, visit the websites or email Stephan Preibisch at preibischs@janelia.hhmi.org
Physical Requirements:
Remaining in a normal seated or standing position for extended periods of time; reaching and grasping by extending hand(s) or arm(s); dexterity to manipulate objects with fingers, for example using a keyboard; communication skills using the spoken word; ability to see and hear within normal parameters; ability to move about workspace. The position requires mobility, including the ability to move materials weighing up to several pounds (such as a laptop computer or tablet).
Persons with disabilities may be able to perform the essential duties of this position with reasonable accommodation. Requests for reasonable accommodation will be evaluated on an individual basis.
Please Note:
This job description sets forth the job’s principal duties, responsibilities, and requirements; it should not be construed as an exhaustive statement, however. Unless they begin with the word “may,” the Essential Duties and Responsibilities described above are “essential functions” of the job, as defined by the Americans with Disabilities Act.