SlideShare a Scribd company logo
The Stages of Developer Experience
         From Freshman to Senior
Freshman

● Characteristics
  ○ Sucks at programming and knows it
  ○ Low self confidence
  ○ Can't do fizzbuzz
  ○ 50% of all "developers" are Freshmen
● How to tell:
  ○ "LOL this code sure is shitty", "Yeah I know, I'm a noob"
  ○ May have a CS degree
  ○ May even have 15 years experience at a MegaCorp.
● How to graduate:
  ○ Get a major win.
  ○ Complete a project that you're proud of. (complete a tutorial, get
      something merged into an OSS project, etc.)
Sophomore

● Characteristics
  ○ Thinks they are great, but actually still suck
  ○ Calls him/herself "programmer"
  ○ Pounds out shitty code by the barrelful
  ○ "Wise and foolish"
  ○ 49% of all developers, 90% of working developers
● How to tell
  ○ "LOL this code sure is shitty", *gets offended*
  ○ Code they wrote 5 months ago looks the same as code written today
● How to graduate
  ○ Experience a major failure
Junior

● Characteristics
  ○ Knows first hand the importance of documentation, refactoring, type
      systems, proper architecture, etc.
  ○ Idealistic - Wants everyone else to things right too.
  ○ Writes genuinely great code
  ○ Assholes - Aware of their greatness, is actually great
  ○ 0.9% of all developers
  ○ Long process of continual improvement
● How to spot
  ○ "LOL this code sure is shitty", "Yeah I know, lets make it better"
  ○ Code written 5 months ago looks bad compared to code written today
  ○ Code written 5 years ago looks completely awful compared to code
      written today
● How to graduate
  ○ get old
Senior

● Characteristics
  ○ Senior year just kind of sneaks up on you, uneventfully
  ○ Doesn't give a fuck anymore
  ○ Is a great developer, but has dropped the idealism
  ○ Realizes the world is full of freshmen and sophomores
  ○ 0.1% of all developers
  ○ Is still good at writing code
● How to spot:
  ○ Is not an asshole anymore, has leadership skills
  ○ Goes home every night
  ○ Has a life outside of coding
● How to graduate
  ○ You die
Tips for hiring

● Avoid freshmen. Sophomores are inevitable. Hire any junior/senior you
  come across, no matter what.
● We all would like to hire only juniors and seniors, but they only make up
  1% of the total workforce.
● If you have a senior, let them in on the interview process
   ○ They have an intuition for finding other junior/seniors.
● Fizzbuzz only eliminates the freshmen
● Juniors and Seniors get offended when you ask them freshmen questions
  during interviews.
Tips for programmers

● Do a personal project. Try to do one alone.
● 10,000+ lines of code or more
● Don't give up.

More Related Content

What's hot (9)

ODP
Dev presentation
David Ford
 
PDF
A Career in Software Engineering
DVT - Smart people. Smart solutions.
 
PDF
How to be an effective Tech Lead
Hattery
 
PPTX
Unlocking your team's potential with pair programming (workshop)
Mattia Battiston
 
PDF
Ace the Tech Interviews - www.hiredintech.com
Anton Dimitrov
 
PDF
Turning humans into developers with Perl - London Perl Workshop 2017
Julien Fiegehenn
 
PDF
Fundamentals of App & Web Design
Vishal Kirti
 
PDF
Agile
CHIPoludnie
 
PPTX
5 books for absolute programming beginners
Somvir Singh
 
Dev presentation
David Ford
 
A Career in Software Engineering
DVT - Smart people. Smart solutions.
 
How to be an effective Tech Lead
Hattery
 
Unlocking your team's potential with pair programming (workshop)
Mattia Battiston
 
Ace the Tech Interviews - www.hiredintech.com
Anton Dimitrov
 
Turning humans into developers with Perl - London Perl Workshop 2017
Julien Fiegehenn
 
Fundamentals of App & Web Design
Vishal Kirti
 
5 books for absolute programming beginners
Somvir Singh
 

Similar to Stages Of Programming Skill, From Freshman To Senior (20)

PDF
Developer Job in Practice
intive
 
PDF
How to hire frontend engineers
🤓 Iwan Gulenko 💰Powerful Geek
 
PPTX
Good Qualities of a developer
Sophia Dagli
 
PDF
The senior dev
Luciano Mammino
 
PDF
Patterns, Code Smells, and The Pragmattic Programmer
Jason McCreary
 
PDF
Write code and find a job
Yung-Yu Chen
 
PDF
[DevDay2018] Let’s all get along. Clean Code please! - By: Christophe K. Ngo,...
DevDay Da Nang
 
PDF
How to learn coding
HananeMessad1
 
PDF
Surviving the technical interview
Eric Brooke
 
