First, a reality check:

If you are looking for the 10-minute-abs, zero-to-hero-with-this-one-weird-trick kind of article, you won’t find it here. Achieving anything meaningful is hard and needs persistent work over long time.

It doesn’t matter where you are starting from

I didn’t grow up in a good place. There, any kind of studying as a teenager was totally not cool between my peers. Statistically, if you didn’t grow up in this kind of environment, you have a head start already.

For more than 12 years I’ve been a Computer Science student. Even though I’m almost done, I still haven’t managed to get my CS degree after all this time.

Over the years I’ve done every other kind of job you could imagine. Some where pretty crappy ones. But how do I get into an industry where everyone asks for at least 3 years of experience?

Took me a long time to realize that the start is always the hardest and takes the longest to leave behind. Particularly while you are in it, it seems like it will be rough like this forever.

The truth, though, is that the engineering industry is today more diverse than ever. There’s a perfectly fitting niche for everyone (who knows themselves enough).

In fact, engineering demand is growing faster than the engineering supply can meet. This results in an ever-increasing deficit. Specifically the demand for good engineers is very high all over the world right now. So it’s only going to get easier for you to get a job, even if you just wait. Play your cards right and the potential opportunity skyrockets.

Here are some of the things I’ve learned along the way.

Act like the person you want to become

Always do your best. That means, whatever you do, always try to go the extra mile. Think of your best as it’s defined in The Four Agreements.

In order to get extraordinary results you need to make extraordinary efforts. Trying your best guarantees nothing, of course, but not settling for “good enough” is your only ticket to getting access to what the rest of the pack might never get.

Always be genuinely curious and never stop learning. I cannot stress this enough. To this day I still watch 1 - 3 technical conference talks on YouTube per day, and I have for years. I’m a very slow reader so this works around my problem, but for you it could be Medium articles or a technical book, or grinding a Udemy course or whatever else. If you don’t have this innate curiosity, then I strongly suggest you reconsider your career choice.

After you are done building something, always ask yourself how you could make it better. Then research your approach, then make it better! Handling edge cases, optimizing security and performance, refactoring into DRYer and cleaner code or adding features - it doesn’t matter. Just follow this guideline and you will learn loads!

Find a project that excites you and put your heart and soul into it. Let it lead you to the knowledge that you lack, embrace it and make it part of you and your every-day routine.

A while ago I almost started up a fintech startup. The project found its end prematurely, but that’s OK. What I’ve learned while working on it and the experience I’ve earned leading up to selling the tech were rewards, justifying my efforts in full plus interest.

Apply for an internship in a small company (no more than 50 employees). You will learn new things in real working conditions and with real consequences to drive you. Plus it’s a gateway to a junior position in the same place, bypassing the 3 years experience requirement.

Take care of yourself. Seriously. Think of yourself as a person in your life you love and care about. Treat yourself accordingly. Food, sleep, exercise, meditation, fun; try to persuade that person to do well in all those dimensions for their own good. Having this attitude will result in a functional and performant mind and body. You can road trip life on a slow, smelly, bus, or a sleek, fast cabriolet playing your favorite tunes on the speakers. Your choice.

You’ll never get something you didn’t ask for

You can’t always get what you want, but if you try, sometimes you get what you need.

Apply to as many interesting jobs as you can find (indeed.com, glassdoor.com, stackoveflow.com/jobs). This implies you have a good enough definition of what is interesting to you, beforehand.

Don’t be afraid to look abroad. In fact that’s what you should be prioritizing. It’s a guaranteed way to get you out of your comfort zone. What better way to grow yourself in your craft and as a person! At this day and age, many companies offer benefits such as relocation or visa bonuses. Search for it, ask for it.

Absolutely do apply to interesting jobs you think you don’t deserve! There’s a high chance you underestimate yourself and overestimate those others out there. You don’t know how you really stack-up against the other resumes these hiring managers receive, and in the end, you just never know! Just give it a shot or 20, it’s free! Worst that can happen is you won’t be accepted.

Always be honest and hold your weaker points like a badge of honor. Still, do try to polish up those outliers if you can.

Marketing is key, as always

Marketing applies to everything: From the barista at the coffee shop that takes more care of you because he likes you, down to your personal relationships. And that’s OK. Marketing, in its core, is the art of communicating information in a manner that is interesting and valuable from the perspective of the recipient. Marketing, when inaccurate, can indeed be deceptive — but when practiced correctly, it’s the best way to get yourself understood.

You need to market yourself the way you would market your product or service to a customer. That means branding yourself, having a landing page, paying close attention to the wording/copy used to describe yourself. The end goal is to spike the recruiter’s interest, to stand out and make them want you to join their team or, at the very least, to want to know more about you. Trying to dazzle them, though, won’t work. Their BS detectors are pretty sensitive.

Diversify yourself from the pack however possible. An uncommon cover letter, a populated GitHub account, stack overflow activity, a personal website, a readable CV style, some forum presence, anything — do more!

Think long and hard about your cover letter. First impressions are paramount, and chances are that with a mediocre/generic cover letter, your chances to proceed in the hiring process have just tanked already.

Be you. During the interview have zero expectations of performance or outcome. Nada. Nil. Forget about all that! Just let it all go and just be you with the recruiter or whoever you’re talking with. Don’t try to look smart, but don’t be too introverted either (unless that’s who you actually are or how you are feeling that day). Just get out of your head and be in the interview in full.

Have a system

This goes back to acting the role.

Write things down. Where you have applied, when and what you asked for, what was talked about during interview, their replies to you, other notes of yours maybe as labels, whether you got an offer and what that was…document it all.

Have a central place where all your notes live. I used Trello but it could be anything really.

Calculate your projected expenses for each city/position before you get asked about your expected salary (to roughly account for taxes, multiply by 0.66 ). Numbeo can help you with that.

Don’t forget that, no matter your skill/experience level, you can - and should - negotiate (but only after receiving the offer).

In my experience, it’s better to be an underdog and then stand out, than trying to meet standards set too high, too early.

Be patient, be persevering

Nothing ever happens overnight. I practiced all the above at least 2 years before I even applied for my internship. I spent about a month setting up my GitHub, Stack Overflow, personal website, researching jobs, before I began to apply.

Anything meaningful is hard and takes time. 10-minute-abs tricks don’t exist.

Embrace failure. Expect that you will fail. You will quit. You will drop the ball. Then you’ll pick it up again, every time, and recommit.

Fail, recommit! Fail, recommit! Fail, recommit! Fail, recommit! (Ad infinitum)

Any time you have to make any choice, project it against the direction you want to end up, and opt for the option aligning best (hint: usually it’s the one you fear most to take). Keep applying this and success is unavoidable.

Stay on the road and keep chipping away… till you get there!

…Then you’ll eventually realize there was no definite “there” all along :). But now you’re still leagues beyond where you started, which is the only thing that matters anyway.