Careers at Allen Institute

Are you ready for new challenges and new opportunities?

Join our team!

Current job opportunities are posted here as they become available.

Software Engineer II/III

Department: 4000- IT
Location: Seattle

Software Engineer II/III

The Allen Institute for Brain Science seeks a Software Engineer II/III (SWE) to join the Neuroinformatics and Applications team. This SWE will be responsible for managing large scientific data sets and analysis pipelines serving neuroscience and brain imaging research communities around the world.

  • This highly collaborative position will require the SWE to be the primary developer on multiple open-source data analysis software packages used for high-throughput analysis and modeling of physiology activities in the mouse cortex in response to sensory stimuli and while performing behavioral tasks.
  • The SWE will collaborate with data generators to design high-throughput data collection and analysis workflows, ensure that their software can be built and deployed in multiple research laboratories around the world, and facilitate standardized data generation and analysis in the community.

We are currently working to open source much of our software, aligning with the Allen Institute's Core Principles of Team Science, Big Science, and Open Science. You will interact regularly with neuroscientists and a wide variety of engineers, collaborating in a large team working on new discoveries about the brain.

Our team uses popular and modern software tools in our Linux-based workflow. Most analysis code will be implemented in Python, although other languages could be required. Your code runs independently, but it will also be integrated into our custom laboratory information management system, which is written in Ruby on Rails, running on PostgreSQL.

To gain more insight on the projects you will impact, please visit the Allen Institute for Brain Science's website.

Essential Duties and Responsibilities:

  • With scientific analysis teams, design files, metrics and visualizations representing neural activity.
  • Create simple dashboards to visualize and summarize experimental data for review and validation.
  • Monitor ongoing data quality and analysis results as part of curation for regular public data releases.
  • Use software engineering principles to write, maintain, and deploy robust scientific software based on high level functional requirements and team input.
  • Externalize this work in an SDK and document it well so that others can leverage your contributions.
  • Collaborate effectively with experts in diverse scientific and engineering topics, including neuroscience, high performance scientific computing, computer vision, and web applications.
  • Apply a modern software engineering workflow, including emphasis on code review, continuous integration, and automatic testing.


  • Bachelor's degree in a relevant technical discipline.
  • Expert level development experience in at least one general purpose, dynamically typed object-oriented language (Python, Ruby).
  • Expert level experience in scientific computing software (Python, MATLAB)
  • Proficient in SQL and database design.
  • Experience with command line development tools in a Linux environment.
  • Familiarity with entire software toolchain, including source code management (git), build systems, debuggers, and testing methodologies.
  • Demonstrated experience in data analysis, preferably in signal processing and numerical methods.


4-5 years of relevant experience in a team oriented software development environment.


5-9 years of relevant experience in a team oriented software development environment.


  • Advanced degree in a relevant technical discipline.
  • History of contributing to open source projects.
  • Experience writing code for continuous delivery
  • Interest in neuroscience and curiosity about how the brain works.


Applicant Tracking System Powered by ClearCompany HRM Applicant Tracking System