PDF
Pyramid of-developer-skills
Alexandru Bolboaca
 
PDF
Starting Your First Job in the Software Industry: Tips and Tricks from Nakov
Svetlin Nakov
 
PDF
Traits of a Good Engineer
Rajagopal Nagarajan
 
PPTX
What they don't teach you in CS departments
WillSullivan
 
PPT
How to get a Job as a Front End Developer
Mike Wilcox
 
PDF
How to get a Job 2016 - Summer of Tech
John Clegg
 
PDF
Europython how to make it recruiting suck less?
🤓 Iwan Gulenko 💰Powerful Geek
 
PPT
Clean Code summary
Jan de Vries
 
PPTX
How to become a software developer
Eyob Lube
 
PPTX
Rocking The Tech Interview
Tim Worboys
 
PPTX
How to be successful in an internship
ZoeyZou4
 
Developer Job in Practice
intive
 
How to hire frontend engineers
🤓 Iwan Gulenko 💰Powerful Geek
 
Good Qualities of a developer
Sophia Dagli
 
The senior dev
Luciano Mammino
 
Patterns, Code Smells, and The Pragmattic Programmer
Jason McCreary
 
Write code and find a job
Yung-Yu Chen
 
[DevDay2018] Let’s all get along. Clean Code please! - By: Christophe K. Ngo,...
DevDay Da Nang
 
How to learn coding
HananeMessad1
 
Surviving the technical interview
Eric Brooke
 
Pyramid of-developer-skills
Alexandru Bolboaca
 
Starting Your First Job in the Software Industry: Tips and Tricks from Nakov
Svetlin Nakov
 
Traits of a Good Engineer
Rajagopal Nagarajan
 
What they don't teach you in CS departments
WillSullivan
 
How to get a Job as a Front End Developer
Mike Wilcox
 
How to get a Job 2016 - Summer of Tech
John Clegg
 
Europython how to make it recruiting suck less?
🤓 Iwan Gulenko 💰Powerful Geek
 
Clean Code summary
Jan de Vries
 
How to become a software developer
Eyob Lube
 
Rocking The Tech Interview
Tim Worboys
 
How to be successful in an internship
ZoeyZou4
 
Ad

Stages Of Programming Skill, From Freshman To Senior

  • 1. The Stages of Developer Experience From Freshman to Senior
  • 2. Freshman ● Characteristics ○ Sucks at programming and knows it ○ Low self confidence ○ Can't do fizzbuzz ○ 50% of all "developers" are Freshmen ● How to tell: ○ "LOL this code sure is shitty", "Yeah I know, I'm a noob" ○ May have a CS degree ○ May even have 15 years experience at a MegaCorp. ● How to graduate: ○ Get a major win. ○ Complete a project that you're proud of. (complete a tutorial, get something merged into an OSS project, etc.)
  • 3. Sophomore ● Characteristics ○ Thinks they are great, but actually still suck ○ Calls him/herself "programmer" ○ Pounds out shitty code by the barrelful ○ "Wise and foolish" ○ 49% of all developers, 90% of working developers ● How to tell ○ "LOL this code sure is shitty", *gets offended* ○ Code they wrote 5 months ago looks the same as code written today ● How to graduate ○ Experience a major failure
  • 4. Junior ● Characteristics ○ Knows first hand the importance of documentation, refactoring, type systems, proper architecture, etc. ○ Idealistic - Wants everyone else to things right too. ○ Writes genuinely great code ○ Assholes - Aware of their greatness, is actually great ○ 0.9% of all developers ○ Long process of continual improvement ● How to spot ○ "LOL this code sure is shitty", "Yeah I know, lets make it better" ○ Code written 5 months ago looks bad compared to code written today ○ Code written 5 years ago looks completely awful compared to code written today ● How to graduate ○ get old
  • 5. Senior ● Characteristics ○ Senior year just kind of sneaks up on you, uneventfully ○ Doesn't give a fuck anymore ○ Is a great developer, but has dropped the idealism ○ Realizes the world is full of freshmen and sophomores ○ 0.1% of all developers ○ Is still good at writing code ● How to spot: ○ Is not an asshole anymore, has leadership skills ○ Goes home every night ○ Has a life outside of coding ● How to graduate ○ You die
  • 6. Tips for hiring ● Avoid freshmen. Sophomores are inevitable. Hire any junior/senior you come across, no matter what. ● We all would like to hire only juniors and seniors, but they only make up 1% of the total workforce. ● If you have a senior, let them in on the interview process ○ They have an intuition for finding other junior/seniors. ● Fizzbuzz only eliminates the freshmen ● Juniors and Seniors get offended when you ask them freshmen questions during interviews.
  • 7. Tips for programmers ● Do a personal project. Try to do one alone. ● 10,000+ lines of code or more ● Don't give up.