My Job is to Learn How to Code

chad profile picture

That’s me, Customer Success Engineer Chad!

My name is Chad and I’m an IT Infrastructure Manager — make that — used to be one. Until just eight weeks ago, I spent most of my time managing a fleet of 120+ servers and network devices, hundreds of laptops and desktops, across six locations around the US, and a team of six others to help shoulder the load.

Being a Unix nerd that likes to talk to people, I had fun at my job, and I was pretty good at it. However I’m also a tinkerer that doesn’t like to have a knowledge vacuum in any one particular area of interest for long.

My team and I started using iDoneThis to replace status reports and extra meetings. I was hooked. I used a really neat plugin for the popular OS X app launcher Alfred to post all my dones.

When Alfred released it’s major 2.0 update my precious workflow had broken. When the author was no where to be found, I thought, “How hard could this be?” I ended up somehow building a working Alfred 2.0 workflow for iDoneThis and even a mini Python powered API, to act as a mail proxy (hosted at DigitalOcean). Sharing this with the Alfred + iDoneThis community (I didn’t know anyone would use it) got me noticed by Walter and Rodrigo (the co-founders of iDoneThis) plus a Skype call offering their personal thanks for my work.

iDoneThis + Alfred

Todd Clarke liked the workflow so much he made this!

But I thought you couldn’t code…

My high school had an awesome field-house and ice hockey arena, but zero computer science classes. My college had one of the top 10 MIS programs in the US, yet their intro computer science curriculum for beginners was very poor and ineffective. I then wrongly adopted the attitude of, “I’m an infrastructure guy, I don’t need that.”

In my mid-twenties I picked up a book called “Learn to Program” by Chris Pine. He concluded that the traditional academic approach was both obtuse and vague for the true beginner and took a different approach to teaching. Assume nothing, but don’t baby the learner. His book was life changing; it taught me enough basic logic using Ruby, to know how to be a shell scripter in the Unix world. Beyond that level I never made the time to push further, as I was already down a very different technical career path.

The dream

I knew all of the following things:

  • I’ve always wanted to learn proper programming and web development skills
  • I’ve always wanted to be a maker of things
  • I’m passionate about personal productivity and work-life balance
  • I was tired of traditional work environments and culture, or lack thereof
  • I was very interested in working on a remote + distributed team, not bound by geography, but rather by talent and solidarity

I came up with a plan that would take me until 2016 to accomplish, while maintaining better than average performance at my day job. My plan was a neatly laid out mind map with realistic goals and deadlines that would get me to a place where I could build something non-trivial, have a number of articles published online, and have given at least a couple talks regionally about technology or productivity.

Then, this unexpected email subject ruined my entire plan for the better: “iDoneThis + You”—sent by Walter and Rodrigo at iDoneThis.

Though I wasn’t looking for a new opportunity just yet, and I kept reminding Walter and Rodrigo that my background was not officially in software development, I agreed to chat with them further about their open software engineer position and give the technical interview my best attempt.

As advertised, my coding skills weren’t up to snuff and I struggled during the interview.  I didn’t get the job.  But then something surprising and awesome happened—Walter and Rodrigo created a new position just for me.

I don’t want to speak for the rest of the team, but I feel that my passion about helping teams to be more productive through effective communication (specifically using iDoneThis), my similar views on work philosophy, plus my displayed interest and drive to learn; is what sold them on having me join the team, even if they had to invent a new position.

mind map of a dream

The inevitability of Chad joining the team at iDoneThis

What I’m doing now

Though I certainly feel outclassed and in a much bigger pond, I’m now part of the iDoneThis team working as their Customer Success Engineer and loving it. Sure, everyone is an “engineer” of something these days, but let me explain my role briefly.

My role is to make sure our customers are getting the most out of using iDoneThis with their teams.  I do this by handling most of our support requests directly, proactively reaching out to teams to learn about their communication challenges, and engaging with our community on social media.

I also spend time on behind the scenes automation to help trigger followups with the right people at the right time, so no one customer’s needs are forgotten.

Last but not least, a huge part of my job is actually to learn how to code. It turns out that one of the best ways to help customers to be successful is to solve problems directly, with code.

I’m involved in feature planning and weekly bug triage meetings. I try to help guide these efforts based on what our customers are asking for most.  As I continue to advance in my learning, I’ll be fixing more bugs directly for customers, and eventually working on some feature enhancements too.  The drive to help customers has been an amazing, practical motivation to improve my coding skills, every day.

iDoneThis Milwaukee

The iDoneThis Milwaukee office — look at that lava lamp!

My new plan

I’ve been working directly with Rodrigo, our CTO, on a concrete plan to learn how to code. Over the next six months I’ll be working on specific goals to further my coding knowledge and provide more technical value to our team.

  • My first goal that I’m actively pursuing now, is the MIT Open Courseware version of Introduction to Computer Science and Programming Using Python.
  • Complementary to the above goal, I’ll be trying to solve one or two ProjectEuler problems per month.
  • My next potential goal is the relatively comprehensive web development tutorial called Tango with Django.
  • I’ll always have one active bug-fix assigned to me internally with a weekly session to put work against it, to help me learn about our existing code base.
  • My weekly check-in with our CTO Rodrigo is a bit longer than a normal check-in to give me the equivalent of some “office hours” to seek help and do some pair programming with a pro.
  • I’m sharing my progress on our internal iDoneThis team. Putting my learning in public is a little nerve-wracking but is really about sharing progress and having more resources to bounce ideas off of.

A promise to report

I’ll be reporting back in about six months to let you know how things are progressing and share any accomplishments. Until then, feel free to follow me on Twitter and Github. If you’re in a similar boat, I’d love to hear from you directly. I’d love to put together an iDoneThis account to share struggles and successes with others learning along the way.