Coding frequency and tools

Coding frequency

We asked our respondents, “In my current role, I write code to complete my work objectives _____”.

Show chart Show table
Coding frequency Count
Never 4
Rarely 9
Sometimes 22
Regularly 41
All the time 25
a Sample size = 101

Access to and knowledge of programming languages

For each of the most popular programming languages from last year’s CARS data, we asked respondents to answer “yes”, “no” or “I don’t know” for the following statements:

  • I know how to program with this tool to a level suitable for my work
  • This tool is available to use for my work

Knowledge of programming tools

Show chart Show table
Programming language Yes Don't know No
C++ / C# 17 4 80
Java / Scala 14 5 82
Javascript / Typescript 13 4 84
Python 52 3 46
R 81 1 19
SAS 37 4 60
SPSS 26 5 70
SQL 72 5 24
Stata 10 4 87
VBA 54 2 45
a Sample size = 101

Access to programming tools

Show chart Show table
Programming language Yes Don't know No
C++ / C# 10 48 43
Java / Scala 13 50 38
Javascript / Typescript 21 48 32
Python 71 15 15
R 98 1 2
SAS 45 30 26
SPSS 38 38 25
SQL 76 17 8
Stata 27 50 24
VBA 76 19 6
a Sample size = 101

Access and knowledge gaps

We used the above data to calculate the number of respondents who have access but no knowledge, access and knowledge, and knowledge but no access for each programming language.

Show chart Show table
Programming language Access only Access and knowledge Knowledge only
C++ / C# 8 2 15
Java / Scala 12 1 13
Javascript / Typescript 14 7 6
Python 28 43 9
R 18 80 1
SAS 19 26 11
SPSS 24 14 12
SQL 13 63 9
Stata 23 4 6
VBA 26 50 4
a Sample size = 101

What are people using code for?

We asked respondents what data operations they do in their work, and whether they use code to do them.

Show chart Show table
Data operation I do this without coding I do some or all of this by coding
Data Analysis 12 86
Data Cleaning 8 77
Data Transfer / Migration 11 39
Data Visualisation 18 74
Quality Assurance 25 70
a Sample size = 101

Coding capability

We asked respondents a series of questions about whether they feel their coding ability is improving in their current role and where they first learned to code.

Change in coding ability during current role

Respondents who had coding experience outside of their current role were asked whether there has been a change in their coding ability during current employment.

Show chart Show table
Coding ability changes Count
Significantly worse 7
Slightly worse 9
No change 12
Slightly better 47
Significantly better 21
a Sample size = 96

Where respondents have learned to code

Respondents were asked whether they had coding experience outside their current role and, if so, where.

Show chart Show table
First coding experience Count
In current role 6
In education 57
In private sector employment 3
In public sector employment 13
Self-taught 22
Other 0
a Sample size = 101

Coding practices

We asked respondents to report how often they make use of each of the coding practices. Please note that while there are many different coding practices listed below, we understand that not all are proportionate for every coding project.

General coding practices

Show chart Show table
Percent
Question I don't understand this question Never Rarely Sometimes Regularly All the time
I use open source software when programming 4.1 7.2 7.2 10.3 33.0 38.1
I follow a standard directory structure when programming 16.5 8.2 10.3 19.6 27.8 17.5
I follow coding guidelines or style guides when programming 2.1 4.1 9.3 24.7 41.2 18.6
I use a source code version control system e.g. Git 4.1 33.0 12.4 15.5 16.5 18.6
Code my team writes is reviewed by a colleague 1.0 7.2 5.2 22.7 34.0 29.9
I write repetitive elements in my code as functions 1.0 4.1 3.1 20.6 37.1 34.0
I collect my code and supporting material into packages 5.2 43.3 14.4 21.6 11.3 4.1
I unit test my code 21.6 20.6 11.3 16.5 15.5 14.4
I write code to automatically quality assure data 0.0 20.6 20.6 32.0 16.5 10.3
My team open sources its code 7.2 58.8 15.5 11.3 5.2 2.1
a Sample size = 97

