Skip to Main Content
Becoming a Better Programmer
book

Becoming a Better Programmer

by Pete Goodliffe
October 2014
Intermediate to advanced content levelIntermediate to advanced
362 pages
7h 49m
English
O'Reilly Media, Inc.
Content preview from Becoming a Better Programmer

Chapter 25. Test-Driven Developers

Logic will get you from A to B. Imagination will take you everywhere.

Albert Einstein

After years trapped in the software factory and many long hours of bitter experience, software development becomes second nature. Once you are familiar with the syntax of your programming language, understand the concepts of program design, and have learnt to appreciate the difference between good and bad code, you find yourself naturally making reasonable coding decisions without discernible effort. Daily coding activities and “design in the small” become instinctive. Correct syntax flows from your fingers’ muscle memory.

A mindless “shoot from the hip” approach is symptomatic of the cowboy coder, but experienced programmers can work incredibly effectively without much deep thought. This is the benefit that experience brings you.

Have you reached this stage?

According to the Four Stages of Competence model, described in Live to Love to Learn, this idealic state is unconscious competence. It is an act we are able to do without needing to consciously think, a task we can perform effectively without even realising exactly what we’re doing and how difficult it is.

There are many activities in which we achieve a state of unconscious competence. Some are professional. Some are far more mundane: most humans can walk and eat without careful concentration. A common task in which people see their skills progress through the four stages of competency is driving a car. ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

How Functional Programming Can Improve Testing, Reuse, and Maintenance in Your Current Codebase

How Functional Programming Can Improve Testing, Reuse, and Maintenance in Your Current Codebase

Eric Normand

Publisher Resources

ISBN: 9781491905562Errata Page