• No results found

Computer Science & Software Development SURVEY RESULTS

N/A
N/A
Protected

Academic year: 2021

Share "Computer Science & Software Development SURVEY RESULTS"

Copied!
16
0
0

Loading.... (view fulltext now)

Full text

(1)

Computer Science

& Software

Development

(2)

1 INTRODUCTION | © Codemanship Ltd 2012

CONTENTS

INTRODUCTION ... 2 SUMMARYOFRESULTS ... 3 EDUCATIONAL BACKGROUND ... 3 OCCUPATION ... 4 EXPERIENCE ... 4

LEVEL OF COMPUTER SCIENCE REQUIRED ... 5

BEST WAY TO LEARN ... 5

RANKING LEARNING FACTORS ... 6

INTERPRETATIONS OF “COMPUTER SCIENCE” ... 7

FILTERED RESULTS ... 8

DEVELOPERS WITH COMPUTER SCIENCE DEGREES OR HIGHER... 8

DEVELOPERS WITH OTHER DEGREES ... 10

EFFECT OF EXPERIENCE ... 12

CONCLUSION ... 13

DATA ... 14

(3)

2 INTRODUCTION | © Codemanship Ltd 2012

INTRODUCTION

Our experience working with a diverse range of companies, employing software developers from a variety of educational backgrounds, as well as links with computing academia, gives Codemanship a unique insight into software development education. Many employers and teachers still believe that the traditional academic route is best, and that software developers need to study for a degree in computer science before gaining experience in the workplace. But employers also report deep dissatisfaction with

computing graduates in their lack of practical experience and inability to create what they consider “good enough” software.

The picture drawn between academia and industry is a paradox, with computing faculties insisting it’s not the job of universities to provide graduates with skills for industry, and employers claiming that educators are failing them precisely by not doing so, whilst continuing to insist in many cases on the very computer science degrees they claim are not fit for the task.

We’re often engaged to work with recent computer science graduates to help fill this gap with training and coaching in software development principles and practices that employers feel should have been taught in university.

Seemingly, this is a paradox that cannot be resolved while each side insists it’s the job of the other to help would-be developers learn the skills we find are absolutely necessary to create software that’s fit for purpose, nor while “degree snobbery” continues to mean that – even though they feel those degrees aren’t helping – many employers still demand them from job candidates.

There’s one community that rarely gets asked for an opinion. What do software developers believe?

We ran a small survey to gather the opinions of people who write software for a living; many with formal academic qualifications in computer science, but also many without. The goal of our survey is to understand what developers themselves think is the best way to learn how to do what they do. After all, they should know.

(4)

3 SUMMARY OF RESULTS | © Codemanship Ltd 2012

SUMMARY OF RESULTS

Responses were solicited over the course of one day on Twitter. 266 people responded as follows:

EDUCATIONAL BACKGROU ND

Which of these best describes your educational background?

Answer Options Response Percent Response Count

Degree or post-graduate degree in Computer

Science 56.8% 151

Degree or post-grad in a mathematical or science

subject other than Computer Science 17.3% 46

Degree or post-grad in a non-maths or science subject (e.g., Arts, Humanities, Business etc)

10.5% 28

Further Education in Computer Science (e.g., Diploma)

5.6% 15

Further Education in non-computing subject 2.6% 7

Secondary or High school education including

Computer Science 1.5% 4

Secondary or High School education not including Computer Science

3.8% 10

I have no formal qualifications 1.9% 5

(5)

4 SUMMARY OF RESULTS | © Codemanship Ltd 2012

OCCUPATION

Which of the following best describes your current occupation?

Answer Options Response Percent Response Count

Teaching (school/college) 5.3% 14

Student of Computer Science 1.5% 4

Student of non-computing subject 1.1% 3

Post-Graduate Academic/Research 3.0% 8

Software Development 78.6% 209

Management related to computing 10.5% 28

Other 11

EXPERIENCE

How long have you been in your occupation?

Answer Options Response Percent Response Count

Less than a year 1.9% 5

1-2 years 6.4% 17

2-5 years 13.2% 35

5-10 years 31.2% 83

10-20 years 38.0% 101

(6)

5 SUMMARY OF RESULTS | © Codemanship Ltd 2012

LEVEL OF COMPUTER SCIENCE REQUIRED

Which of these statements best reflects your own views?

Answer Options Response Percent Response Count

I believe that a software developer needs to study Computer

Science to at least degree level 18.0% 48

I believe that a software developer needs to study a subset of degree-level Computer Science most directly applicable to writing software commercially

57.1% 152

I believe that basic high school Computer Science is sufficient

for the majority of software developers 6.0% 16

I do not believe that software developers need to study

computer science 18.8% 50

BEST WAY TO LEARN

Select which statement best reflects your views?

Answer Options Response Percent Response Count

I believe that formal education in at

university/college/school is the best way to learn how to be a software developer

0.8% 2

