Skip to content

Instantly share code, notes, and snippets.

@inglesp
Created March 25, 2024 10:13
Show Gist options
  • Select an option

  • Save inglesp/ccfbe2f1c8480cd1717e37d07f560ed4 to your computer and use it in GitHub Desktop.

Select an option

Save inglesp/ccfbe2f1c8480cd1717e37d07f560ed4 to your computer and use it in GitHub Desktop.
Bennett Institute tech team recruitment

Junior Developer

We are seeking an early-career software developer with an interest in all parts of software development, especially web applications. The role is suitable for candidates with a primary interest in either frontend or backend development. Your role will revolve around implementing and maintaining essential features, data structures and protocols that power the OpenSAFELY platform. You will work with the rest of your team to build the software system and improve user experience by writing documentation and tooling.

Senior Developer

We are seeking an experienced software developer with an interest in web application development or infrastructure engineering. Your role will revolve around designing, implementing and maintaining essential features, data structures and protocols that power the OpenSAFELY platform. You will work with the rest of your team to build the software system and improve user experience by writing documentation and tooling.

Staff Developer

We are seeking a very experienced software developer to contribute to the technical direction of our OpenSAFELY platform. This role blends hands-on software development with collaborative decision-making. Your responsibilities will include platform design, aligning technical strategies across projects, and implementing practical solutions that meet our organisation's evolving needs.

In this collaborative environment, you'll be one of the key contributors to the architecture and development of components within the OpenSAFELY platform. You will also play a crucial role in mentoring, providing technical guidance and training to team members across disciplines. This position is ideal for someone who enjoys being deeply involved in coding while also sharing their knowledge and expertise to support a vibrant and supportive team culture.

Tech Lead

We are seeking an experienced software developer to play a lead role in the development of the OpenSAFELY platform, and the fast-growing engineering team. This is an opportunity for someone who enjoys technical leadership and running small teams, but also wishes to maintain an element of front-line, hands-on engineering.

In collaboration with the existing leadership team, you will provide line management, training, technical advice, mentorship and coaching to your colleagues. You’ll co-own the architectural direction of the platform, and provide guidance to build the best possible products.

We anticipate the role being approximately 80% leadership work, and 20% hands-on engineering.

Junior Developer

  • Design and implement self-contained changes to software under the guidance of senior team members.
  • Design and build thoughtful user interfaces under the guidance of senior team members.
  • Contribute to the operation and support in production of the components that your team is responsible for.
  • Manage your work and associated administrative tasks, to ensure timely delivery.
  • Identify and actively share opportunities for improvement of systems and processes.
  • Collaborate with team members to optimise collaboration and knowledge sharing, and to advance our mission of developing impactful open tools.
  • Provide support, guidance, and mentorship to colleagues from non-engineering backgrounds.
  • Maintain effective communication channels with end users and staff regarding system changes, queries, or issues.
  • Work flexibly and adaptively to address emerging priorities.
  • Collaborate on written outputs, such as blog posts, documentation, and policy and research papers.

Senior Developer

  • Design and implement significant changes to software in collaboration with the rest of your team.
  • Design and build thoughtful user interfaces.
  • Contribute to the operation and support in production of the components that your team is responsible for.
  • Investigate, integrate and deploy new tools and technologies as part of our system.
  • Manage own work and administrative activities. This involves small scale project management, to coordinate multiple aspects of work to meet deadlines.
  • Identify opportunities for improvement of systems and processes and contribute suggestions for change.
  • Work closely with team members to optimise collaboration and knowledge sharing, and to advance our mission of developing impactful open tools.
  • Provide support, guidance, and mentorship to colleagues from non-engineering backgrounds.
  • Maintain effective communication channels with end users and staff regarding system changes, queries, or issues.
  • Share your expertise with other members of your team.
  • Work flexibly and adaptively to address emerging priorities.
  • Work with all researchers and other group members to further the core mission of developing high-impact open tools.
  • Collaborate on written outputs, such as blog posts, documentation, and policy and research papers.

Staff Developer

Technical Leadership and Implementation

  • Undertake software engineering and devops design tasks through knowledge and application of industry best practice, ensuring high-quality technical outputs.
  • Champion reproducibility, automation, and transparency throughout the organisation, driving efficiency and best practices.
  • Propose and deliver systems for monitoring software quality and developer experience, driving improvements.
  • Work closely with other developers to guide and assist them in their own delivery tasks.

