1

Developers

Stop Being Horrible At Your Job

  • Shawn Biddle
  • PHP Dev @ Synacor
  • shawnbiddle.com
1

Things That Make You Suck

Fear
Stubbornness
2

Fear

3

Being Wrong

  • A laymen is afraid of computers in the same way most people are afraid of a dark alleyway: You're not used to being there, and from everything you've heard there's a good chance of getting into trouble.
  • You're a professional, you don't have that excuse. It's your job to be familiar. So instead, dev fears come from the quirky preoccupation that you may not be perfect.
4

News Flash

If you don't remember the last time you were wrong that doesn't mean you're getting better.
5

Whippersnappers


  • Being a luddite is tolerated to a point
  • If you hit the "Fuckin' kids, get off my lawn." Congratulations, you've now become the
    80 year old doctor that thinks bloodletting is still viable
6

Ooh, piece'a'candy!

  • You don't have to pick up everything shiny
  • However, it's useful from time to time to experiment
  • If you've insulted a language but never used it, you're "that guy"
7

Hi, I'm a Dev and I have a problem

It's harder than you think to see it.

  • Just.. one.. more.. upvote!
  • I for one, welcome our Slashdot overlords.
  • Smoke?
8

Good News Everyone


There is hope!
9

Tools

  1. Time Tracker
  2. Git/Other SCM with cheap branches
  3. Github/equivalent
  4. Other People
10

Time Tracker

Using your tracker

  1. Keep work time-tracking separate.
  2. Every time you switch context: track it.
  3. Make note of what you were working on when you switched.
  4. Review at the end of the week.
  5. Prioritize training regimine based on how often you switched contexts: You spent 20 minutes on reddit every time you had to write a new unit test, etc.
11

Git

Why Git?

  • Cheap Branching
    • If you're coding while simultaneously worried about breaking the build by committing your changes to trunk you're doing SCM wrong.
  • BEBOP: Branch Early, Branch Often (Please)
    • Make test branches. Do experimental work. Try things out. All without committing upstream.
(There are other SCMs besides git that do cheap branching so pick one. So long as you're not using SVN/CVS you're safe.)
12

Github

Why Github?

  • Out in Public
    • What better way to overcome your fear of failure than to fail in front of the world?
  • Push whatever code you're working on to github.
    • Let people critique, fix your code, send merge requests, tell you that you suck at coding.
13

Other People

The only thing that's more beneficial than you being wrong is other people being wrong for you.

  • Go to Stack Overflow, follow tags that interest you
  • Help solve problems
  • Research solved questions
14

Most Important Bit

Keep Being Wrong

The goal of this is not to stop being wrong, it's to understand why you're wrong and to know how to be wrong at the right place and the right time.

15

The Other Thing

16

Stubbornness

The only way to fix it
17

Stop It!

You have nothing to gain by being stubborn

"But Shawn, you use Vim, how can you talk about being stubborn."
I've try new editors as they come out, they suck, vim's awesome.
"But Shawn, you use PHP!"
Not exclusively.
"But Shawn, unicorns don't exist."
How dare you! Get Out!
18

TL;DR

Keep Being Wrong

Stop Being Stubborn

19