Code as Early as You Can

Software Staff
January 22, 2019

[ TL;DR ]

  • According to Joel Spolsky, just getting started could be the key to productivity
  • Data can drive habits, so we can start by tracking code start times--the earliest time in the day we begin coding
  • Starting earlier means we have more time to code
  • Code First is a principle we can adopt to improve developer productivity

Code First Is a Principle That Helps Drive Developer Productivity

By external measures, Joel Spolsky is a productive developer.

That’s a bit of an understatement, since Spolsky founded Trello, Fog Creek Software, and Stack Overflow.

That’s why it’s so interesting to hear his personal take on productivity.

In his blog, Spolsky makes a brave admission:

Sometimes I just can’t get anything done.
Sure, I come into the office, putter around, check my email every ten seconds, read the web, even do a few brainless tasks like paying the American Express bill. But getting back into the flow of writing code just doesn’t happen.

Wow, isn’t it great to hear that slow mornings are the same for everyone, even for a guy who has had such a productive impact on the world of software development?

Spolsky goes on to share a simple insight: “Maybe this is the key to productivity: just getting started.”

Data can be a powerful trigger to drive productivity. To overcome morning inertia, one of the simplest things we can do is to track when we start coding each day.

A calendar showing coding start times. Code as early as you can in order to be more productive.
Code start time can most easily and automatically be tracked from a developer’s text editor or IDE

Why Track Code Start Time?

The earlier in a day you begin to code, the more time you have to code in that day. And the later you start, the more you check email or social media, the greater the inertia to overcome. Products like Facebook and Slack are addictive by design.

Do you dedicate you first working hour to code, or do you waste it on reviewing your schedule and reading through your email?

There are reasonable limits to starting early, of course. Coding earlier in the day at the expense of a full night of sleep, for instance, can be counterproductive and result in less total quality code in a given day.

Code First

Code First is a principle developers or teams can adopt to improve productivity. It builds on coding early in the day.

It includes a bias for action, for instance, rapid prototyping to understand a unit of work instead of extensive research and planning.

It means purposely dedicating or protecting natural focus or flow times to maximize coding, to achieve maximum code flow. And it puts code time ahead of meetings and other time constraints.

Code First is not at odds with code quality. It can be combined with a heavy emphasis on unit testing and a disciplined code review process, for example.

Once you can see your code start times across days and for specific days of the week, you can set goals to improve consistency and put code first.

Code First is a principle that can help you overcome those slow, lazy mornings, so you can have as productive career as Joel Spolsky—or some human approximation, since Spolsky might be an alien or AI program.

Share this article!

Subscribe to our newsletter

Get the Software Review delivered straight to your inbox.
Thanks for signing up!
Oops! Please use a valid email address!

Keep reading

Hyper Web Development and the Rise of the JAMstack
The JAMstack is changing web development. By using JavaScript, APIs, and Markup, developers can eliminate complex server requirements.
Geoff Stevens
December 6, 2018
Code Editor Wars: The Battle for the Hearts and Minds of Developers
Microsoft embraced open source, shipped VS Code, and acquired GitHub. Why?
Software Staff
November 6, 2018
Developer Productivity: A Bigger Constraint to Innovation than Capital
Executives worry most about getting access to developer talent, but the real bottleneck is developer productivity.
Geoff Stevens
December 6, 2018