Is Writing More Important than Programming? Jeff Atwood codinghorror.com
It’s amazing how enthusiastic Canadian students get, compared to American students who are too busy trying to get jobs at Facebook or Google to organize anything. Joel Spolsky
“Canadian cities look the way American cities do on television.” William Gibson, Spook Country (2007)
The Mythical 5% (Bruce Eckel) Talk at Yale (Joel Spolsky)
Blah blah blah you’re so awesome and important. We get it. Who cares.
This talk is not about me. It’s about you.
What are you gonna do with your life? Twisted Sister “We’re Not Gonna Take It” 1984
Money? Power? Influence? Satisfaction?
BIG MONEY! BIG PRIZES! I love it!
Starting a blog in 2004 is, by far, the most important thing I’ve ever done in my professional life as a software developer. My only mistake?
Not starting sooner.
When people tell their friends, “That Zed is such an asshole.” Their friends reply: "I know. What a prick.“ When I tell my friends that my enemies are assholes they reply, "Who?”
Tim Bray recognized me. Joel Spolsky recognized me. Steve McConnell answers my emails. People I write about show up in the comments (I call this the Beetlejuice Effect). Like Gerald freaking Weinberg. These people have Wikipedia Entries.
What have I really done? Don’t own a company. Didn’t participate in an important startup. Didn’t author a framework or standard. Haven’t made a lot of money. NOTHING
There is absolutely no reason any of you should listen to me. But somehow, I have 75,000 RSS subscribers and over 50,000 pageviews/day. It’s a mystery to me, too.
Love, I think, is too weak a word for what I feel about computers. It’s more like an all-consuming maniacal blood lust. All I wanted to do was share my passion for computers with everyone else. I had no outlet at work, so I turned to the internet.
This series of books is affectionately dedicated to the Type 650 computer once installed at Case Institute of Technology, in remembrance of many pleasant evenings. Donald Knuth dedication to The Art of Computer Programming 1968
People respond to shared passion. A lot of people.
It doesn’t matter what you’ve done if nobody knows about it.
Zed’s right. Most of the time, working at a typical corporate programming job sucks. REALLY sucks.
But why does it suck? Because, at those companies, software is not the product. It’s just piping, plumbing, something they have to do to make widgets. They don’t care about software. And why should they?
But I did.
So I QUIT
“Your early twenties are exactly the time to take insane career risks.” Paul Graham Hiring is Obsolete (2005) 38
You’re young. Take insane risks. Work for a SOFTWARE company. Life is too short to stay at a soul- sucking job.
Another thing Zed neglected to tell you: New York City is a terrible market for software developers. Unless you like incredibly boring financial programming. This is why Joel Spolsky started his own company.
That’s also why I moved to California, and not NYC.
Disclaimer: this is not an Eastside/Westside thing. But I did pack my inhaler, if someone’s gonna throw.
“And if, as nearly everyone who knows agrees, startups are better off in Silicon Valley than Boston, then they're better off in Silicon Valley than everywhere else too.” Paul Graham Why To Move to a Startup Hub 2007
Move where the best jobs are.
Now I’ll share my greatest secret with you.
I am not an exceptional programmer.
I won a nice bonus from Sun for being one of only four instructors in north America to get the highest possible customer evaluations. This happened in spite of my not being a particularly good instructor or Java guru. I proved that a very average instructor could get exceptional results by putting the focus entirely on the students. Kathy Sierra Users Shouldn’t Think About You (2005)
I had to learn how to play electric guitar a little bit because all I play is acoustic guitar. And I'm still not very good at electric guitar. And the truth is, I'm not very good at acoustic guitar, but I make up for it with intensity. Jack Black, School of Rock DVD Extras
But I can write FizzBuzz. 10 i = 0 20 i = i + 1 30 if i / 15 = int(i / 15) 40 print "FizzBuzz" 50 elseif i / 5 = int(i / 5) 60 print "Buzz" 70 elseif i / 3 = int(i / 3) 80 print "Fizz" 90 else 100 print i 110 endif 120 if i < 101 130 goto 20 140 else 150 quit
Enthusiasm is more important than talent.
Number of people in the world who speak English well enough to edit Wikipedia and who have access to the internet. (This includes non-native speakers. It omits potential contributors to non English-language wikipedias only because this bar is already absurdly tall. (Okay, and because wikipedias of seperate languages are, to some degree, islands, and don't function as a cohesive whole.))
How many people can you reach by typing code into a compiler, even under ideal conditions? How many users will use your software? How many other developers? How will the world change as a result of your software? We can potentially reach 500 million by writing.
Over 100,000 people read what I write on Coding Horror every day. I get the most wonderful email from people who share my passion for computers, and find something on Coding Horror that helps them. Unfortunately, the hulking megalith that my blog has become makes everything else I do seem.. quaint in comparison.
You can become a better programmer by not programming.
Most programmers are terrible at interpersonal communication. And that’s a shame, because it’s the #3 reason software projects fail: 1. Project size 2. Kind of software being developed 3. Personnel factors
Software is Peopleware
If you can program at all, you’ve already set yourself apart from 99% of the population. Don’t dig recursively deeper and deeper into becoming ever more technical. Put down the compiler, and take stock of what you’re doing. Code is important, but it’s often not the best way to move forward in life.
“Do you have any programming heroes? I do! Oddly enough, though, I've never real y seen much of their code. Most of the famous-ish programmers I respect have actually made their impact on me through writing, and it's usually just prose, with maybe a little code interspersed.” Steve Yegge Get Famous by Not Programming (2006)
Cultivate passion for everything else that goes on around the programming. Including your coworkers, even if they do happen to be incompetent and annoying. Complement and enhance your existing programming skills by branching out. Learn about your users. Learn about the industry. Learn about your business. And start a blog to document your progress.
Start a blog.
“The people who get to decide the terms of the debate are the ones who can write.” Joel Spolsky Talk at Yale, Part 3 2007
“This is certainly the most important thing I'll ever say in my blogs: YOU should write blogs.” “It's become pretty clear to me that blogging is a source of both innovation and clarity. I have many of my best ideas and insights while blogging. Struggling to express things that you're thinking or feeling helps you understand them better.” Steve Yegge You Should Write Blogs (2005)
“I've talked with a lot of people who are reluctant to write blogs. Everyone offers pretty much the same reasons: they're too busy, or they're afraid to put something on ‘permanent public record’, or they think nobody will read their blog, or they think blogging is narcissistic. Or they're worried that they either don't have anything good to say, or they won't say it very well.” Steve Yegge You Should Write Blogs (2005)
you have to want to write you have to believe you have something to say you have to have an interesting way of saying it Set a schedule and stick to it. Writing is exercise; the more you do, the better you get at it.
You can do what I’ve done.
1. Work for a software company. 2. Take insane risks while you’re young. 3. Don’t settle. Move to where the best opportunities are. 4. Enthusiasm is more important than talent. 5. Cultivate all the skills that go with programming. 6. BLOG!