SlideShare a Scribd company logo
1 of 49
How to Stop Sucking and Be
Awesome Instead
Jeff Atwood
Coding Horror, Stack Exchange, Stack Overflow
Q:
What does it mean when
 something “Sucks”?
• This doesn't do what I need
• I can't figure out how to do what I need
• This is unnecessarily frustrating and
  complex
• This breaks all the time
• It's so ugly I want to vomit
• It doesn't map to my understanding of the
  universe
• I'm thinking about the tool, instead of my
  work
And folks, let's be honest. Sturgeon
was an optimist. Way more than
90% of code is crap.


                             Al Viro
Q:
Why do we suck?
A:
Because we’re software,
         too.
“The main reason we tend
to focus on the technical
rather than the human side
of the work is not because
it's more crucial, but
because it's easier to
do.”
The common thread in all
my failed projects is…
The First Rule of Programming:
It’s Always Your Fault.




                           codinghorror
1. Embrace the Suck
We make shitty software… with
bugs!




                          Dave Winer
                          1995
“Software is a process, it's never finished, it's
always evolving. That's its nature. We know
our software sucks. But it's shipping! Next
time we'll do better, but even then it will be
shitty. The only software that's perfect is one
you're dreaming about. Real software
crashes, loses data, is hard to learn and hard
to use. But it's a process. We'll make it less
shitty. Just watch!”
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 of
iteration

Where you are today doesn’t matter so
much, compared to where you’re going
tomorrow.
My goal is to suck less every year.




                              codinghorror
2. Do It In Public
One of my favorite business model
suggestions for [web] entrepreneurs is to find
an old UNIX command that hasn't yet been
implemented on the web, and fix that.


                                    Marc Hedlund
talk, finger   ICQ
LISTSERV       DejaNews
ls             Yahoo! directory
find, grep     Google
rn             Bloglines
pine           Google Mail
mount          Amazon S3
bash           Yahoo! Pipes
wall           Twitter
Blogger = public email messages (1999)

Instead of "Dear Bob, Check out this movie."
it's "Dear People I May or May Not Know
Who Are Interested in Film Noir, check out
this movie. If you like it, maybe we can be
friends."
Flickr = public photo sharing (2004)

"When we started the company, there were
dozens of other photosharing companies
such as Shutterfly, but on those sites there
was no such thing as a public photograph -- it
didn't even exist as a concept."
YouTube = public home videos (2005)

                     Bob Saget was on
                     to something.

                     Viewed 456 million
                     times… so far.
Twitter = public instant messaging (2006)

I don't think it's any coincidence that one of
the people responsible for Blogger is also
responsible for Twitter.
GitHub = public source control (2008)

“SourceForge is about projects. GitHub is
about people... A world of programmers
forking, hacking and experimenting. There is
merging, but only if people agree to do so, by
other channels... GitHub gives me my own
place to play. It lets me share my code the
way I share photos on Flickr.”
“Moreover, I’m sharing my code, for what it’s
worth to me to share my code... I am sharing
my code. I am not launching an open source
project. I am not beginning a search for like
minded developers to avoid duplication of
efforts. I am not showing up at someone
else’s door hat in hand, asking for commit
access. I am not looking to do battle with
Brook’s Law at the outset of my brainstorm.”
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
Maximize the value of your keystrokes

If nobody
knows you did
{x}, did you get
all the benefits
of doing {x}?
The onus of “interestingness”


    the freedom to totally suck in private

                     vs.

     attempting to be awesome in public
If you you don't have any marketable skills, learn
some. It's the future. We have Khan Academy and
Wikipedia and Codecademy and almost the entire
world's collective knowledge at your fingertips.
Use it.


                                        Carl Lange
In the information age, the barriers
just aren't there. The barriers are self
imposed.


                               John Carmack
“If you want to set off and go develop some
grand new thing, you don't need millions of
dollars of capitalization. You need enough
pizza and Diet Coke to stick in your
refrigerator, a cheap PC to work on, and the
dedication to go through with it. We slept
on floors. We waded across rivers.”
3. Pick Stuff That Matters
So what?
      everyone
The world just isn’t that into you. Unless what
you're sharing …

•   solves their problem
•   provides useful information
•   entertains them
•   makes them feel like they rule

… why would they care?
Every time you share something – ask
yourself “so what?”

If you can't answer convincingly, reformulate
and 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 ignore it.

(people do remember successes, though)
This is The
Internet.

Let your freak flag
fly.

Find your
audience.
Nobody should be
more excited
about your
mission than you.
How do I know if this matters?

What cool thing did you do for someone else
today?

