Always. Be. Shipping

I believe there's a healthy balance all programmers need to establish, somewhere between...

I've talked about this a few times already, so I won't belabor the point.

This is a companion discussion topic for the original blog entry at:

I believe there’s a healthy balance all programmers need to establish, somewhere between…

  1. Locking yourself away in a private office and having an intimate dialog with a compiler about your program.

  2. Getting out in public and having an open dialog with other human beings about your program.

How about adding:

  1. Getting out in public and having an open dialog with other human beings about something that does NOT involve programming.

I tell young people not to waste their lives like I did: You’re 20 years old: Have lots of sex, party hard, get drunk, hitch hike across country, go to Europe with nothing but a backpack and sleep in youth hostels. You can always go back to school when you’re 30 and get your degree.

It’s much harder to get your degree when you’re 20, and then attempting to live an irresponsible life when you’re 30. In fact, doing that when you’re 30 is just plain creepy.

Interesting … and I guess lately I feel like I have just the opposite problem.

The place that I work is a very high pressure production environment: I am CONSTANTLY writing software just to keep up with a work load that seemingly never has any sort of let off.

One critical project to the next, with support calls in the middle, and new projects being commissioned by the sales folks faster than we can complete them.

In the mix of all this, I feel I have no time to learn “new” things, or to play around with technologies that are growing and moving forward, like more/most of the web programming such as ASP.NET 2.0/AJAX, etc.

It’s very, very scary. I’m so worn out at the end of the day, the last thing I want to do, or really can do, is go home and “play around with new programming” – or even sit to write articles about it.

I’ve got pain problems in my hands and my arms, and I’m just barely able to make it through a day of having to write code for work, that I wonder when I might be able to go back to a time when I could play around with new things, have fun with them, and talk about different programming techniques and philosophies.

Now, I’ve got to get back to work…

Love the GlennGary GlennRoss refernce :slight_smile:

Overall: good advice for whatever you’re doing, not just software or sales. If there’s a ‘secret’ to success, ‘doing’ is it.

This post is a shining example of why I love this blog the way I do. Scoble, I hope you read this. Doubtful.

There is no one slogan that will result in success. “Do it f***ing now” is better than most, but it just as often results in wasted effort as quicker results. The real trick is in figuring out what “it” is before you do it. Then, of course, “Do it f***ing now”.

Reminds me of the song by Henry Rollins : “Do It”,156100,00.html

@halcy - I personally wonder if the point of this post was counter to your three-point list of:

  1. Do it.
  2. Do it right.
  3. Do it right now.

I think that this post is stressing the ‘Do it’ and the ‘Do it right now’ aspects of your list. So many developers (my team included) get stuck in analysis paralysis in an attempt to ‘do it right’ that they never actually do it, or they figure out how to ‘do it right,’ and, by the time that they figure out what they will do, they don’t have the time to implement The Solution that they worked out.

I say do it, and do it right now. Sure, try not to f*** it up, but the lack of movement that comes from ensuring that you do it right can kill a project. And, chances are, one you start doing it you will find that your impression of how to do it right is off-base anyways, and you have to make changes mid-course.

Simply creating code that works and only does what I need it to really helps to move things ahead.

Crap, now I have to quit this silly assed programming thing and pony up the money for that patent!

Oh, so now you’re happy to take advice from a dirty SEO “pornographer”.

well, stop reading this blog and go and do it then!

While working in operations at MSN on Search, I found that this attitude lead to rollouts every day, an ignorance of rollout embargos, lack of time for QA to do their job properly and a whole mess of cavalier attitude towards quality in general. Not to mention a lot of blame placed on overworked operations people.

While I agree with the “DO IT FUING NOW" attitude in a broad sense, in the world of software development, particularly that for web applications the “DO IT” should refer to every step in the process, not just the ones we LIKE to do and if we didn’t do our part right, we shouldn’t force it out the door "RIGHT FUING NOW” or else we are only “FU**ING” our users.

now you’re happy to take advice from a dirty SEO “pornographer”

Some pornographers provide good advice, at times…

A coworker forwarded me this parody of that Glengarry Glen Ross scene on SNL (performed by Alec Baldwin no less)

that glengarry glen ross speech is a classic!
what a horrible man, makes you want to spit in his face.

sometimes a little thoughtful pause or discussion can save a week of bad coding.

if the advice was “Always Be Coding” – i’d say no – always be thinking.

nice topic Jeff – hits a nerve!


This was just the kick in the pants I needed - along with the sight of Alec Baldwin’s brass balls.

Honestly, I think I have to disagree here. I know a lot of “action people” and if the world was left to them it wouldn’t be standing. Getting it done is a good thing, but getting it right is better. Often, you can save huge amounts of time and effort if you just spend a little bit more time thinking about it. I’ve always preferred the phrase “work smarter, not harder”.

A side point: it doesn’t seem like many of the people who are the most famous for programming got famous while programming. Marc is off a bit, I think; it is more likely that someone else will be judged by what our code has done :slight_smile:


Paul, you’re right:

This falls into the category of “you’ll have to decide what’s worth doing for yourself.”

To those who say “do it right” is just as important, think again. What’s more important IMO is to “do it” and “do it right now” on the first working prototype. Why? Because, “a man only knows how to build a house once he’s done”.

I firmly believe that first version that simply gets the job done is extremely important. Then, throw it away. The second version should then be designed with the “do it right” mentality. The first version solved a lot of problems, but created a number of its own. The second run at it should be able to address all of those or work around them nicely.

If you have an idea for something on the web, make sure you understand that time to market is the only advantage you have. The barrier to entry in a large number of areas is almost zero (a domain, cheap hosting space, and some web code). Get that first version out there, see what works and what doesn’t, and build the second version using the best design possible.