I believe that on-the-job learning and experience is the best way to learn how to be a software developer

10.2% 27

I believe that an equal mix of classroom-based learning & on-the-job experience is the best way to learn how to be a software developer

42.5% 113

I believe that a majority of on-the-job learning and experience should be complemented by a small amount of classroom-based study to become a software developer

(7)

6 SUMMARY OF RESULTS | © Codemanship Ltd 2012

I believe that a majority of classroom-based study, with a small amount of on-the-job experience, is the best way to become a software developer

4.1% 11

I believe that software developers can teach themselves at home (e.g., by reading and contributing to open source projects)

6.4% 17

I do not think it matters how you learn to become a software developer

15.4% 41

RANKING LEARNING FACTORS

(1 is Highest Importance, 5 is Lowest Importance)

0.00 2.00 4.00 6.00

Formal Comuter Science education General education (reading, writing,

maths, science, languages etc) On-the-job experience Self-directed & self-paced (home) learning Community activity (e.g., user groups,

conferences)

Rank the following factors in learning to become a software developer by their relative importance to you

(8)

7 SUMMARY OF RESULTS | © Codemanship Ltd 2012

INTERPRETATIONS OF “COMPUTER SCIENCE”

Which of these best describes what "Computer Science" means to you? (tick all that apply)

Answer Options Response Percent Response Count

A branch of mathematics concerned with set theory, logic, graph theory, data structures, algorithms, formal languages and other elements of Discrete Mathematics

73.3% 195

The study of theoretical topics in computing, such as program design, correctness, concurrency, security and Human-Computer Interaction

76.3% 203

The study of computing topics like programming, databases, computer networks, the World Wide Web and computer games design

45.1% 120

The study of computer architecture and the construction and operation of digital computers (e.g., logic gates, sequential logic circuits, memory, silicon chips)

38.3% 102

The study of applications of computing to domains like science, commerce, entertainment and engineering

(9)

8 Filtered Results | © Codemanship Ltd 2012

FILTERED RESULTS

DEVELOPERS WITH COMPUTER SCIENCE DEGREES OR

HIGHER

Which of these statements best reflects your own views?

Answer Options Response Percent Response Count

I believe that a software developer needs to study

Computer Science to at least degree level 24.0% 29

I believe that a software developer needs to study a subset of degree-level Computer Science most directly applicable to writing software commercially

62.0% 75

I believe that basic high school Computer Science is sufficient for the majority of software developers

2.5% 3

I do not believe that software developers need to study computer science

11.6% 14

Select which statement best reflects your views?

Answer Options Response Percent Response Count

I believe that formal education in at

university/college/school is the best way to learn how to be a software developer

0.8% 1

I believe that on-the-job learning and experience is the best way to learn how to be a software developer

5.8% 7

I believe that an equal mix of classroom-based learning & on-the-job experience is the best way to learn how to be a software developer

49.6% 60

I believe that a majority of on-the-job learning and experience should be complemented by a small amount of classroom-based study to become a software developer

20.7% 25

I believe that a majority of classroom-based study, with a small amount of on-the-job experience, is the best way to become a software developer

(10)

9 Filtered Results | © Codemanship Ltd 2012

I believe that software developers can teach themselves at home (e.g., by reading and

contributing to open source projects) 5.0% 6

I do not think it matters how you learn to become a

software developer 13.2% 16

0.00 2.00 4.00 6.00

Formal Comuter Science education General education (reading, writing,

maths, science, languages etc) On-the-job experience Self-directed & self-paced (home) learning Community activity (e.g., user groups,

conferences)

Rank the following factors in learning to become a software developer by their relative importance to you

(11)

10 Filtered Results | © Codemanship Ltd 2012

DEVELOPERS WITH OTHER DEGREES

Which of these statements best reflects your own views?

Answer Options Response Percent Response Count

I believe that a software developer needs to study

Computer Science to at least degree level 4.1% 3

I believe that a software developer needs to study a subset of degree-level Computer Science most directly applicable to writing software commercially

58.1% 43

I believe that basic high school Computer Science is

sufficient for the majority of software developers 9.5% 7

I do not believe that software developers need to

study computer science 28.4% 21

Select which statement best reflects your views?

Answer Options Response Percent Response Count

I believe that formal education in at

university/college/school is the best way to learn how to be a software developer

1.4% 1

I believe that on-the-job learning and experience is

the best way to learn how to be a software developer 12.2% 9

I believe that an equal mix of classroom-based learning & on-the-job experience is the best way to learn how to be a software developer

33.8% 25

I believe that a majority of on-the-job learning and experience should be complemented by a small amount of classroom-based study to become a software developer

27.0% 20

I believe that a majority of classroom-based study, with a small amount of on-the-job experience, is the best way to become a software developer

2.7% 2

I believe that software developers can teach themselves at home (e.g., by reading and contributing to open source projects)

(12)

