Red Green Repeat Adventures of a Spec Driven Junkie

Journey to TDD - Beginning

I learned test driven development (TDD) in the second half of my career, when I re-entered the software industry from an educational hiatus.

To understand my journey to TDD, I want to share where I started.

Up to that point, my software knowledge was self-taught. I had one or two classes in computer science in university, both were just programming languages - Pascal & C++. My first degree is in electrical engineering (let’s say I did not like doing any of the power engineering classes…)

Even when I entered the industry after graduation, I was self-taught. I worked in a research lab of another country and spoke the local language enough to converse, not to talk about deep technical concept or abstract ideas that are prevalent in software development.

At work, I learned development on my own. In a research lab, software was pretty one-off. I completed any challenge given to me in a way that surpassed original expectations. With this feedback, I felt I knew it all.

I was confident enough to program anything they wanted. Of course, there were bugs, those are “unavoidable”. The worst part is I would spend as much time debugging as programming and the solution would be one line, or worse: a comma.

Still, I considered myself to know everything about software. I learned this was not the case when I started re-entry