Yesterday, I officially became a programmer.
About 2 months ago, I got hired as a programmer after spending a year going from non-technical co-founder to functional coder. However, I realized on my first day that even after learning to code and being hired as a coder, I still didn't feel like a programmer. I didn't know what I was doing! Building things is so different than writing code it's ridiculous. It has more to do with knowing the tools, picking the right one, and then being creative to make that tool work best for you project, whether you know how to use it or not. I had the last part down, but I knew NOTHING of knowing and picking the right tool. I didn't even know how to use Git!
I found myself looking forward to morning meetings, where my knowledge of strategy, product management, sales, and marketing made me feel like I was contributing. I took over the company blog, social media accounts, anything to help me contribute to the company during the day while I frantically tried to fill the massive gaps in my programming knowledge at night. Slowly but surely, I got better.
Then, yesterday morning I was given the task of taking an unfinished iPad app, reading through the code, and finishing it myself. Nobody else had time. Terrified, I spent the first hour of the morning ploughing through the code, testing things, and figuring out the moving parts. And then something amazing happened: I totally knew what I needed to do!
Which of course is the exact moment my boss took to call our weekly "all hands on deck" meeting.
Now my boss is a programmer too, so he hates meetings and usually keeps them short. For some reason, this meeting went on for an hour and a half. I spent the entire time squirming, ACHING to get back to my computer to start writing code to finish my app. Each second of the meeting felt like an eternity. And then I realized why programmers hate meetings: programming is about flow. So much of building apps is about how everything flows together, and most of your time isn't spent actually writing. Once you're ready to start writing, it is GO time and anything that interrupts that kills productivity exponentially.
After the meeting was over, the first thing I did is email all the programmers from my startup and apologize for each and every second they spent in a meeting that was any longer than it had to be. Then I went about crushing me some code.
Follow the journey on Twitter