SlideShare a Scribd company logo
How good of a
developer are you?
And can we objectively measure this?
Bio
• Roy Wasse
• Bsc. Technical
Computer Science
• Msc. Philosophy of
Technology
• Co Founder OpenValue
• Dev & Management roles
• 15+ years of hiring
experience
Is someone is a
‘good’ dev!
• Do you know YAGNI or HATEOS, SOLID?
• Explain balanced binary tree search algo?
• Use 20 best interview questions from
internet
• Apply Open Hiring?
• Proxy variables e.g., CV, experience,
education, references, questionnaire
• Whiteboard coding
• Make (lengthy) assignment
Google Hiring process
• Assessments: You may be asked to do a brief online assessment, like a coding quiz, after
you’ve submitted your resume.
• Short virtual chats: Before diving into more in-depth interviews, you’ll typically have
one or two shorter conversations over phone or video. These will usually be with a
recruiter and then with either the hiring manager or peer on the team, and are designed
to assess key skills you’ll need for the role.
• Project work: We sometimes ask candidates to complete a small project prior to their in-
depth interviews. This could range from prepping a case study to providing writing or
code samples (don’t stress, they’re not that scary and we won’t spring this on you
without warning), and helps us understand how you think and approach problems. We’ll let
you know about any additional materials we’ll need early on.
• Interviews: We get excited about interviewing and take it seriously because, at the risk
of sounding cliché, Google is what Googlers make it. Our process can be rigorous
(typically 3-4 interviews in one day, either over video or in person).
• Can science help us and
how?
• Let’s dive into
literature
• And see how we can
predict of someone will
be a good dev!
Who knows what
works?!!
Use of Aptitude tests
• Measure if someone is dispositioned well to excel
• Popular in the 1970s (e.g., Alspaugh, 1972; Mazlack,
1980)
• due to lack of good results from these tests not used
much anymore (Bornat, Dehnadi, & Simon, 2008; Curtis,
1991; Mayer & Stalnaker, 1968)
• Also: in a sample of over 3,500 students, no
incremental validity was found for specialized aptitude
tests for programmers over the more general aptitude
tests used by the United States Air Force (Besetsny,
Ree, & Earles, 1993)
Role of
education
• Large meta study (Roth,
BeVier, Switzer, &
Schippmann, 1996)
reported a correlation of
r = 0.16
• Shortly after graduation,
correlation between
grades and job
performance much higher
• 1 year, r = 0.23,
n = 1,288
• 6 years, r = 0.05,
n = 866.
Role of
experience
• Studies show positive effect
of having programming
experience (Agarwal, Sinha &
Tanniru, 1996; Arisholm &
Sjøberg, 2004)
• Other studies have reported
no effect of experience
beyond the first few years
(Jeffery & Lawrence, 1979) or
no effect of experience
(Jørgensen, 1995; Wohlin,
2002, 2004)
Role of
Programming
knowledge
• Central predictor of skill is
knowledge (Chi et al., 1988)
• Used in Java certification
• But…software development is a
skill
Acquired by practice
What is skill?
• Ability (Ferguson, 1956):
“An ability is a trait
defined by what an
individual can do”
• “Skill is specialized type
of ability, one that
improves with practice and
is well adjusted, well
organized and goal
oriented” (Fitts & Posner,
1967)
Model of skill acquisition
• “A Five-Stage Model of the Mental Activities
Involved in Directed Skill Acquisition”,
(Dreyfus & Dreyfus, 1980)
• Flow is at level 5
• Also think of driving / playing chess
It’s all about skill?
• Skill cannot by equated with performance
• “the individual performed well because of his
high level of skill” is a generalization
(Messick, 1994)
• 8 major components of job performance research
show 3 direct determinants of performance on
the job: knowledge, skill and motivation
(Campbell, McCloy, Oppler & Sager, 1993)
Skill is just one..?
Campbell’s work performance framework proposed eight work performance
dimensions:
1. job-specific task proficiency <= skill
2. non–job-specific task proficiency
3. written and oral communications
4. demonstrating effort
5. maintaining personal discipline
6. facilitating peer and team performance
7. supervision
8. management and administration.
According to Campbell, these eight dimensions are sufficient to describe
the latent structure of performance at a general level. However, he also
noted that the eight factors can have different patterns of subdimensions,
and their content and salience can vary across jobs.
Technical skill is the most important one
(McGill, 2008)
Skill & project success
emphasizing low price when selecting software providers in bidding
rounds increases the likelihood project will fail.” (Jørgensen 2011)
Tested by analyzing a dataset of 4,791,067 bids for 785,326 small-
scale projects
Clients emphasizing a low price selected providers with lower skill,
resulted in 9% increase in failure rate
What about
teamwork
• Team performance is more
complex to understand
than individual
performance (see, e.g.,
Baker & Salas, 1992;
Volmer, 2006),
individual skill or
expertise is
nevertheless a central
component in team
performance (Land, Wong,
& Jeffery, 2003).
Deep dive
into skills
• And…how to objectively
measure coding skills
• Soft skills
How good of developer are you v1.1 DevWorld.pdf
Research overview
• Relations between effort estimates, skill indicators, and measured
programming skill. Magne Jørgensen, Gunnar R. Bergersen and Knut
Liestøl (2021)
• Measuring Programming Skill: Construction and Validation of an
Instrument for Evaluating Java Developers. Gunnar R. Bergersen,
PhD thesis (2015)
• Construction and validation of an instrument for measuring
programming skill. Gunnar R. Bergersen, Dag I. K. Sjøberg, and
Tore Dybå (2014)
• Evaluating methods and technologies in software engineering with
respect to developers’ skill level. Gunnar R. Bergersen and Dag I.
K. Sjøberg (2012)
• Inferring skill from tests of programming performance: combining
time and quality. Gunnar R. Bergersen, Jo E. Hannay, Dag I. K.
Sjøberg, Tore Dybå, and Amela Karahasanovic (2011)
• Programming skill, knowledge, and working memory among
professional developers from an investment theory perspective.
Gunnar R. Bergersen and Jan-Eric Gustafsson (2011)
How to measure skill?
• Home work assignment (better rotate those)
• Whiteboard coding (under pressure)
• Online questionaires (assuming correlation
between real world coding)
• All are subjective
• And probably you want to get it right!
Measure via self
assessment
• Ratings of self may work
better when people compare
themselves relative to
each other (people they
know) rather than when
providing absolute ratings
(Kruger and Dunning (1999)
Source:
wikipedia
Task performance is key
• >20 studies about job performance assessed
• Almost all frameworks mentioned task
performance as an important dimension of
individual work performance.
Predict skill
• Study of novice LISP
programmers (Anderson &
Jeffries, 1985) found that
“the best predictor of
individual subject
differences in errors on
problems that involved one
LISP concept was the number
of errors on other problems
that involved different
concepts” (Anderson, 1987,
p. 203).
How to put this into a system
• Time (Bergersen, 2011)
• Quality (Ebert et. al. 2005)
Create a measurement model & test the model on
new data
(Bergersen et al., 2014)
Rasch model
• More than 50 years ago, Rasch (1960) used tests
to study the reading performance of students.
• Rasch models have become a practical way to
measure psychological abilities
Task construction
1.Picked existing tasks from literature
2.Reanalyzed data sets to combine time & quality
3.Large control group with 255 developers from 9
countries used to score tasks
• Collection of tasks
• VM in the cloud (Linux + IntelliJ / Eclipse
• Interchangeable
Building a new standard to measure & analyze
software engineering skills_
Detailed analytics of skills and
meaningful comparisons with empirically validated norm groups_
Foojay community
• Over 1000 members
• 2 news articles every week day
• Podcast
• Conference information
• Tech questions
• And the certification initiative!
Conclusion
• Be careful using proxy variables and your gut
feeling for selecting devs
• Coding is mostly about skills
• Research shows how to measure skills
• So let’s do this!

More Related Content

PDF
How good of developer are you?
PPTX
Definitive answer to developer productivity v1 .2 Devworld.pptx
PPTX
How good of developer are you v1 .1 ASML.pptx
PPT
Test specifications and designs session 4
PPT
Test specifications and designs
PPTX
UDL and Assessment for Assessment and Learning
PPT
rubricpp-131007133301-phpapp0pppppppppppppppppp1.ppt
PPT
Agile Software Development.ppt
How good of developer are you?
Definitive answer to developer productivity v1 .2 Devworld.pptx
How good of developer are you v1 .1 ASML.pptx
Test specifications and designs session 4
Test specifications and designs
UDL and Assessment for Assessment and Learning
rubricpp-131007133301-phpapp0pppppppppppppppppp1.ppt
Agile Software Development.ppt

Similar to How good of developer are you v1.1 DevWorld.pdf (20)

PDF
DBR (Design-Based Research) in mobile learning-Mlearn2013 Doha A_Palalas C_G...
PPTX
History Class - For software testers
PPT
Agile software development
PPTX
Artificial Unintelligence:Why and How Automated Essay Scoring Doesn’t Work (m...
PDF
Web-Based Self- and Peer-Assessment of Teachers’ Educational Technology Compe...
PPTX
SIGIR Tutorial on IR Evaluation: Designing an End-to-End Offline Evaluation P...
PDF
Thesis+of+zohreh+sharafi.ppt
PPT
Creating Rubrics
PPTX
Prezentation
PDF
Agile Education
PDF
[2017/2018] RESEARCH in software engineering
PPT
Messy Research: How to Make Qualitative Data Quantifiable and Make Messy Data...
PPTX
Session 2 into to qualitative research intro
PDF
Usability Testing for Qualitative Researchers - QRCA NYC Chapter event
PDF
Advanced Methods for User Evaluation in Enterprise AR
PPTX
HUS 201 Chapter Eleven
PPTX
Presentation to 2016 Evidence Based School Counseling Conference, University ...
PPTX
Process protocol for virtual team effectiveness
PPTX
Java parser a fine grained indexing tool and its application
PPT
Isd basics stc
DBR (Design-Based Research) in mobile learning-Mlearn2013 Doha A_Palalas C_G...
History Class - For software testers
Agile software development
Artificial Unintelligence:Why and How Automated Essay Scoring Doesn’t Work (m...
Web-Based Self- and Peer-Assessment of Teachers’ Educational Technology Compe...
SIGIR Tutorial on IR Evaluation: Designing an End-to-End Offline Evaluation P...
Thesis+of+zohreh+sharafi.ppt
Creating Rubrics
Prezentation
Agile Education
[2017/2018] RESEARCH in software engineering
Messy Research: How to Make Qualitative Data Quantifiable and Make Messy Data...
Session 2 into to qualitative research intro
Usability Testing for Qualitative Researchers - QRCA NYC Chapter event
Advanced Methods for User Evaluation in Enterprise AR
HUS 201 Chapter Eleven
Presentation to 2016 Evidence Based School Counseling Conference, University ...
Process protocol for virtual team effectiveness
Java parser a fine grained indexing tool and its application
Isd basics stc
Ad

More from Roy Wasse (6)

PPTX
Software development in the modern age
PDF
Cool crypto concepts JavaZone
PPTX
Cool Crypto Concepts CodeOne SFO
PDF
Blockchain talk isense 30-5-2018
PPTX
Crypto talk OpenValue meetup 20-3-18
PPTX
Blockchain talk open value meetup 31-8-17
Software development in the modern age
Cool crypto concepts JavaZone
Cool Crypto Concepts CodeOne SFO
Blockchain talk isense 30-5-2018
Crypto talk OpenValue meetup 20-3-18
Blockchain talk open value meetup 31-8-17
Ad

Recently uploaded (20)

PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Introduction to Artificial Intelligence
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Digital Strategies for Manufacturing Companies
PDF
System and Network Administration Chapter 2
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
ai tools demonstartion for schools and inter college
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
Transform Your Business with a Software ERP System
PPTX
Essential Infomation Tech presentation.pptx
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Design an Analysis of Algorithms II-SECS-1021-03
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Introduction to Artificial Intelligence
Odoo Companies in India – Driving Business Transformation.pdf
Digital Strategies for Manufacturing Companies
System and Network Administration Chapter 2
2025 Textile ERP Trends: SAP, Odoo & Oracle
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Wondershare Filmora 15 Crack With Activation Key [2025
wealthsignaloriginal-com-DS-text-... (1).pdf
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
ai tools demonstartion for schools and inter college
CHAPTER 2 - PM Management and IT Context
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Transform Your Business with a Software ERP System
Essential Infomation Tech presentation.pptx
How to Choose the Right IT Partner for Your Business in Malaysia
Design an Analysis of Algorithms II-SECS-1021-03

How good of developer are you v1.1 DevWorld.pdf

  • 1. How good of a developer are you? And can we objectively measure this?
  • 2. Bio • Roy Wasse • Bsc. Technical Computer Science • Msc. Philosophy of Technology • Co Founder OpenValue • Dev & Management roles • 15+ years of hiring experience
  • 3. Is someone is a ‘good’ dev! • Do you know YAGNI or HATEOS, SOLID? • Explain balanced binary tree search algo? • Use 20 best interview questions from internet • Apply Open Hiring? • Proxy variables e.g., CV, experience, education, references, questionnaire • Whiteboard coding • Make (lengthy) assignment
  • 4. Google Hiring process • Assessments: You may be asked to do a brief online assessment, like a coding quiz, after you’ve submitted your resume. • Short virtual chats: Before diving into more in-depth interviews, you’ll typically have one or two shorter conversations over phone or video. These will usually be with a recruiter and then with either the hiring manager or peer on the team, and are designed to assess key skills you’ll need for the role. • Project work: We sometimes ask candidates to complete a small project prior to their in- depth interviews. This could range from prepping a case study to providing writing or code samples (don’t stress, they’re not that scary and we won’t spring this on you without warning), and helps us understand how you think and approach problems. We’ll let you know about any additional materials we’ll need early on. • Interviews: We get excited about interviewing and take it seriously because, at the risk of sounding cliché, Google is what Googlers make it. Our process can be rigorous (typically 3-4 interviews in one day, either over video or in person).
  • 5. • Can science help us and how? • Let’s dive into literature • And see how we can predict of someone will be a good dev! Who knows what works?!!
  • 6. Use of Aptitude tests • Measure if someone is dispositioned well to excel • Popular in the 1970s (e.g., Alspaugh, 1972; Mazlack, 1980) • due to lack of good results from these tests not used much anymore (Bornat, Dehnadi, & Simon, 2008; Curtis, 1991; Mayer & Stalnaker, 1968) • Also: in a sample of over 3,500 students, no incremental validity was found for specialized aptitude tests for programmers over the more general aptitude tests used by the United States Air Force (Besetsny, Ree, & Earles, 1993)
  • 7. Role of education • Large meta study (Roth, BeVier, Switzer, & Schippmann, 1996) reported a correlation of r = 0.16 • Shortly after graduation, correlation between grades and job performance much higher • 1 year, r = 0.23, n = 1,288 • 6 years, r = 0.05, n = 866.
  • 8. Role of experience • Studies show positive effect of having programming experience (Agarwal, Sinha & Tanniru, 1996; Arisholm & Sjøberg, 2004) • Other studies have reported no effect of experience beyond the first few years (Jeffery & Lawrence, 1979) or no effect of experience (Jørgensen, 1995; Wohlin, 2002, 2004)
  • 9. Role of Programming knowledge • Central predictor of skill is knowledge (Chi et al., 1988) • Used in Java certification • But…software development is a skill Acquired by practice
  • 10. What is skill? • Ability (Ferguson, 1956): “An ability is a trait defined by what an individual can do” • “Skill is specialized type of ability, one that improves with practice and is well adjusted, well organized and goal oriented” (Fitts & Posner, 1967)
  • 11. Model of skill acquisition • “A Five-Stage Model of the Mental Activities Involved in Directed Skill Acquisition”, (Dreyfus & Dreyfus, 1980) • Flow is at level 5 • Also think of driving / playing chess
  • 12. It’s all about skill? • Skill cannot by equated with performance • “the individual performed well because of his high level of skill” is a generalization (Messick, 1994) • 8 major components of job performance research show 3 direct determinants of performance on the job: knowledge, skill and motivation (Campbell, McCloy, Oppler & Sager, 1993)
  • 13. Skill is just one..? Campbell’s work performance framework proposed eight work performance dimensions: 1. job-specific task proficiency <= skill 2. non–job-specific task proficiency 3. written and oral communications 4. demonstrating effort 5. maintaining personal discipline 6. facilitating peer and team performance 7. supervision 8. management and administration. According to Campbell, these eight dimensions are sufficient to describe the latent structure of performance at a general level. However, he also noted that the eight factors can have different patterns of subdimensions, and their content and salience can vary across jobs.
  • 14. Technical skill is the most important one (McGill, 2008)
  • 15. Skill & project success emphasizing low price when selecting software providers in bidding rounds increases the likelihood project will fail.” (Jørgensen 2011) Tested by analyzing a dataset of 4,791,067 bids for 785,326 small- scale projects Clients emphasizing a low price selected providers with lower skill, resulted in 9% increase in failure rate
  • 16. What about teamwork • Team performance is more complex to understand than individual performance (see, e.g., Baker & Salas, 1992; Volmer, 2006), individual skill or expertise is nevertheless a central component in team performance (Land, Wong, & Jeffery, 2003).
  • 17. Deep dive into skills • And…how to objectively measure coding skills • Soft skills
  • 19. Research overview • Relations between effort estimates, skill indicators, and measured programming skill. Magne Jørgensen, Gunnar R. Bergersen and Knut Liestøl (2021) • Measuring Programming Skill: Construction and Validation of an Instrument for Evaluating Java Developers. Gunnar R. Bergersen, PhD thesis (2015) • Construction and validation of an instrument for measuring programming skill. Gunnar R. Bergersen, Dag I. K. Sjøberg, and Tore Dybå (2014) • Evaluating methods and technologies in software engineering with respect to developers’ skill level. Gunnar R. Bergersen and Dag I. K. Sjøberg (2012) • Inferring skill from tests of programming performance: combining time and quality. Gunnar R. Bergersen, Jo E. Hannay, Dag I. K. Sjøberg, Tore Dybå, and Amela Karahasanovic (2011) • Programming skill, knowledge, and working memory among professional developers from an investment theory perspective. Gunnar R. Bergersen and Jan-Eric Gustafsson (2011)
  • 20. How to measure skill? • Home work assignment (better rotate those) • Whiteboard coding (under pressure) • Online questionaires (assuming correlation between real world coding) • All are subjective • And probably you want to get it right!
  • 21. Measure via self assessment • Ratings of self may work better when people compare themselves relative to each other (people they know) rather than when providing absolute ratings (Kruger and Dunning (1999) Source: wikipedia
  • 22. Task performance is key • >20 studies about job performance assessed • Almost all frameworks mentioned task performance as an important dimension of individual work performance.
  • 23. Predict skill • Study of novice LISP programmers (Anderson & Jeffries, 1985) found that “the best predictor of individual subject differences in errors on problems that involved one LISP concept was the number of errors on other problems that involved different concepts” (Anderson, 1987, p. 203).
  • 24. How to put this into a system • Time (Bergersen, 2011) • Quality (Ebert et. al. 2005) Create a measurement model & test the model on new data (Bergersen et al., 2014)
  • 25. Rasch model • More than 50 years ago, Rasch (1960) used tests to study the reading performance of students. • Rasch models have become a practical way to measure psychological abilities
  • 26. Task construction 1.Picked existing tasks from literature 2.Reanalyzed data sets to combine time & quality 3.Large control group with 255 developers from 9 countries used to score tasks
  • 27. • Collection of tasks • VM in the cloud (Linux + IntelliJ / Eclipse • Interchangeable Building a new standard to measure & analyze software engineering skills_
  • 28. Detailed analytics of skills and meaningful comparisons with empirically validated norm groups_
  • 29. Foojay community • Over 1000 members • 2 news articles every week day • Podcast • Conference information • Tech questions • And the certification initiative!
  • 30. Conclusion • Be careful using proxy variables and your gut feeling for selecting devs • Coding is mostly about skills • Research shows how to measure skills • So let’s do this!