(psst… Stack Overflow isn’t really a site
about programming, it’s where we trick peers
into reading, writing, experimenting, and
learning with each other.)
“It's better to be safe than sorry” is
such crap. You know what's better
than being safe? Being AWESOME.


                                codinghorror
1. Embrace the Suck
2. Do It In Public
3. Pick Stuff That Matters

    #atlassiansummit
Thank you!

More Related Content

What's hot

The Plateau Effect: Why People Get Stuck...and How to Break Through
The Plateau Effect: Why People Get Stuck...and How to Break ThroughThe Plateau Effect: Why People Get Stuck...and How to Break Through
The Plateau Effect: Why People Get Stuck...and How to Break ThroughThePlateauEffect
 
The Other C Word: What makes great content marketing great
The Other C Word: What makes great content marketing greatThe Other C Word: What makes great content marketing great
The Other C Word: What makes great content marketing greatVelocity Partners
 
10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer Experience10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer ExperienceYuan Wang
 
Episode 2: The LLM / GPT / AI Prompt / Data Engineer Roadmap
Episode 2: The LLM / GPT / AI Prompt / Data Engineer RoadmapEpisode 2: The LLM / GPT / AI Prompt / Data Engineer Roadmap
Episode 2: The LLM / GPT / AI Prompt / Data Engineer RoadmapAnant Corporation
 
Death by Powerpoint
Death by PowerpointDeath by Powerpoint
Death by PowerpointShelley Paul
 
Habits at Work - Merci Victoria Grace, Growth, Slack - 2016 Habit Summit
Habits at Work - Merci Victoria Grace, Growth, Slack - 2016 Habit SummitHabits at Work - Merci Victoria Grace, Growth, Slack - 2016 Habit Summit
Habits at Work - Merci Victoria Grace, Growth, Slack - 2016 Habit SummitHabit Summit
 
현업 엔지니어의 시각에서 본 알고리즘 공부의 장점과 단점
현업 엔지니어의 시각에서 본 알고리즘 공부의 장점과 단점현업 엔지니어의 시각에서 본 알고리즘 공부의 장점과 단점
현업 엔지니어의 시각에서 본 알고리즘 공부의 장점과 단점Wonha Ryu
 
Build the right thing
Build the right thingBuild the right thing
Build the right thingIntercom
 
5 Steps To A Smart Compensation Plan
5 Steps To A Smart Compensation Plan5 Steps To A Smart Compensation Plan
5 Steps To A Smart Compensation PlanBambooHR
 
Tout est hypothese - Product Management - School Of PO
Tout est hypothese - Product Management - School Of POTout est hypothese - Product Management - School Of PO
Tout est hypothese - Product Management - School Of POChristopher Parola
 
21_07_ Helen Kokk_Design Thinking_EIA Porto 2022.pptx
21_07_ Helen Kokk_Design Thinking_EIA Porto 2022.pptx21_07_ Helen Kokk_Design Thinking_EIA Porto 2022.pptx
21_07_ Helen Kokk_Design Thinking_EIA Porto 2022.pptxEuropean Innovation Academy
 
The Art of Compromise: it's an agency/client thing
The Art of Compromise: it's an agency/client thingThe Art of Compromise: it's an agency/client thing
The Art of Compromise: it's an agency/client thingVelocity Partners
 
Draw to Win: Why drawing is your secret sales weapon
Draw to Win: Why drawing is your secret sales weaponDraw to Win: Why drawing is your secret sales weapon
Draw to Win: Why drawing is your secret sales weaponDan Roam
 
Hala GPT - Samer Desouky.pdf
Hala GPT - Samer Desouky.pdfHala GPT - Samer Desouky.pdf
Hala GPT - Samer Desouky.pdfSamer Desouky
 
Focus On What Matters - From Product Vision to Product Roadmap
Focus On What Matters - From Product Vision to Product RoadmapFocus On What Matters - From Product Vision to Product Roadmap
Focus On What Matters - From Product Vision to Product RoadmapOneUp Vitamins
 
100 growth hacks 100 days | 1 to 10
100 growth hacks 100 days | 1 to 10100 growth hacks 100 days | 1 to 10
100 growth hacks 100 days | 1 to 10Robin Yjord
 

What's hot (20)

Importance of Customer Validation by Sean Kim
Importance of Customer Validation by Sean KimImportance of Customer Validation by Sean Kim
Importance of Customer Validation by Sean Kim
 
The Plateau Effect: Why People Get Stuck...and How to Break Through
The Plateau Effect: Why People Get Stuck...and How to Break ThroughThe Plateau Effect: Why People Get Stuck...and How to Break Through
The Plateau Effect: Why People Get Stuck...and How to Break Through
 
