Learning to code on the job

Charli Marie
Work in Public by ConvertKit
5 min readAug 25, 2017

We’re a small team here at ConvertKit. For many of us that means wearing multiple hats and working with multiple skillsets. And some of those skills need to be learned on the job.

I’m the marketing designer, which means I handle the design of any marketing-related material: brand projects, advertising, print materials, blog imagery, and of course our website, ConvertKit.com. The website is my biggest responsibility and here’s the thing about web pages: after they’re designed, they need to be built.

It became obvious fairly quickly that in order to produce work at the pace needed to reach our goals we had to increase our front-end development capacity. When I first started (back in December 2016) our product designer, Dylan Feltus, was building the pages that I designed. Our CEO, Nathan, would jump in when Dylan was overloaded and sometimes we would also worked with contractors for a few bigger projects. But this way of working wasn’t sustainable.

Working with contractors was still taking up a lot of our time so it wasn’t a long-term solution. Dylan had the UX/UI design of ConvertKit itself to focus on, and though I may not be a business expert I’m fairly sure that, as CEO, Nathan had more important tasks to focus on than building a template for a section on our Wordpress site!

I needed to learn to code.

My prior code knowledge was this: I’d dabbled in HTML and CSS since my teenage years on Myspace, and had managed to hack my way around adapting a Wordpress theme for my own personal website. So while I knew some basics, I had no experience coding in a professional environment. I knew there would be a lot to learn, and I knew it wouldn’t be an easy or quick process.

Fitting in learning alongside regular work

There are a few different ways to up-skill on the job. You can go to conferences, take a course, learn from a colleague, or even just dive in and figure it out along the way. Personally, the way I learned was e) all of the above.

I started out with the online code school Treehouse; taking the basics courses in learning Git, Github, the console, Gulp, and Sass to give me a foundation of understanding on the professional development process. One of the perks of working at ConvertKit is that we are able to choose a conference to attend each year, so in order to increase my code knowledge I chose to attend Smashing Conf in New York (a conference specifically about design and code).

Learning on the job isn’t easy. There are rarely shortcuts in learning, and all those methods above take time. Plus there’s still all of your regular work to think about. I couldn’t take a month out from producing design work because that would put us behind. I worried not only about the time I’d spend learning, but that when it came to actually put what I was learning into practice I would be much slower at building the page than Nathan or Dylan would be. In response to this my manager Barrett shared these words of wisdom that reassured me:

“I’m okay with us having to move at a slower pace for the next year if it means we’ll be faster in the years following.”

This kind of buy-in from your manager is absolutely essential for learning on the job. It needs to be understood that you won’t go from 0–60 in a week, a month or maybe even six months. Learning takes time, and allowing the space for it now is an investment in future projects.

Knowing this, and knowing I had my team’s support, for about a month I spent a few work hours per week learning in Treehouse (and many more in my own time) until I felt ready to dive into a project. My first undertaking? The website for our conference, Craft + Commerce. No big deal.

The Craft + Commerce website

I stumbled through the build of the initial landing page, asking Dylan a million and one questions (sorry Dylan), but I got it done. And learned a heck of a lot while doing it. Then once we had our schedule and speakers sorted, I expanded both the site and my knowledge– figuring out Wordpress things like custom post types and php loops (with Dylan’s help of course, but I did find myself sending less and less ‘help me’ messages in Slack each week!).

Now, a few months later, I’m building pages at a much faster pace, learning more and more, and generally feel like I’m helping more than I’m hindering when it comes to coding. Could we have had a conference page built faster if we’d hired a contractor for it? Sure. But just the other week I built a template for a new landing page in just two days, and without the initial investment in my learning that couldn’t have happened.

How you can learn on the job

With that in mind, here are my final words of advice for learning on the job:

  • You need your team’s support.
  • Don’t expect all of the learning to take place on the job– it’s worth putting your personal time into it too. After all, a new skill is something you can have for life no matter where you work or what you do.
  • If you’re learning online (and I do highly recommend Treehouse if you’re learning to code), it’s a great idea to have someone you know and can contact with questions when you just don’t know what to Google. It doesn’t have to be a teammate, but that is ideal, because it’s in their best interest for you to learn too.
  • Don’t wait too long to get started on real projects. Often the best way to learn is by just diving in and doing it.
  • Related to that, it is worth completing projects at a slower pace initially in order to learn (just don’t choose projects that have strict tight deadlines!).

There’s never a perfect time to learn a new skill. But there’s also no better time to start learning than right now. I’m grateful to work at a company that values learning and was happy to make the investment in me. I love that coding is a part of my job now, and in the ConvertKit spirit of ‘teaching everything you know’ I filmed a video going more in depth into my experience developing the Craft + Commerce website. You can check it out on my YouTube channel below:

--

--