How Good Programmers Get It Done

| December 24, 2012


This article was originally posted by Zac Gery at his blog.

There is no magical elixir, mobster payoff, or performance enhancing drug that makes a good programmer. Developers come from all walks of life. Some have raw talent. Others have extensive job experience or received higher education. Those attributes are excellent pieces to the puzzle but they lack an important binding agent. The difference between an average and good developer is time management.

In programming there are many ways to solve a problem, but a few immovable constraints do exist. Everyone is restricted to the same 24 hours in any given day. A continued focus and responsibility to time management is vital. The term "time management" refers to the principles, practices, and tools used to get the largest return on time invested. Distractions and interruptions in business are contagious. Better time management decreases overtime, increases one's value to a company, allows for increased situational awareness, and reduces stress.

Time management isn't about counting seconds. It's about better use of time. Maintaining and executing task lists are an undervalued key to great time management. Building task lists isn't a new concept. Everyone has experience with them, but few truly harness their power. How many people know exactly where they left off yesterday? Now add an unexpected sick day or a week of vacation. Still remember? Some may feel that lists are only for disorganized individuals. On the contrary, they are bigger than ever right now. Don't believe it? Do any of the following terms sound familiar? Agile, Lean, Scrum, and Kanban. At their core, they are simply tasks in a list.

Staying "wired in" when developing is one of the hardest tasks in business. The ability to quickly jot down a list digitally/traditionally should always be within hand's reach. It can record a follow-up task, notate additional research, or provide a quick brain dump of ideas and thoughts before continuing with work. It's important to remember a task list is not a living, breathing entity. Its effectiveness depends on the dedication of its owner. Below are a few guidelines that can help better time management without sacrificing process.

  • Do not voluntarily sidetrack a task. See it through to completion. If additional tasks arise, write them down and return to the primary task.
  • Dedicate time at the beginning and end of each day. Be aware of early or late meetings that may interfere with this and plan accordingly.
  • Make sure items on the list are clear enough to be recalled at a later point. One or two word notes may not be sufficient.
  • If an involuntary interruption occurs, don't be afraid to stay on task. Most people don't intend to interrupt and don't mind if a delayed response is necessary. If a follow-up is required, don't forget to write down the follow-up as a task. Implementing quiet time or business hours is an excellent way to funnel and maximize available time.

* The views expressed in this article are those of the author and do not necessarily represent the views of, and should not be attributed to, Jelastic or its technology and distribution partners.