The Other C Word: What makes great content marketing great
The Other C Word: What makes great content marketing greatThe Other C Word: What makes great content marketing great
The Other C Word: What makes great content marketing great
 
10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer Experience10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer Experience
 
Episode 2: The LLM / GPT / AI Prompt / Data Engineer Roadmap
Episode 2: The LLM / GPT / AI Prompt / Data Engineer RoadmapEpisode 2: The LLM / GPT / AI Prompt / Data Engineer Roadmap
Episode 2: The LLM / GPT / AI Prompt / Data Engineer Roadmap
 
Your First Startup
Your First StartupYour First Startup
Your First Startup
 
Death by Powerpoint
Death by PowerpointDeath by Powerpoint
Death by Powerpoint
 
Habits at Work - Merci Victoria Grace, Growth, Slack - 2016 Habit Summit
Habits at Work - Merci Victoria Grace, Growth, Slack - 2016 Habit SummitHabits at Work - Merci Victoria Grace, Growth, Slack - 2016 Habit Summit
Habits at Work - Merci Victoria Grace, Growth, Slack - 2016 Habit Summit
 
Leadership Workshop.pptx
Leadership Workshop.pptxLeadership Workshop.pptx
Leadership Workshop.pptx
 
현업 엔지니어의 시각에서 본 알고리즘 공부의 장점과 단점
현업 엔지니어의 시각에서 본 알고리즘 공부의 장점과 단점현업 엔지니어의 시각에서 본 알고리즘 공부의 장점과 단점
현업 엔지니어의 시각에서 본 알고리즘 공부의 장점과 단점
 
Build the right thing
Build the right thingBuild the right thing
Build the right thing
 
5 Steps To A Smart Compensation Plan
5 Steps To A Smart Compensation Plan5 Steps To A Smart Compensation Plan
5 Steps To A Smart Compensation Plan
 
Tout est hypothese - Product Management - School Of PO
Tout est hypothese - Product Management - School Of POTout est hypothese - Product Management - School Of PO
Tout est hypothese - Product Management - School Of PO
 
21_07_ Helen Kokk_Design Thinking_EIA Porto 2022.pptx
21_07_ Helen Kokk_Design Thinking_EIA Porto 2022.pptx21_07_ Helen Kokk_Design Thinking_EIA Porto 2022.pptx
21_07_ Helen Kokk_Design Thinking_EIA Porto 2022.pptx
 
The Art of Compromise: it's an agency/client thing
The Art of Compromise: it's an agency/client thingThe Art of Compromise: it's an agency/client thing
The Art of Compromise: it's an agency/client thing
 
Draw to Win: Why drawing is your secret sales weapon
Draw to Win: Why drawing is your secret sales weaponDraw to Win: Why drawing is your secret sales weapon
Draw to Win: Why drawing is your secret sales weapon
 
Hala GPT - Samer Desouky.pdf
Hala GPT - Samer Desouky.pdfHala GPT - Samer Desouky.pdf
Hala GPT - Samer Desouky.pdf
 
GTD(R) Workshop
GTD(R) WorkshopGTD(R) Workshop
GTD(R) Workshop
 
Focus On What Matters - From Product Vision to Product Roadmap
Focus On What Matters - From Product Vision to Product RoadmapFocus On What Matters - From Product Vision to Product Roadmap
Focus On What Matters - From Product Vision to Product Roadmap
 
100 growth hacks 100 days | 1 to 10
100 growth hacks 100 days | 1 to 10100 growth hacks 100 days | 1 to 10
100 growth hacks 100 days | 1 to 10
 

Viewers also liked

Building Social Software for the Anti-Social: Part I
Building Social Software for the Anti-Social: Part IBuilding Social Software for the Anti-Social: Part I
Building Social Software for the Anti-Social: Part Icodinghorror
 
Membership Communities: Facebook Groups vs Forums
Membership Communities: Facebook Groups vs ForumsMembership Communities: Facebook Groups vs Forums
Membership Communities: Facebook Groups vs ForumsThe Membership Guys
 
Forums and social media marketing
Forums and social media marketingForums and social media marketing
Forums and social media marketingBrand_Engager
 
All About Forums|An Adlandpro Presentation
All About Forums|An Adlandpro PresentationAll About Forums|An Adlandpro Presentation
All About Forums|An Adlandpro PresentationBogdan Fiedur
 
Effective Use Of Forums
Effective Use Of ForumsEffective Use Of Forums
Effective Use Of ForumsDiana Porto
 