Documentation

Show chart Show table
Percent
Question I don't understand this question Never Rarely Sometimes Regularly All the time
Analytical Quality Assurance (AQA) logs 5.2 20.6 13.4 13.4 22.7 24.7
Data or assumptions registers 8.2 14.4 12.4 24.7 23.7 16.5
Documentation for each function or class 4.1 9.3 15.5 19.6 34.0 17.5
Code comments 2.1 1.0 0.0 2.1 29.9 64.9
Flow charts 2.1 20.6 21.6 36.1 14.4 5.2
README files 5.2 15.5 16.5 25.8 21.6 15.5
Desk notes 27.8 19.6 10.3 22.7 14.4 5.2
a Sample size = 97

Reproducible workflow packages

We asked respondents “do you use reproducible workflow packages e.g. drake, make or pymake?”.

Show chart Show table
Use reproducible workflow packages Count
Yes 2
No 65
Don't know what they are 30
a Sample size = 97

Source control platform

The number of users of each source control platform.

Show chart Show table
Version control platform Yes
GitHub 23
GitLab 19
BitBucket 2
AWS CodeCommit 0
Cloud Source Repository (Google Cloud) 1
a Sample size = 97

RAP knowledge and opinions

Knowledge of RAP and RAP champions

We asked our respondents whether they had heard of RAP and what their knowledge is of their own department RAP champion.

Show chart Show table
RAP champion knowledge Count
Have not heard of RAP 26
Heard of RAP, have not heard of RAP champions 23
Heard of RAP, does not know department champion 32
Heard of RAP champions, no champion in department 2
Knows department RAP champion 16
a Sample size = 101

Opinions on RAP

We asked our respondents who had heard of RAP the extent to which they agree with the following statements:

  • “I understand what the key components of the RAP methodology are”
  • “I feel confident implementing RAP in my work”
  • “I think it is important to implement RAP in my work”
  • “I feel supported to implement RAP in my work”
  • “I know where to find resources to help me implement RAP”
  • “I and/or my team are currently implementing RAP”

The figure and table show the percentage of respondents who picked each response option. Percentages are out of a sample of respondents who said they had heard of RAP.

Show chart Show table
Percent
Question Strongly disagree Disagree Neutral Agree Strongly agree
I understand what the key components of the RAP methodology are 4.0 10.7 18.7 50.7 16.0
I feel confident implementing RAP in my work 12.0 22.7 18.7 36.0 10.7
I think it is important to implement RAP in my work 4.0 8.0 22.7 38.7 26.7
I feel supported to implement RAP in my work 14.7 13.3 26.7 34.7 10.7
I know where to find resources to help me implement RAP 13.3 25.3 26.7 25.3 9.3
I and/or my team are currently implementing RAP 21.3 22.7 21.3 25.3 9.3
a Sample size = 75

RAP scores

RAP components

The frequencies for each RAP component below are derived from a series of questions on coding practices (see the coding practices page). These were used to calculate scores for each component (0/1) where respondents answered “regularly” or “all the time” to the relevant questions. The list of RAP components used here is based on the RAP minimum viable product guidance agreed by the RAP champions network.

Show chart Show table
Component Type Count
Documentation Basic 34
Peer review Basic 62
Team open source code Basic 7
Use open source software Basic 69
Version control Basic 34
Code packages Advanced 15
Continuous integration Advanced 19
Dependency management Advanced 22
Follow code style guidelines Advanced 58
Function documentation Advanced 50
Functions Advanced 69
Unit testing Advanced 29
a Sample size = 97

Basic RAP scores

Show chart Show table
Basic RAP score Count
0 10
1 26
2 31
3 20
4 12
5 2
a Sample size = 97

Advanced RAP scores

Show chart Show table
Advanced RAP score Count
0 13
1 10
2 25
3 18
4 16
5 8
6 5
7 2
a Sample size = 97