Group-wide Leadership and Development

  • Support the recruitment, management, and mentorship of a multidisciplinary team, including software engineers, product and UX designers, and data scientists.
  • Drive a culture of continuous improvement and foster interdisciplinary collaboration among all team members.
  • Coach non-engineering team members in software engineering techniques and promote a culture of shared learning.
  • Provide strategic leadership to ensure that the digital outputs of the Bennett Institute align with agreed objectives.

Other

  • Contribute to the operation and support in production of the components that your team is responsible for.
  • Collaborate on written outputs, such as blog posts, documentation, and policy and research papers.
  • Contribute to strategic and operational discussion and planning with other teams across the Bennett Institute.

Tech Lead

You will run one of the OpenSAFELY development teams, consisting of approximately five developers.

Technical Leadership and Implementation

  • Work with our Staff Developers and other Team Leads to guide the architecture of the entire OpenSAFELY platform.
  • Champion reproducibility, automation, and transparency throughout the organisation, driving efficiency and engineering best practices.
  • Working with other senior engineering staff to resolve technical problems.
  • Work closely with software developers to guide and assist them in their own delivery tasks.
  • Contribute directly to coding tasks as other responsibilities allow.

Team Leadership and Development

  • Support the recruitment, management, and mentoring of colleagues, including championing diversity.
  • Working with a product manager to ensure that the team’s work is well-defined.
  • Contributing to the definition of the team’s long-term roadmap.
  • Working with other Team Leads to offer peer support and to share and develop best practice.
  • Managing the team’s short-term backlog.
  • Helping the distributed team to stay in touch as they work.
  • Continuously reflect on and improve the team’s processes.
  • Coaching and sponsoring less experienced team members.

Other

  • Contribute to the operation and support in production of the components that your team is responsible for.
  • Collaborate on written outputs, such as blog posts, documentation, and policy and research papers.
  • Contribute to strategic and operational discussion and planning with other teams across the Bennett Institute.

Junior Developer

Essential

We are looking for candidates who can demonstrate good coding skills and knowledge of a number of collaboration tools and software delivery techniques. They should show strong user empathy and enjoy helping others to be productive.

We will be considering the following characteristics:

  • Be self-motivated and capable of combining strategic thinking with hands-on engineering skills.
  • Have knowledge of some languages and technologies commonly-used for building web applications.
  • Have some understanding of commonly-used collaboration tools and practices such as distributed version control, code review and continuous integration.
  • Have strong interpersonal skills and be able to contribute to a supportive, helpful culture and work very closely with end users.
  • Demonstrate a natural curiosity and an eagerness to explore topics beyond your primary area of expertise.
  • Show enthusiasm for tackling challenges in medical informatics.
  • Be happy switching between quite different domains – we take joint responsibility for all our outputs and activities.
  • Embrace a "leave it better than you found it" mindset, actively improving code even if you didn't originally write it.

Desirable

  • Experience with Python and Django.
  • Experience with JavaScript, HTML and CSS.
  • Experience with relational databases.

Senior Developer

Essential

We are looking for candidates who can demonstrate excellent coding skills and practical knowledge of a wide variety of collaboration tools and software delivery techniques. They should show strong user empathy and enjoy helping others to be productive.

We will be considering the following characteristics:

  • Be self-motivated and capable of combining strategic thinking with hands-on engineering skills.
  • A demonstrable track record of engaging with the cultural and operational changes required to grow a product suite.
  • Self-motivated and able to demonstrate strategic thinking and hands-on engineering skills.
  • Demonstrate expertise in either Python or JavaScript, CSS and HTML.
  • Familiarity with a range of technologies commonly used in building web applications.
  • Experience of writing applications that integrate with relational databases.
  • Significant experience with commonly-used collaboration tools and practices such as distributed version control, code review and continuous integration.
  • Strong interpersonal skills and able to contribute to a supportive, helpful culture and work very closely with end users.
  • Have a natural curiosity about topics outside their normal area of expertise.
  • Enjoy working independently, in a small team, with a light management touch.
  • Show enthusiasm for tackling challenges in medical informatics.
  • Be happy switching between quite different domains – we take joint responsibility for all our outputs and activities.
  • Able to take responsibility for handling complex, existing apps: this means new features, maintenance and devops.
  • Embrace a "leave it better than you found it" mindset, actively improving code even if you didn't originally write it.