MLConf Seattle 2015 - ML@Quora
MLConf Seattle 2015 - ML@QuoraMLConf Seattle 2015 - ML@Quora
MLConf Seattle 2015 - ML@QuoraXavier Amatriain
 
Best Practices In Discussion Forums
Best Practices In Discussion ForumsBest Practices In Discussion Forums
Best Practices In Discussion ForumsCrystal Mosley
 
Leadership Styles Your Team Needs
Leadership Styles Your Team NeedsLeadership Styles Your Team Needs
Leadership Styles Your Team NeedsJoshua Howard
 
Startup Metrics for Pirates (KAUST, Nov 2013)
Startup Metrics for Pirates (KAUST, Nov 2013)Startup Metrics for Pirates (KAUST, Nov 2013)
Startup Metrics for Pirates (KAUST, Nov 2013)Dave McClure
 
Webstock 2010 - Stack Overflow: Building Social Software for the Anti-Social
Webstock 2010 - Stack Overflow: Building Social Software for the Anti-SocialWebstock 2010 - Stack Overflow: Building Social Software for the Anti-Social
Webstock 2010 - Stack Overflow: Building Social Software for the Anti-Socialcodinghorror
 
Doors, Walls and Old Trees: Prioritizing to Get Simple
Doors, Walls and Old Trees: Prioritizing to Get SimpleDoors, Walls and Old Trees: Prioritizing to Get Simple
Doors, Walls and Old Trees: Prioritizing to Get SimpleJason Ulaszek
 
A Brief Talk On High-Performing Organisations
A Brief Talk On High-Performing OrganisationsA Brief Talk On High-Performing Organisations
A Brief Talk On High-Performing OrganisationsPhil Calçado
 
Leadership Without Management: Scaling Organizations by Scaling Engineers
Leadership Without Management: Scaling Organizations by Scaling EngineersLeadership Without Management: Scaling Organizations by Scaling Engineers
Leadership Without Management: Scaling Organizations by Scaling Engineersbcantrill
 
Software Architecture Patterns
Software Architecture PatternsSoftware Architecture Patterns
Software Architecture PatternsAssaf Gannon
 

Viewers also liked (20)

Forums Are Dead
Forums Are DeadForums Are Dead
Forums Are Dead
 
Building Social Software for the Anti-Social: Part I
Building Social Software for the Anti-Social: Part IBuilding Social Software for the Anti-Social: Part I
Building Social Software for the Anti-Social: Part I
 
Membership Communities: Facebook Groups vs Forums
Membership Communities: Facebook Groups vs ForumsMembership Communities: Facebook Groups vs Forums
Membership Communities: Facebook Groups vs Forums
 
Forums and social media marketing
Forums and social media marketingForums and social media marketing
Forums and social media marketing
 
All About Forums|An Adlandpro Presentation
All About Forums|An Adlandpro PresentationAll About Forums|An Adlandpro Presentation
All About Forums|An Adlandpro Presentation
 
Effective Use Of Forums
Effective Use Of ForumsEffective Use Of Forums
Effective Use Of Forums
 
MLConf Seattle 2015 - ML@Quora
MLConf Seattle 2015 - ML@QuoraMLConf Seattle 2015 - ML@Quora
MLConf Seattle 2015 - ML@Quora
 
Best Practices In Discussion Forums
Best Practices In Discussion ForumsBest Practices In Discussion Forums
Best Practices In Discussion Forums
 
Leadership Styles Your Team Needs
Leadership Styles Your Team NeedsLeadership Styles Your Team Needs
Leadership Styles Your Team Needs
 
Access by Default
Access by DefaultAccess by Default
Access by Default
 
Business Models
Business ModelsBusiness Models
Business Models
 
Agile Experience Design Framework
Agile Experience Design FrameworkAgile Experience Design Framework
Agile Experience Design Framework
 
Startup Metrics for Pirates (KAUST, Nov 2013)
Startup Metrics for Pirates (KAUST, Nov 2013)Startup Metrics for Pirates (KAUST, Nov 2013)
Startup Metrics for Pirates (KAUST, Nov 2013)
 
Webstock 2010 - Stack Overflow: Building Social Software for the Anti-Social
Webstock 2010 - Stack Overflow: Building Social Software for the Anti-SocialWebstock 2010 - Stack Overflow: Building Social Software for the Anti-Social
Webstock 2010 - Stack Overflow: Building Social Software for the Anti-Social
 
