Skip to main content

Building a Community of Practice

In this post we set out the steps we have taken to build the NHS Python community into a community of practice, and highlight the opportunities we created for new members to get involved with the running of the community.

What is a community of practice?

Communities of practice have been set up to bring together teams across government who share common job roles, responsibilities or remits, but otherwise are working in departmental/organisational silos. Their aims are to foster communication, interaction, and provide opportunities to share knowledge, ideas and experience.

Both the Central Digital and Data Office and the Government Digital Service in the Cabinet Office have developed resources over the years to help new communities of practice get started.

The NHS Python Community for Healthcare

Our community was set up to champion the use of python programming and open-source code in the NHS and healthcare sector. Python is an open source, state of the art programming language, used by analysts, developers, data scientists, and data engineers. Python's widespread adoption is, in part, due to its accessible 'human readable' syntax, making it relatively easy to pick up and learn. In fact, Python is already used extensively throughout the NHS and healthcare community.

NHS Python Community Board

The NHS Python Community Board exists to oversee the operations and activities of the NHS Python Community project. The Board will be responsible for promoting these principles and aims:

Principles and aims of the Python Community

  • Promote the use of python in the healthcare by celebrating success and recognising contributions across the community
  • Reduce barriers to entry by highlighting best practice with regard to software, IT operations, security, and coding in the open
  • Open source and publish code to public GitHub repositories under appropriate licences (such as MIT, OGLv3, and GPLv3) alongside suitable open datasets or synthetic data so that our work can be further developed, re-used, and improved upon by everyone in the community
  • Break down silos of expertise and improve technical communication and collaboration across the NHS, health and social care sectors
  • Champion diversity, inclusion, and representation in tech by making coding accessible to all members of the community regardless of background or current level of ability

The NHS.pycom board meetings will meet monthly. It will govern, and provide a check and challenge function on project teams and will act as the parent group to any future sub-committees and technical advisory groups that form.

Board members are appointed for a 1 year term. Before the next financial year, the Board will vote on a fair procedure that will elect the next term's board members.

In accordance with communities' commitment to the principle of openness and transparency, the board summary notes will be published online, available here: https://github.com/nhs-pycom/nhs.pycom/tree/main/board_notes

Current Members:

Executive Team

We expanded the NHS Python community team with new roles to create an executive group that can take forward the work building a community of practice. These are volunteer roles (as are all roles in the community) but require an appropriate level of time commitment: i.e., approximately 2 hours per week.

We were particularly looking for early-carers / apprentices / trainees who want to get involved. In this case, enthusiasm is more important than experience.

Community Manager

Responsibilities

  • Establishing direction for the community, leading by example, and motivating our members and volunteers to get involved.
  • Develop the overall strategic plan for growing the community with the NHS Python Community Board.
  • Help recruit and manage the executive team.
  • Build relationships with other communities of practice across the NHS and Government.
  • Represent the organisation at external events and publicity opportunities.
  • Report progress and seek approval from the Community Board.

Ideally, this role would suit someone who is employed by the NHS.

Content Manager

Responsibilities

  • Find and curate content for the community website and slack channel.
  • Help members of the community with copy editing and publishing on blogging platforms such as Medium.
  • Develop the communities social media presence and brand identity.

Events Manager

Responsibilities

  • Help organise, host, and deliver successful events that leave memorable experiences for the members of the community
  • Book events using the ‘events.england.nhs.uk’ platform
  • Place advertisements for events on AnalystX and send out comms to NHS data and analytics teams
  • Work with our web developer to update the NHS Python community website events page

Ideally, this role would suit someone who is employed by the NHS.

Web Developer

Responsibilities

  • Further develop and update the NHS Python community website: https://nhs-pycom.net/
  • Work with the NHS.UK template.
  • Develop HTML/CSS skills.
  • Manage the community GitHub site.
  • Update community projects, blogs, event, and resources pages as needed.

Ideally, this role would suit someone who is employed by the NHS.