how to stop sucking and be awesome instead

49

Upload: codinghorror

Post on 08-Sep-2014

304.741 views

Category:

Technology


0 download

DESCRIPTION

If you're reading this abstract, you're not awesome enough. Attend this session to unlock the secrets of Jeff Atwood, world famous blogger and industry leading co-founder of Stack Overflow and Stack Exchange. Learn how you too can determine clear goals for your future and turn your dreams into reality through positive-minded conceptualization techniques.* Within six to eight weeks, you'll realize the positive effects of Jeff Atwood's wildly popular Coding Horror blog in your own life, transporting you to an exciting new world of wealth, happiness and political power.

TRANSCRIPT

Page 1: How to stop sucking and be awesome instead
Page 2: How to stop sucking and be awesome instead

How to Stop Sucking and Be Awesome Instead

Jeff AtwoodCoding Horror, Stack Exchange, Stack Overflow

Page 3: How to stop sucking and be awesome instead
Page 4: How to stop sucking and be awesome instead

Q:

What does it mean when

something “Sucks”?

Page 5: How to stop sucking and be awesome instead

• 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

Page 6: How to stop sucking and be awesome instead

And folks, let's be honest.

Sturgeon was an optimist. Way

more than 90% of code is crap.

Al Viro

Page 7: How to stop sucking and be awesome instead
Page 8: How to stop sucking and be awesome instead

Q:

Why do we suck?

Page 9: How to stop sucking and be awesome instead

A:

Because we’re software,

too.

Page 10: How to stop sucking and be awesome instead

“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.”

Page 11: How to stop sucking and be awesome instead

The common thread in all my failed projects is…

Page 12: How to stop sucking and be awesome instead

The First Rule of Programming:

It’s Always Your Fault.

codinghorror

Page 13: How to stop sucking and be awesome instead

1. Embrace the Suck

Page 14: How to stop sucking and be awesome instead
Page 15: How to stop sucking and be awesome instead

We make shitty software… with

bugs!

Dave Winer1995

Page 16: How to stop sucking and be awesome instead

“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!”

Page 17: How to stop sucking and be awesome instead

Version 1 Sucks, But Ship It

Anyway

codinghorror

Page 18: How to stop sucking and be awesome instead

3 months in development

vs.

3 months of user feedback

Page 19: How to stop sucking and be awesome instead

• climbs faster• turns faster• better distance

visibility

• better side visibility• hydraulic flight

controls

Page 20: How to stop sucking and be awesome instead

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.

Page 21: How to stop sucking and be awesome instead

My goal is to suck less every

year.

codinghorror

Page 22: How to stop sucking and be awesome instead

2. Do It In Public

Page 23: How to stop sucking and be awesome instead

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

Page 24: How to stop sucking and be awesome instead

talk, finger ICQLISTSERV DejaNews

ls Yahoo! directory

find, grep Google

rn Bloglines

pine Google Mail

mount Amazon S3

bash Yahoo! Pipes

wall Twitter

Page 25: How to stop sucking and be awesome instead

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."

Page 26: How to stop sucking and be awesome instead

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."

Page 27: How to stop sucking and be awesome instead

YouTube = public home videos (2005)

Bob Saget was on to something.

Viewed 456 million times… so far.

Page 28: How to stop sucking and be awesome instead

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.

Page 29: How to stop sucking and be awesome instead

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.”

Page 30: How to stop sucking and be awesome instead

“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.”

Page 31: How to stop sucking and be awesome instead
Page 32: How to stop sucking and be awesome instead

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

Page 33: How to stop sucking and be awesome instead

Maximize the value of your keystrokes

If nobody knows you did {x}, did you get all the benefits of doing {x}?

Page 34: How to stop sucking and be awesome instead

The onus of “interestingness”

the freedom to totally suck in private

vs.

attempting to be awesome in public

Page 35: How to stop sucking and be awesome instead

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

Page 36: How to stop sucking and be awesome instead
Page 37: How to stop sucking and be awesome instead

In the information age, the

barriers just aren't there. The

barriers are self imposed.

John Carmack

Page 38: How to stop sucking and be awesome instead

“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.”

Page 39: How to stop sucking and be awesome instead

3. Pick Stuff That Matters

Page 40: How to stop sucking and be awesome instead

So

what?everyone

Page 41: How to stop sucking and be awesome instead

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?

Page 42: How to stop sucking and be awesome instead

Every time you share something – ask yourself “so what?”

If you can't answer convincingly, reformulate and try again.

Page 43: How to stop sucking and be awesome instead

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)

Page 44: How to stop sucking and be awesome instead

This is The Internet.

Let your freak flag fly.

Find your audience.

Page 45: How to stop sucking and be awesome instead

Nobody should be more excited about your mission than you.

Page 46: How to stop sucking and be awesome instead

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.)

Page 47: How to stop sucking and be awesome instead

“It's better to be safe than

sorry” is such crap. You know

what's better than being safe?

Being AWESOME.

codinghorror

Page 48: How to stop sucking and be awesome instead

#atlassiansummit

1. Embrace the Suck

2. Do It In Public

3. Pick Stuff That Matters

Page 49: How to stop sucking and be awesome instead

Thank you!