Doors, Walls and Old Trees: Prioritizing to Get Simple
Doors, Walls and Old Trees: Prioritizing to Get SimpleDoors, Walls and Old Trees: Prioritizing to Get Simple
Doors, Walls and Old Trees: Prioritizing to Get Simple
 
Discussion forums: 6 success factors
Discussion forums: 6 success factorsDiscussion forums: 6 success factors
Discussion forums: 6 success factors
 
A Brief Talk On High-Performing Organisations
A Brief Talk On High-Performing OrganisationsA Brief Talk On High-Performing Organisations
A Brief Talk On High-Performing Organisations
 
#NoEstimates Thinking
#NoEstimates Thinking#NoEstimates Thinking
#NoEstimates Thinking
 
Leadership Without Management: Scaling Organizations by Scaling Engineers
Leadership Without Management: Scaling Organizations by Scaling EngineersLeadership Without Management: Scaling Organizations by Scaling Engineers
Leadership Without Management: Scaling Organizations by Scaling Engineers
 
Software Architecture Patterns
Software Architecture PatternsSoftware Architecture Patterns
Software Architecture Patterns
 

Similar to How to stop sucking and be awesome instead

Tom Loosemore - Camp Digital 2016
Tom Loosemore - Camp Digital 2016Tom Loosemore - Camp Digital 2016
Tom Loosemore - Camp Digital 2016Nexer Digital
 
Reasons to be cheerful - Fronteers 2010
Reasons to be cheerful - Fronteers 2010Reasons to be cheerful - Fronteers 2010
Reasons to be cheerful - Fronteers 2010Christian Heilmann
 
How to Teach Yourself to Code
How to Teach Yourself to CodeHow to Teach Yourself to Code
How to Teach Yourself to CodeMattan Griffel
 
Tech Talk @ Dev Bootcamp Chicago
Tech Talk @ Dev Bootcamp ChicagoTech Talk @ Dev Bootcamp Chicago
Tech Talk @ Dev Bootcamp ChicagoFred Lee
 
Oredev 2011: Building Social Software for the Anti-Social Part II, Electric B...
Oredev 2011: Building Social Software for the Anti-Social Part II, Electric B...Oredev 2011: Building Social Software for the Anti-Social Part II, Electric B...
Oredev 2011: Building Social Software for the Anti-Social Part II, Electric B...codinghorror
 
AI and ChatGPT in Online Education
AI and ChatGPT in Online Education AI and ChatGPT in Online Education
AI and ChatGPT in Online Education D2L Barry
 
How to contribute back to Open Source
How to contribute back to Open SourceHow to contribute back to Open Source
How to contribute back to Open SourceWojciech Koszek
 
Usability Testing
Usability TestingUsability Testing
Usability TestingAndy Budd
 
Is Writing More Important Than Programming
Is Writing More Important Than ProgrammingIs Writing More Important Than Programming
Is Writing More Important Than Programminglegendsland
 
Content Is King: Internet Society Briefing Panel at IETF 86
Content Is King: Internet Society Briefing Panel at IETF 86Content Is King: Internet Society Briefing Panel at IETF 86
Content Is King: Internet Society Briefing Panel at IETF 86Internet Society
 
CityLIS talk, Feb 1st 2016
CityLIS talk, Feb 1st 2016CityLIS talk, Feb 1st 2016
CityLIS talk, Feb 1st 2016benosteen
 
Feedback loops between tooling and culture
Feedback loops between tooling and cultureFeedback loops between tooling and culture
Feedback loops between tooling and cultureChris Winters
 
"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau
"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau
"Startups, comment gérer une équipe de développeurs" par Laurent CerveauTheFamily
 
Open source for Libraries
Open source for LibrariesOpen source for Libraries
Open source for LibrariesNicole Baratta
 
Findings from UX London
Findings from UX LondonFindings from UX London
Findings from UX LondonNeil Dawson
 
Unveiling the web, making the implicit explicit.
Unveiling the web, making the implicit explicit.Unveiling the web, making the implicit explicit.
Unveiling the web, making the implicit explicit.Ian Mulvany
 
A Brief Overview of a Possible Digital Near Future
A Brief Overview of a Possible Digital Near Future A Brief Overview of a Possible Digital Near Future
A Brief Overview of a Possible Digital Near Future Antoine Dubuquoy
 

Similar to How to stop sucking and be awesome instead (20)

Open source
Open sourceOpen source
Open source
 
Tom Loosemore - Camp Digital 2016
Tom Loosemore - Camp Digital 2016Tom Loosemore - Camp Digital 2016
Tom Loosemore - Camp Digital 2016
 
