Who Am I?
Shit I've Made
- RanvierMUD - NodeJS based MUD engine
- LzHilight - PHP based CLI Syntax Highlighter
- A TON of Vim goodies
- Founding member of BuffaloLab - The Buffalo Hackerspace
- Open Source contributions: GNU Screen, Last.FM, Cockatrice, SMAUG
- Organizer of the Buffalo PHP meetup
- Teacher and coordinator at BuffaloLab (Check their schedule for classes)
Things That Make You Suck
Laymen are afraid of computers like they are 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 don't get to use that excuse
If you don't remember the last time you were wrong that doesn't mean you're getting better.
Ooh, piece a candy!
- You don't have to pick up everything shiny
- It's useful from time to time to experiment
- If you've insulted a language but never used it, you're "that guy"
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.
Good News, Everyone!
- Keep work time-tracking separate.
- Every time you switch context: track it.
- Make note of what you were working on when you switched.
- Review at the end of the week.
- 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.
- Cheap Branching
If you're coding while simultaneously worried about breaking the build by committing your changes to truck you're doing SCM wrong.
- BEBOP: Branch Early, Branch Often (Please)
Make test branches. Do experimental work. Try things out. All without committing upstream.
- Mike Canz is giving a talk on it later (or already gave it, I made this slide before the schedule was out)
(There are other SCMs besides git such as mercurial that do cheap branching so pick one. So long as you're not using SVN/CVS you're safe.)
- 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.
Keep Being Wrong
Most Important Part!
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.
The Other Thing
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!