https://github.com/nice-digital/head-of-software-engineering
A repository to share my journey of becoming head of software engineering at NICE Digital
https://github.com/nice-digital/head-of-software-engineering
Last synced: 4 months ago
JSON representation
A repository to share my journey of becoming head of software engineering at NICE Digital
- Host: GitHub
- URL: https://github.com/nice-digital/head-of-software-engineering
- Owner: nice-digital
- Created: 2019-11-04T14:24:27.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-01-09T10:32:56.000Z (over 6 years ago)
- Last Synced: 2025-07-25T07:57:28.918Z (11 months ago)
- Homepage: https://weeknot.es/@james.kirk84
- Size: 32.2 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Head of software engineering
This repository is to organise my ideas and resources in my journey becoming head of software engineering at NICE Digital. This is for anyone at NICE Digital and also to be shared publically for anyone who may be following a similar journey.
# Principles
Below are some principles that i've laid out to guide my efforts in developing the engineering team at NICE Digital.
## Use data to make decisions
Using data and insights to make decisions helps to prioritise work effectively. This applies to everything from technical engineering work to community of practice and skill development.
## Manage the system, not the people
Traditional command and control style management and leadership isn't very effective in a complex software development environment. Being a 'servant leader' better helps to support the teams to solve their own problems through a more facilitating style of leadership that recognises the expertise of the team. The key to sustainable positive organisational change is to manage the system that people work in, not by managing the people themselves. Empower teams with the data and feedback mechanisms they need to enable them to decide how to work.
## Stay technical
As a head of discipline, its important to still understand the problems and challenges facing developers in order to lead and support effectively. This means working where possible with other developers to understand the challenges demanded by software delivery work in the delivery teams.
## Develop skill
Sponsor others for opportunities to further their skills. Developing skill means that we have to slow down sometimes. Let the learner lead, not the expert. Champion and defend the value of skill development for individual and organisational capability.
## Make things fun
Work doesn't have to be boring. A little extra thought is all thats required to add a fun twist to most things. Simple things like adding a picture here or their to meeting invites, or a humourous description or theme for something can make all the difference. This can help to boost engagement.
# Gather insights
It's important to gather insights to inform where to focus efforts. Here are a few ways of gathering insights
## Do user research
Speak to developers. Ask them questions about top priorities to focus on. Make it clear that you are approachable and want to help. Do this privately in a space that's safe to talk. Ask open questions and use active listening.
## Do a developer survey
Depending on the size of your organisation, a [developer survey](Developer-survey.md) might be useful.
# A vision
I've written a [draft vision](Vision.md) for what software engineering could look like at NICE Digital in 18 months. I'm aiming to discuss with the team how we can all help to achieve this vision.