Reasons to be cheerful - Fronteers 2010
Reasons to be cheerful - Fronteers 2010Reasons to be cheerful - Fronteers 2010
Reasons to be cheerful - Fronteers 2010
 
How to Teach Yourself to Code
How to Teach Yourself to CodeHow to Teach Yourself to Code
How to Teach Yourself to Code
 
Tech Talk @ Dev Bootcamp Chicago
Tech Talk @ Dev Bootcamp ChicagoTech Talk @ Dev Bootcamp Chicago
Tech Talk @ Dev Bootcamp Chicago
 
Oredev 2011: Building Social Software for the Anti-Social Part II, Electric B...
Oredev 2011: Building Social Software for the Anti-Social Part II, Electric B...Oredev 2011: Building Social Software for the Anti-Social Part II, Electric B...
Oredev 2011: Building Social Software for the Anti-Social Part II, Electric B...
 
AI and ChatGPT in Online Education
AI and ChatGPT in Online Education AI and ChatGPT in Online Education
AI and ChatGPT in Online Education
 
How to contribute back to Open Source
How to contribute back to Open SourceHow to contribute back to Open Source
How to contribute back to Open Source
 
Humans of Open Source
Humans of Open SourceHumans of Open Source
Humans of Open Source
 
Usability Testing
Usability TestingUsability Testing
Usability Testing
 
Is Writing More Important Than Programming
Is Writing More Important Than ProgrammingIs Writing More Important Than Programming
Is Writing More Important Than Programming
 
Content Is King: Internet Society Briefing Panel at IETF 86
Content Is King: Internet Society Briefing Panel at IETF 86Content Is King: Internet Society Briefing Panel at IETF 86
Content Is King: Internet Society Briefing Panel at IETF 86
 
CityLIS talk, Feb 1st 2016
CityLIS talk, Feb 1st 2016CityLIS talk, Feb 1st 2016
CityLIS talk, Feb 1st 2016
 
Feedback loops between tooling and culture
Feedback loops between tooling and cultureFeedback loops between tooling and culture
Feedback loops between tooling and culture
 
"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau
"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau
"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau
 
Open source for Libraries
Open source for LibrariesOpen source for Libraries
Open source for Libraries
 
Findings from UX London
Findings from UX LondonFindings from UX London
Findings from UX London
 
Unveiling the web, making the implicit explicit.
Unveiling the web, making the implicit explicit.Unveiling the web, making the implicit explicit.
Unveiling the web, making the implicit explicit.
 
A Brief Overview of a Possible Digital Near Future
A Brief Overview of a Possible Digital Near Future A Brief Overview of a Possible Digital Near Future
A Brief Overview of a Possible Digital Near Future
 
Binary crosswords
Binary crosswordsBinary crosswords
Binary crosswords
 

Recently uploaded

Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Recently uploaded (20)

Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

