When you start working towards your first developer job, things seem pretty simple. Put in the time, learn the skills, and start applying for jobs when you feel comfortable to do so.

There’s no challenge that a few Google searches can’t fix. You feel like you’re on fire! You’re great at this and more than ready for your first developer job! But then there comes a point when it feels like every step forward is two steps back. You start to gain awareness of the vast depth of knowledge you don’t have.

Maybe you’re not as good as you thought after all?

In the beginning, you’re much like a toddler – ruling your household and in control of everything within your domain. But then, your parents open the front door and expose you to a whole world outside. That world is scary, and you go from being someone who is completely in control and comfortable in their environment to someone who may feel helpless.

Many people say they feel this way when learning to program. There comes a moment when they become conscious of how vast the world of programming really is.

So, if this is the case – when during this process will you be ready to go for your first developer job?

web developer job

The real answer is, you’ll never be fully ready.

And it’s not because that’s how long it takes to master some hyped technology out there. It’s because that’s what it takes to grasp the fact that you will never learn everything there is to know about programming.

There’s just too much to learn.

At a certain point, you just have to dive in and go for it. It’s all about being able to be productive and keep going in a world you don’t fully understand. There’s chaos in this world. And bugs. And nobody really fully understands it. People who know more than you will try to help you learn, but everyone has limits to their knowledge. 

Given the way software is built, it’s amazing that anything on the internet is working at all. If you’ve never written software for a company, you probably think the process is something like launching a spaceship. First, from a lab, the ideal solution is crafted up by meticulously taking measurements, building a prototype, and running a series of complex tests on the prototype. Then, you can engineer the rocket, launch it, and celebrate the success.

In reality, it’s more like fixing a broken go-cart with WD-40 and duct tape while going downhill.

At first, nobody is ready to careen downhill in a broken go-cart going 45MPH with nothing but duct tape and WD-40 to fix it. You could spend years studying the properties of different brands of duct tape and all the novel ways to use it, and although you might figure out how to make the best vest out of duct tape, it’s not going to help you when your tires blow out.

In this way, the feeling people wait for to start putting themselves out there for their first developer job is one that isn’t going to ever come.

You might think that if you learn the latest and shiniest technology, it will make you feel more prepared. It won’t. Instead, you’ll just be more distracted by the fact that you don’t know some other unimportant detail.

Successful career changers start before they’re ready.

This means that if one company tells you no, you shouldn’t take it personally. Instead, you should have the self-confidence to keep going when other people would have given up.

When you start as a junior developer, you’re not expected to have all the answers.

So don’t act like it. Get comfortable being vulnerable and honest. Feel okay going outside your comfort zone. Inaction is a thousand times worse than rejection.

If you think you’re in a position where you’re able to break problems down and contribute on a team,  you will be able to hit the ground running from day one at a company and you should start putting yourself out there.

AuthorKen Mazaika

Ken Mazaika is the CTO and co-founder at Firehose. Previously, he was a tech lead at WHERE.com (acquired by PayPal) and a member of the PayPal/eBay development team in Boston.

Leave a Reply

Your email address will not be published. Required fields are marked *