11 Filtered Results | © Codemanship Ltd 2012

I do not think it matters how you learn to become a software developer

18.9% 14

0.00 2.00 4.00 6.00

Formal Comuter Science education General education (reading, writing,

maths, science, languages etc) On-the-job experience Self-directed & self-paced (home) learning Community activity (e.g., user groups,

conferences)

Rank the following factors in learning to become a software developer by their relative importance to you

(13)

12 Filtered Results | © Codemanship Ltd 2012

EFFECT OF EXPERIENCE

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Less than a year

1-2 years 2-5 years 5-10 years 10-20 years More than 20 years

I believe that a software developer needs to study a subset of degree-level

Computer Science most directly applicable to writing software commercially

I believe that a software developer needs to study Computer Science to at least degree level

I believe that basic high school Computer Science is sufficient for the majority of software developers

I do not believe that software developers need to study computer science

(14)

13 Conclusion | © Codemanship Ltd 2012

CONCLUSION

Responses to the final question inform us that the majority understand “computer science” to be a mathematical and/or a theoretical discipline, although the spread of interpretations is still quite wide. This may go some way to explaining the confusion that surrounds the question of how much “computer science” a software developer needs to learn, with some interpretations encompassing elements of software engineering, computer hardware design and digital electronics, and even applications of computing to a range of problem domains.

With or without formal computer science qualifications, there is a marked trend towards developers requiring only a subset of what they might expect to learn on a computer science degree, and towards an equal or great mix of on-the-job learning with classroom-based study of theory.

Although the data regarding these views as they change with experience is turbulent and relatively inconclusive (there appears to be a spike at around 2-5 years where a computer science degree is most highly valued, which drops off sharply from 5 years and beyond), we postulate that the value of theory does not increase significantly with greater

experience.

Anecdotally, our experience is that a majority of computer science graduates chose their field of study based on a desire to work in software development, as opposed to a strong interest in the subject itself or in a career in computer science research or academia. We acknowledge that computer science is not a vocational subject, and are not recommending that computer science degrees be changed to suit vocational needs. However, we urge educators and employers to recognize that, although many students choose to study computer science in higher and further education, their real goals are often vocational. In that sense, it’s not that the computer science degree is wrong in of itself, rather that the majority of computer science students are pursuing the wrong degree, and going about learning to become software developers – their ultimate ambition in a majority of cases – in the wrong way.

It’s clear that the majority of respondents believe that computer science is important to software developers, but not necessarily of prime importance. Both computer science graduates and non-CS graduates believe in roughly equal proportions that on-the-job experience is more important, and by-and-large, this belief doesn’t diminish with greater experience. A very significant proportion value general education equally or higher than computer science.

Codemanship proposes to investigate options for a balanced approach to learning for those students who aspire to careers in software development that addresses equally both vocational needs by giving them considerable hands-on experience of real-world projects and theoretical rigour with which to inform their practice.

(15)

14 Data | © Codemanship Ltd 2012

DATA

You can download the complete data for this survey from:

(16)

15 About Codemanship | © Codemanship Ltd 2012

ABOUT CODEMANSHIP

We provide training and coaching to software teams in the key technical disciplines that are critical for sustaining the pace of innovation in your business.

Formed in 2009 by industry veteran Jason Gorman, our clients include the BBC, Electronic Arts, Channel 4, Sky, Caplin Systems, Rabobank, Capital Group, Treyport, Higher Education Statistics Agency, AXA Swiftcover, XLN, Red Gate Software, 7digital, Pinesoft, Canal Digital, Collinson Latitude, City Index and Siemens Industry Software.

We are proud organisers of the original international Software Craftsmanship conference.

References

Related documents

Additionally, the lack of frequent CALL usage as an important tool by teachers and students diminishes the potential for students of become more independent learners due to

Distribucija mastiti þ nih krava (> 400.000 SS/ml mlijeka) u odnosu na razli þ ito vrijeme plato faze mužnje..

U praksi se najviše koriste hladnokrvne pasmine kobila za ovaj tip proizvodnje, jer kao što je ranije spomenuto možemo pomusti veće količine mlijeka, a i ždrijebe je

Materials, Methods & Results : Sixty Holstein heifers, 32 ± 0.6 months of age, were divided into two groups: Control Group (Control, n = 30) comprising pregnant heifers that

Sve tri ove grupe spojeva su zastupljenije kod pršuta dobi 10 mjeseci (83,5% vs. 87,72%), ali razlike nisu statistički značajne.. Najzastupljeniji hlapljivi spoj kod obje grupe

The model of ITO outcomes includes independent variables associated with transaction attributes, relational and contractual governance, client and provider

To determine the effects of the plants extracts such as Samanae saman, Jacaranda filicifolia, Tamarindus indica and others on the activity of three

 The NWC SAF develops and maintains SW Packages (for GEO and POLAR Satellites) freely distributed to registered users to generate satellite products with a direct application