How to stop sucking and be awesome instead

  • 1.
  • 2. How to Stop Sucking and Be Awesome Instead Jeff Atwood Coding Horror, Stack Exchange, Stack Overflow
  • 3.
  • 4. Q: What does it mean when something “Sucks”?
  • 5. • This doesn't do what I need • I can't figure out how to do what I need • This is unnecessarily frustrating and complex • This breaks all the time • It's so ugly I want to vomit • It doesn't map to my understanding of the universe • I'm thinking about the tool, instead of my work
  • 6. And folks, let's be honest. Sturgeon was an optimist. Way more than 90% of code is crap. Al Viro
  • 7.
  • 8. Q: Why do we suck?
  • 10. “The main reason we tend to focus on the technical rather than the human side of the work is not because it's more crucial, but because it's easier to do.”
  • 11. The common thread in all my failed projects is…
  • 12. The First Rule of Programming: It’s Always Your Fault. codinghorror
  • 14.
  • 15. We make shitty software… with bugs! Dave Winer 1995
  • 16. “Software is a process, it's never finished, it's always evolving. That's its nature. We know our software sucks. But it's shipping! Next time we'll do better, but even then it will be shitty. The only software that's perfect is one you're dreaming about. Real software crashes, loses data, is hard to learn and hard to use. But it's a process. We'll make it less shitty. Just watch!”
  • 17. Version 1 Sucks, But Ship It Anyway codinghorror
  • 18. 3 months in development vs. 3 months of user feedback
  • 19. • better side visibility • hydraulic flight controls • climbs faster • turns faster • better distance visibility
  • 20. Boyd’s Law of Iteration: speed of iteration always beats quality of iteration Where you are today doesn’t matter so much, compared to where you’re going tomorrow.
  • 21. My goal is to suck less every year. codinghorror
  • 22. 2. Do It In Public
  • 23. One of my favorite business model suggestions for [web] entrepreneurs is to find an old UNIX command that hasn't yet been implemented on the web, and fix that. Marc Hedlund
  • 24. talk, finger ICQ LISTSERV DejaNews ls Yahoo! directory find, grep Google rn Bloglines pine Google Mail mount Amazon S3 bash Yahoo! Pipes wall Twitter
  • 25. Blogger = public email messages (1999) Instead of "Dear Bob, Check out this movie." it's "Dear People I May or May Not Know Who Are Interested in Film Noir, check out this movie. If you like it, maybe we can be friends."
  • 26. Flickr = public photo sharing (2004) "When we started the company, there were dozens of other photosharing companies such as Shutterfly, but on those sites there was no such thing as a public photograph -- it didn't even exist as a concept."
  • 27. YouTube = public home videos (2005) Bob Saget was on to something. Viewed 456 million times… so far.
  • 28. Twitter = public instant messaging (2006) I don't think it's any coincidence that one of the people responsible for Blogger is also responsible for Twitter.
  • 29. GitHub = public source control (2008) “SourceForge is about projects. GitHub is about people... A world of programmers forking, hacking and experimenting. There is merging, but only if people agree to do so, by other channels... GitHub gives me my own place to play. It lets me share my code the way I share photos on Flickr.”
  • 30. “Moreover, I’m sharing my code, for what it’s worth to me to share my code... I am sharing my code. I am not launching an open source project. I am not beginning a search for like minded developers to avoid duplication of efforts. I am not showing up at someone else’s door hat in hand, asking for commit access. I am not looking to do battle with Brook’s Law at the outset of my brainstorm.”
  • 31.
  • 32. 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
  • 33. Maximize the value of your keystrokes If nobody knows you did {x}, did you get all the benefits of doing {x}?
  • 34. The onus of “interestingness” the freedom to totally suck in private vs. attempting to be awesome in public
  • 35. If you you don't have any marketable skills, learn some. It's the future. We have Khan Academy and Wikipedia and Codecademy and almost the entire world's collective knowledge at your fingertips. Use it. Carl Lange
  • 36.
  • 37. In the information age, the barriers just aren't there. The barriers are self imposed. John Carmack
  • 38. “If you want to set off and go develop some grand new thing, you don't need millions of dollars of capitalization. You need enough pizza and Diet Coke to stick in your refrigerator, a cheap PC to work on, and the dedication to go through with it. We slept on floors. We waded across rivers.”
  • 39. 3. Pick Stuff That Matters
  • 40. So what? everyone
  • 41. The world just isn’t that into you. Unless what you're sharing … • solves their problem • provides useful information • entertains them • makes them feel like they rule … why would they care?
  • 42. Every time you share something – ask yourself “so what?” If you can't answer convincingly, reformulate and try again.
  • 43. 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)
  • 44. This is The Internet. Let your freak flag fly. Find your audience.
  • 45. Nobody should be more excited about your mission than you.
  • 46. How do I know if this matters? What cool thing did you do for someone else today? (psst… Stack Overflow isn’t really a site about programming, it’s where we trick peers into reading, writing, experimenting, and learning with each other.)
  • 47. “It's better to be safe than sorry” is such crap. You know what's better than being safe? Being AWESOME. codinghorror
  • 48. 1. Embrace the Suck 2. Do It In Public 3. Pick Stuff That Matters #atlassiansummit