Desirable

  • Statistical or data processing experience, academic or commercial, and knowledge of data science tools and frameworks.
  • User interface design skills.

Staff Developer

Essential

We are looking for candidates who can demonstrate excellent coding skills and practical knowledge of a wide variety of collaboration tools and software delivery techniques. They should show strong user empathy and enjoy helping others to be productive.

We will be considering the following characteristics:

Versatility and Adaptability

  • Demonstrate a natural curiosity and an eagerness to explore topics beyond your primary area of expertise.
  • Be comfortable working both independently and in a small team environment, with a light managerial touch.
  • Show enthusiasm for tackling challenges in medical informatics and transitioning between different domains as needed.
  • Strong interpersonal skills and able to to contribute to a supportive, helpful culture and work very closely with end users.
  • Strong communication skills, including the ability to communicate deeply technical concepts to non-technical audiences.

Ownership and Accountability

  • Take responsibility for complex applications, including the development of new features, ongoing maintenance, and devops.
  • Embrace a "leave it better than you found it" mindset, actively improving code even if you didn't originally write it, and encouraging that mindset in others.
  • Have a proven track record of driving technical changes required to grow a product suite.
  • Be able to contribute to planning for software delivery: shaping work, estimation, risk and dependency identification.

Leadership and Technical Skills

  • Be self-motivated and capable of combining strategic thinking with hands-on engineering skills, with a focus on performance and quality improvement.
  • Expert coding skills in several languages commonly used in web technologies.
  • Fluent in the use of commonly-used collaboration tools and practices such as distributed version control, code review and continuous integration.
  • Extensive experience in engineering practices and strategies such as unit testing and refactoring.
  • Experience designing and rolling out automated systems for supporting these practices (for example, testing frameworks, or monitoring and metrics dashboards).
  • Ability to select from a range of appropriate architectural patterns, with awareness of the trade-offs.
  • Able to take responsibility for complex, existing apps: this means new features, maintenance and devops.
  • Have an aptitude and enthusiasm for mentoring less experienced developers and sharing your skills and knowledge.

Desirable

  • Experience in systems administration / DevOps covering Linux, postgres, docker, CI.
  • Extensive experience in database management and optimisation.
  • Expert proficiency with Python and JavaScript.
  • Expertise in statistics or data processing, whether through academic or commercial experience, and familiarity with data science tools and frameworks.
  • Healthcare domain experience, for example epidemiology or pharmacy.

Tech Lead

Essential

We are looking for candidates who can demonstrate management skills, excellent coding skills and practical knowledge of a wide variety of collaboration tools and software delivery techniques. They should show strong user empathy and enjoy helping others to be productive.

We will be considering the following characteristics:

Versatility and Adaptability

  • Demonstrate a natural curiosity and an eagerness to explore topics beyond your primary area of expertise.
  • Be comfortable working both independently and in a small team environment, with a light managerial touch.
  • Show enthusiasm for tackling challenges in medical informatics and transitioning between different domains as needed.
  • Strong interpersonal skills and able to to contribute to a supportive, helpful culture and work very closely with end users.
  • Strong communication skills, including the ability to communicate deeply technical concepts to non-technical audiences.

Ownership and Accountability

  • Be able to contribute to planning for software delivery: shaping work, estimation, risk and dependency identification.

Leadership and Technical Skills

  • Experience of line management, coaching, and building teams.
  • A proven track record of delivering the cultural and operational changes required to grow a team.
  • Expert coding skills in one or more languages commonly used in web development.
  • Fluent in the use of commonly-used collaboration tools and practices such as distributed version control, code review and continuous integration.
  • Able to take responsibility for complex, existing apps: this means new features, maintenance and devops.
  • Be self-motivated and capable of combining strategic thinking with hands-on engineering skills, with a focus on performance and quality improvement.
  • A track record of working with peers to propose and develop opportunities for improvement in team processes and cultures.

Desirable selection criteria

  • Experience in systems administration/DevOps or databases.
  • Proficiency with Python and JavaScript.
  • Healthcare domain experience, for example epidemiology or pharmacy.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment