Coderrob brand logo Coderrob

Hi, I'm Rob. I'm a programmer, Pluralsight author, software architect, emerging technologist, and life long learner.

Being a Programmer

Wed, 30 Oct 2013

I’m a Programmer

What does that even mean?

I love creating something that didn’t exist before, and then ‘bam’—it’s a thing that others can use. It’s thrilling if it’s something people need to use, and the best feeling by far if it’s something someone genuinely wants to use.

At least until someone turns the power off. Then it all becomes a tiny magnetic dance frozen in place or microscopic scratches on a disk. It’s peculiar to think of software as both existing and not existing simultaneously.

cd schrodinger
cat box

There are times when I don’t like programming, feel creatively inspired, or it feels like a burden I have to do rather than want to do.

When it comes down to it, programming is no different than writing this post. You form an idea, sit down at a keyboard, and start typing. Special text, but still just text. This text becomes a story with a beginning and an end. The storyline must make sense, or the reader won’t understand. Subtle mistakes in spelling or grammar can cause the story to never finish—a “never-ending” story is definitely undesirable.

Take this concept and apply it to more significant programming projects where you must engage with a story that one or hundreds of people have been writing for years. Each writer has their flair and style. While anyone can write the same storyline, a million different details might vary from person to person.

As a programmer, you must sit down and immediately grasp the story, continuing where the last person left off.

The truth is, some writers out there lack depth or a comprehensive understanding of their subject. A large project can be comprised of many little novellas, each influencing the story arc, making it never the same story twice. Today, we call those micro-services. So hawt right now.

Often, but not always, the story can be “seen” and interacted with. I view the graphical output as the book cover. Some covers look stunning, but the text inside may resemble spilled alphabet soup—an olfactory disaster. Such disparities in quality arise because formal training isn’t required to write programs.

Indeed, formal training doesn’t guarantee quality either. It really boils down to whether the writer has taken the time to refine their craft, or if they are content with just getting the work done.

I strive to explore various writing tools and styles, continually seeking improvement.

Programming isn’t as glamorous as it’s portrayed in movies or college recruiting commercials. It’s text—lots and lots of text. But it’s exhilarating when you have enough experience to see beyond the text and envision the objects you’re creating. If you’re doing object-oriented programming, that’s especially true, and it leads to a whole new understanding.

Programs are like a big game of Plinko where objects funnel down through paths you map out in your head. I think that’s why programming is so engaging. You’re continually playing Plinko, except with logical conditions, never quite certain whether you’re a winner or a loser.