How to Stop Sucking and BeAwesome InsteadJeff AtwoodCoding Horror, Stack Exchange, Stack Overflow
Q:What does it mean when something “Sucks”?
• This doesnt do what I need• I cant figure out how to do what I need• This is unnecessarily frustrating and  complex• Thi...
And folks, lets be honest. Sturgeonwas an optimist. Way more than90% of code is crap.                             Al Viro
Q:Why do we suck?
A:Because we’re software,         too.
“The main reason we tendto focus on the technicalrather than the human sideof the work is not becauseits more crucial, but...
The common thread in allmy failed projects is…
The First Rule of Programming:It’s Always Your Fault.                           codinghorror
1. Embrace the Suck
We make shitty software… withbugs!                          Dave Winer                          1995
“Software is a process, its never finished, itsalways evolving. Thats its nature. We knowour software sucks. But its shipp...
Version 1 Sucks, But Ship It Anyway                            codinghorror
3 months in development           vs.3 months of user feedback
• better side visibility• hydraulic flight  controls• climbs faster• turns faster• better distance  visibility
Boyd’s Law of Iteration:speed of iteration always beats quality ofiterationWhere you are today doesn’t matter somuch, comp...
My goal is to suck less every year.                              codinghorror
2. Do It In Public
One of my favorite business modelsuggestions for [web] entrepreneurs is to findan old UNIX command that hasnt yet beenimpl...
talk, finger   ICQLISTSERV       DejaNewsls             Yahoo! directoryfind, grep     Googlern             Bloglinespine ...
Blogger = public email messages (1999)Instead of "Dear Bob, Check out this movie."its "Dear People I May or May Not KnowWh...
Flickr = public photo sharing (2004)"When we started the company, there weredozens of other photosharing companiessuch as ...
YouTube = public home videos (2005)                     Bob Saget was on                     to something.                ...
Twitter = public instant messaging (2006)I dont think its any coincidence that one ofthe people responsible for Blogger is...
GitHub = public source control (2008)“SourceForge is about projects. GitHub isabout people... A world of programmersforkin...
“Moreover, I’m sharing my code, for what it’sworth to me to share my code... I am sharingmy code. I am not launching an op...
Stack Overflow = public learning (2008)• Fun-size units of Q&A “work”• Document how much we suck, so that  others might le...
Maximize the value of your keystrokesIf nobodyknows you did{x}, did you getall the benefitsof doing {x}?
The onus of “interestingness”    the freedom to totally suck in private                     vs.     attempting to be aweso...
If you you dont have any marketable skills, learnsome. Its the future. We have Khan Academy andWikipedia and Codecademy an...
In the information age, the barriersjust arent there. The barriers are selfimposed.                               John Car...
“If you want to set off and go develop somegrand new thing, you dont need millions ofdollars of capitalization. You need e...
3. Pick Stuff That Matters
So what?      everyone
The world just isn’t that into you. Unless whatyoure sharing …•   solves their problem•   provides useful information•   e...
Every time you share something – askyourself “so what?”If you cant answer convincingly, reformulateand try again.
If your thing in public isn’t awesome enough(or sucks) that’s OK.People won’t go out of their way to mock you.They’ll just...
This is TheInternet.Let your freak flagfly.Find youraudience.
Nobody should bemore excitedabout yourmission than you.
How do I know if this matters?What cool thing did you do for someone elsetoday?(psst… Stack Overflow isn’t really a siteab...
“Its better to be safe than sorry” issuch crap. You know whats betterthan being safe? Being AWESOME.                      ...
1. Embrace the Suck2. Do It In Public3. Pick Stuff That Matters    #atlassiansummit
Thank you!
Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01
Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01
Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01
Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01
Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01
Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01
Upcoming SlideShare
Loading in …5
×

Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01

313 views

Published on

Published in: Education
  • Be the first to comment

Howtostopsuckingandbeawesomeinstead 120601013410-phpapp01

  1. 1. How to Stop Sucking and BeAwesome InsteadJeff AtwoodCoding Horror, Stack Exchange, Stack Overflow
  2. 2. Q:What does it mean when something “Sucks”?
  3. 3. • This doesnt do what I need• I cant figure out how to do what I need• This is unnecessarily frustrating and complex• This breaks all the time• Its so ugly I want to vomit• It doesnt map to my understanding of the universe• Im thinking about the tool, instead of my work
  4. 4. And folks, lets be honest. Sturgeonwas an optimist. Way more than90% of code is crap. Al Viro
  5. 5. Q:Why do we suck?
  6. 6. A:Because we’re software, too.
  7. 7. “The main reason we tendto focus on the technicalrather than the human sideof the work is not becauseits more crucial, butbecause its easier todo.”
  8. 8. The common thread in allmy failed projects is…
  9. 9. The First Rule of Programming:It’s Always Your Fault. codinghorror
  10. 10. 1. Embrace the Suck
  11. 11. We make shitty software… withbugs! Dave Winer 1995
  12. 12. “Software is a process, its never finished, itsalways evolving. Thats its nature. We knowour software sucks. But its shipping! Nexttime well do better, but even then it will beshitty. The only software thats perfect is oneyoure dreaming about. Real softwarecrashes, loses data, is hard to learn and hardto use. But its a process. Well make it lessshitty. Just watch!”
  13. 13. Version 1 Sucks, But Ship It Anyway codinghorror
  14. 14. 3 months in development vs.3 months of user feedback
  15. 15. • better side visibility• hydraulic flight controls• climbs faster• turns faster• better distance visibility
  16. 16. Boyd’s Law of Iteration:speed of iteration always beats quality ofiterationWhere you are today doesn’t matter somuch, compared to where you’re goingtomorrow.
  17. 17. My goal is to suck less every year. codinghorror
  18. 18. 2. Do It In Public
  19. 19. One of my favorite business modelsuggestions for [web] entrepreneurs is to findan old UNIX command that hasnt yet beenimplemented on the web, and fix that. Marc Hedlund
  20. 20. talk, finger ICQLISTSERV DejaNewsls Yahoo! directoryfind, grep Googlern Bloglinespine Google Mailmount Amazon S3bash Yahoo! Pipeswall Twitter
  21. 21. Blogger = public email messages (1999)Instead of "Dear Bob, Check out this movie."its "Dear People I May or May Not KnowWho Are Interested in Film Noir, check outthis movie. If you like it, maybe we can befriends."
  22. 22. Flickr = public photo sharing (2004)"When we started the company, there weredozens of other photosharing companiessuch as Shutterfly, but on those sites therewas no such thing as a public photograph -- itdidnt even exist as a concept."
  23. 23. YouTube = public home videos (2005) Bob Saget was on to something. Viewed 456 million times… so far.
  24. 24. Twitter = public instant messaging (2006)I dont think its any coincidence that one ofthe people responsible for Blogger is alsoresponsible for Twitter.
  25. 25. GitHub = public source control (2008)“SourceForge is about projects. GitHub isabout people... A world of programmersforking, hacking and experimenting. There ismerging, but only if people agree to do so, byother channels... GitHub gives me my ownplace to play. It lets me share my code theway I share photos on Flickr.”
  26. 26. “Moreover, I’m sharing my code, for what it’sworth to me to share my code... I am sharingmy code. I am not launching an open sourceproject. I am not beginning a search for likeminded developers to avoid duplication ofefforts. I am not showing up at someoneelse’s door hat in hand, asking for commitaccess. I am not looking to do battle withBrook’s Law at the outset of my brainstorm.”
  27. 27. Stack Overflow = public learning (2008)• Fun-size units of Q&A “work”• Document how much we suck, so that others might learn from it!• Leave breadcrumb trails of our awesomeness
  28. 28. Maximize the value of your keystrokesIf nobodyknows you did{x}, did you getall the benefitsof doing {x}?
  29. 29. The onus of “interestingness” the freedom to totally suck in private vs. attempting to be awesome in public
  30. 30. If you you dont have any marketable skills, learnsome. Its the future. We have Khan Academy andWikipedia and Codecademy and almost the entireworlds collective knowledge at your fingertips.Use it. Carl Lange
  31. 31. In the information age, the barriersjust arent there. The barriers are selfimposed. John Carmack
  32. 32. “If you want to set off and go develop somegrand new thing, you dont need millions ofdollars of capitalization. You need enoughpizza and Diet Coke to stick in yourrefrigerator, a cheap PC to work on, and thededication to go through with it. We slepton floors. We waded across rivers.”
  33. 33. 3. Pick Stuff That Matters
  34. 34. So what? everyone
  35. 35. The world just isn’t that into you. Unless whatyoure sharing …• solves their problem• provides useful information• entertains them• makes them feel like they rule… why would they care?
  36. 36. Every time you share something – askyourself “so what?”If you cant answer convincingly, reformulateand try again.
  37. 37. If your thing in public isn’t awesome enough(or sucks) that’s OK.People won’t go out of their way to mock you.They’ll just ignore it.(people do remember successes, though)
  38. 38. This is TheInternet.Let your freak flagfly.Find youraudience.
  39. 39. Nobody should bemore excitedabout yourmission than you.
  40. 40. How do I know if this matters?What cool thing did you do for someone elsetoday?(psst… Stack Overflow isn’t really a siteabout programming, it’s where we trick peersinto reading, writing, experimenting, andlearning with each other.)
  41. 41. “Its better to be safe than sorry” issuch crap. You know whats betterthan being safe? Being AWESOME. codinghorror
  42. 42. 1. Embrace the Suck2. Do It In Public3. Pick Stuff That Matters #atlassiansummit
  43. 43. Thank you!

×