This is part 2 of an ongoing series of reflections regarding what I expected going into software development versus what I've discovered. Check out part 1 and stay tuned for future posts!

My Misconception - Coding

Tough Decisions

What does a programmer do? Program, right? Well...partly.
I've harped frequently on my desire to code fulltime. My previous job gave me fleeting glimpses into this life - a few minutes here to hack desperately at a PHP utility, a quiet afternoon there to try and understand an ancient Visual Basic sub. I felt like the ideal environment would consist of pure code: 8 straight hours of me, a monitor, and the keys. I fought for that. I told recruiters and interviewers that I wanted to code. I convinced myself that all I ever wanted was code, code, code.

The reality is that I do much more than code. Sure, coding's part of my job, and I do enjoy the fun of solving problems with "mere" words & punctuation, but a much larger part of my job is in the engineering. My team (only 3 people, but a strong triplet) spends significant time discussing how we want to approach features. We plan. We mockup. We consider this approach versus that one, and we discuss how or why we might choose one over the other. It's frustrating and exhilarating all at once.

I thought I would hate this part. I thought all I wanted was code, but I realize now that 8 straight hours of code, even on my shiny new keyboard and multi-monitor rig, would be mind-numbing for me. The discussions are enriching, and I always walk away looking forward to the next solution breakdown. I love the teamwork and the sharing, and I love being able to contirbute my own ideas and watch the evolution. This growth and group mentality is huge. It helps me learn, facilitates my growth, and generally makes me feel like much more of a developer.