Getting Good at Development

I’ve been thinking a lot about design lately and having a hell of a time designing and coding a simple landing page for a marketing campaign I’m working on. 2015 was a very code heavy year for me. I didn’t do much design work for most of the year so now that I need to design something it’s harder than ever. This then got me to thinking about how it was that I got to be any good at either coding or design. What I discovered is something I wish I had known as a beginner and something that I think would help anyone struggling with a creative block or just general frustration over the quality of their work. This is how to become good at anything.

This landing page dilemma has been bugging me for the last 3 days and it’s killing me. I was never great at design to begin with but I could at least put something together that looked good and accomplished its goals. So how did I ever get to the point where I was good at design or, for that matter, development or anything at all?


The first thing I realized is that I have a lot of momentum pushing me forward. I have a libraries full of stock images, PSD graphics, custom front-end frameworks, and solutions to common problems I’ve solved more times than I can remember. This means that when I get stuck on something I never truly come to a dead stop in my work. The momentum I’ve picked up by collecting knowledge, tools, and resources will always push me forward no matter how bad my creative or coder’s block may be.

So how does momentum make you good at something? It doesn’t. It’s a result of putting in a lot of time and creating a large body of work. The real takeaway here isn’t “you need momentum”, it’s you need to do the pre-work that gets your ball rolling. Momentum is that thing that makes what experts do look so easy.

Have you ever watched Bob Ross paint? I encourage you to watch just one episode and not have your mind blown. The guy creates amazing paintings in just under 30 minutes. He did this for twenty episodes a year for twenty years. Or how about when you go to a concert or see one on TV. Have you ever watched the musicians when the camera does a close-up on them and been amazed at how easy they make it seem? That’s momentum! But those guys didn’t always have it so easy. They started out knowing nothing, just like all of us. It’s just that they put in the work to build that momentum that makes what they do today look effortless.

Put out a lot of work

The real key to becoming good at anything is to do a lot of work. I mean a ton of it. If you want to become a great developer you have to be a bad one first. So go out there and start building website, web apps, and any idea that comes to you. Whenever you get frustrated that your work isn’t as good as you want it to be, remember that you’re focusing on getting work out there so that you can do good work later.

Let something be shitty

Seeing your own work fall short of your expectations can kill your motivation and make you want to quit. That’s why you need to give yourself permission to be bad at what you’re doing. Whenever you see you’ve done some crap job and you’re tempted to quit, remember that it’s alright to be crappy. If you’re tempted to spend more time perfecting the crappiness of your work at the expense of getting it done, tell yourself that you’ll go back and fix it later. Right now, on your journey from bad to okay to good to great, your job is to get work out there, not get perfect work out there.


Did you know you can come back to something later? Yes, it’s true. Unless you’re a surgeon or a fighter pilot you don’t need to get everything right the first time around. You have the luxury of being able to iterate on your work. Iteration is the whole reason software has versions. No one gets it right the first time around. I remember the first time I released a web application – it was a crappy note taking app. I didn’t realize back then that I could fix it and it could become good. I really wanted people to use it and for it to become popular and I was pretty upset and sure that my shit work would ensure the project got ignored. That project was and today it has almost 10,000 users many of whom have paid accounts and love using it. That only happened because I went back and updated the site over time, making it better and better with each iteration.

Move on

Get some space between you and your projects. Sometimes walking away for a bit is the best way to improve your work. After some time you can come back with more skill and fresh ideas to make your projects better than ever.

It was only because I put out tons of work, let some of it be shitty, iterated on many of them, and took time off from each of them periodically that I eventually became good at what I do. No matter what you’re trying to do, the key to becoming good at anything is to do a ton of work. You’ll build momentum that makes every subsequent attempt just a little easier. Before you know it, you’ll be so good that you make it look effortless.

Web Design, Web development

« Design for Programmers (and other Non-Designers) Dropping IE Support »