Editor's Notes

  1. http://www.scottberkun.com/essays/46-why-software-sucks/
  2. http://www.scottberkun.com/essays/46-why-software-sucks/Most software sucks
  3. http://harmful.cat-v.org/software/
  4. As seen in Breaking Bad and Code Complete
  5. http://www.codinghorror.com/blog/2008/03/the-first-rule-of-programming-its-always-your-fault.htmlLet’s endeavor to fix ourselves before accusing the world of being broken.
  6. Not only is failure an option, failure is the default
  7. Instead of spending three months fixing up this version in a sterile, isolated lab, you could be spending that same three month period listening to feedback from real live, honest-to-god,annoyingdedicated users of your software. Not the software as you imagined it, and the users as you imagined them, but as they exist in the real world. You can turn around and use that directed, real world feedback to not only fix all the sucky parts of version 1, but spend your whole development budget more efficiently, predicated on hard usage data from your users.Now, I'm not saying you should release crap. Believe me, we're all perfectionists here. But the real world can be a cruel, unforgiving place for us perfectionists. It's saner to let go and realize that when your software crashes on the rocky shore of the real world, disappointment is inevitable -- but fixable! What's important isn't so much the initial state of the software -- in fact, some say if you aren't embarrassed by v1.0 you didn't release it early enough -- but what you do after releasing the software.The velocity and responsiveness of your team to user feedback will set the tone for your software, far more than any single release ever could. That's what you need to get good at. Not the platonic ideal of shipping mythical, perfect software, but being responsive to your users, to your customers, and demonstrating that through the act of continually improving and refining your software based on their feedback. So to the extent that you're optimizing for near-perfect software releases, you're optimizing for the wrong thing.There's no question that, for whatever time budget you have, you will end up with better software by releasing as early as practically possible, and then spending the rest of your time iterating rapidly based on real world feedback.
  8. Which is a more efficient use of your time? Duh.
  9. http://www.codinghorror.com/blog/2007/02/boyds-law-of-iteration.htmlColonel John Boyd was interested not just in any dogfights, but specifically in dogfights between MiG-15s and F-86s. As an ex-pilot and accomplished aircraft designer, Boyd knew both planes very well. He knew the MiG-15 was a better aircraft than the F-86. The MiG-15 could climb faster than the F-86. The MiG-15 could turn faster than the F-86. The MiG-15 had better distance visibility.The F-86 had two points in its favor. First, it had better side visibility. While the MiG-15 pilot could see further in front, the F-86 pilot could see slightly more on the sides. Second, the F-86 had a hydraulic flight control. The MiG-15 had a manual flight control.The standing assumption on the part of airline designers was that maneuverability was the key component of winning dogfights. Clearly, the MiG-15, with its faster turning and climbing ability, could outmaneuver the F-86.There was just one problem with all this. Even though the MiG-15 was considered a superior aircraft by aircraft designers, the F-86 was favored by pilots. The reason it was favored was simple: in one-on-one dogfights with MiG-15s, the F-86 won nine times out of ten.Boyd decided that the primary determinant to winning dogfights was not observing, orienting, planning, or acting better. The primary determinant to winning dogfights was observing, orienting, planning, and acting faster. In other words, how quickly one could iterate. Speed of iteration, Boyd suggested, beats quality of iteration.The next question Boyd asked is this: why would the F-86 iterate faster? The reason, he concluded, was something that nobody had thought was particularly important. It was the fact that the F-86 had a hydraulic flight stick whereas the MiG-15 had a manual flight stick.Without hydraulics, it took slightly more physical energy to move the MiG-15 flight stick than it did the F-85 flight stick. Even though the MiG-15 would turn faster (or climb higher) once the stick was moved, the amount of energy it took to move the stick was greater for the MiG-15 pilot.With each iteration, the MiG-15 pilot grew a little more fatigued than the F-86 pilot. And as he gets more fatigued, it took just a little bit longer to complete his OOPA loop. The MiG-15 pilot didn't lose because he got outfought. He lost because he got out-OOPAed.
  10. http://www.codinghorror.com/blog/2007/02/boyds-law-of-iteration.html
  11. By “embrace” I mean acknowledge that the sucking will always be there in some form, so the challenge is to learn from it, adapt and improve on it. That is what you should be optimizing for, the process of improvement.
  12. http://www.codinghorror.com/blog/2007/04/when-in-doubt-make-it-public.html
  13. http://www.kottke.org/07/03/public-and-permanent/
  14. http://www.kottke.org/07/03/public-and-permanent/
  15. http://www.youtube.com/watch?v=_OBlgSz8sSM
  16. http://www.kottke.org/07/03/public-and-permanent/
  17. Given enough breadcrumb trails, you get Wikipedia and Stack Overflow.
  18. http://www.codinghorror.com/blog/2007/05/maximizing-the-value-of-your-keystrokes.html
  19. The input box on twitter should be subtitled: BE INTERESTING. You are performing, not just being. So put some damn effort into it!
  20. You don’t need to be John Carmack. This self-perpetuating cycle of people helping other people in public. Carmack shared his code; Quake, Doom, Wolf3D are all open source now!
  21. http://www.codinghorror.com/blog/2006/03/users-dont-care-about-you.html
  22. http://www.codinghorror.com/blog/2006/03/users-dont-care-about-you.html
  23. http://www.codinghorror.com/blog/2006/03/users-dont-care-about-you.html
  24. you will be remembered for your successes; the more things you try, and learn from, the more likely you are to get to a success.
  25. You should be just shy of religious about your mission from God.
  26. http://www.codinghorror.com/blog/2011/02/how-to-write-without-writing.htmlWorks on a selfish level, works on a micro level, works on a macro level.
  27. Safety is a trap.