Back to articles list Articles
8 minutes read

How to Land a Good Coding Job in Just Three Years

Three years or three months? With all the 12-week bootcamps and coding schools out there, three years sound like a joke. "Enroll in our course today, and become an expert programmer!" "Start learning to code and jumpstart your programming career immediately!"

Most probably, you've heard lots of claims like these if you're interested in coding. Are they reassuring? Maybe. Frustrating? Sometimes. If you've been learning for a year and still feel like a newbie programmer while others are starting their careers in three months, you start to wonder: What's wrong with me? Is coding for me? Don't panic; everything's fine.

I've been learning front-end development since 2011, and it took me three years to get my first real front-end coding job in 2014. Why did it take me so long? Well, quite simply, I wasn't in any rush to get places. And from today's perspective, I can say I'm happy with that decision—I took all the time I needed to decide which career path I wanted, and it worked out well in the end.

At the end of the day, it doesn't matter if it takes three months or three years to land your first coding job. What really matters is that if you want to start a career in IT, you should just go for it.

What's the best moment to change your job?

That depends greatly on your economic situation and life circumstances. You certainly don't want to put off a job search until you're a coding champion, but at the same time, don't be unprepared either. Companies usually prefer people who are willing to learn and full of passion and dedication. Maybe because they understand you don't need to know everything to land your first job, or they simply recognize that nobody's perfect.

Every job interview is a great lesson. You learn how to deal with technical interviews (coding on a piece of paper is a good skill to have!). These interviews are an excellent opportunity to identify your weakest skills and work on improving them.

Just don't take failures personally—if you got negative feedback on your code, it means something's wrong with your code, not with you. Don't get discouraged. Focus on improving your programming skills, and try again.

Prepare well for your job search...

Don't make a portfolio if you don't know what skills or work to add to make it outstanding. A decent GitHub account is worth a thousand mediocre portfolios. Of course, if you're considering freelance programming as a career, you definitely need a website for your clients to find you. But designing one yourself is not always the best idea if your web development skills are lacking—poor design can dissuade potential clients and recruiters.

So how do you build a good GitHub portfolio if you're looking for your first coding job and have no commercial experience? Use non-commercial projects. Commit to open-source repositories, make a website for your friend's handicraft business or your volleyball team, or simply create something you'll make use of—maybe a packing list application for your next hiking trip? Your first project doesn't need to be the next Facebook, really.

However, keep in mind that despite the great shortage of developers in today's job market, the greatest demand is for experienced IT specialists. Not every company is willing to hire a person with no technical experience, so invest some time and effort in showing why you're a perfect match for the company.

At my job interviews, I discussed not only my coding projects but also my volunteering experience and informal education or previous non-technical jobs. Recruiters were usually curious about my background and my current activities—a proactive candidate is more likely to be a proactive employee.

... But keep it real

Don't pretend to be a coding ninja if you're not, especially when you apply for junior positions. Be yourself, and be honest—it pays off. Usually, you'll be recruited by people with technical backgrounds who ask you to perform some practical tasks, so there's not much space for pretending. You'd appear as a much more reliable candidate if you speak honestly about your experience with a particular technology, even if it's just your little side project.

Junior developer positions are mainly about learning, and recruiters know that, too. Don't be afraid to discuss your failures or troubles when developing something during a job interview—it'll show your future employer that you can learn from your own mistakes and find a solution to your problems.

Remember that non-technical skills matter. You're a great team player, a skillful organizer, a good writer? You never know what skill will come in handy on the job. Every additional skill is an asset; just find a way to relate them to the job you're applying for. Sometimes, technical skills are easier to learn than soft skills. It's harder to change the kind of person you are than to master a new programming language. There are plenty of wannabe developers looking for new jobs right now—your passion and non-technical skills could be your competitive edge over other candidates.

Build your bridge to coding

If you don't want to completely redefine yourself and your career, try to find a way to transition smoothly between your current domain and computer science or IT. Believe me, computer science is intertwined with many sciences, so it's likely you can find some way to combine your interest in computer science with the work you currently do.

At first, I was convinced there are only technical or non-technical jobs, nothing in between. When I was looking for a new job, I checked offers including HTML and CSS in their descriptions, just to know my possibilities and find out if there are any entry-level jobs with this skill set. And I hit the jackpot! Developing e-books—a job that requires both technical and non-technical skills that I already had from my previous publishing jobs.

I'm positive there are many other domains combining different kinds of skills. Take a closer look, and try to find a niche you can fill. Data science is a good example—on top of coding and database management experience, you also need some statistics knowledge (which can be gained during studies, not necessarily technical ones), attention to detail, and presentation and communication skills. Domain expertise is also essential—whether you plan to work in finance and banking or media and communications, prior experience in your field of interest will help you immensely.

Ready or not, here I come!

Now, I know I wasn't completely ready for that e-book job. I didn't know everything, certainly not in HTML and CSS—but I got the job nonetheless! During the first few weeks, I wanted to leave the office and never come back countless times. Problems with my code were driving me crazy. But after a very intensive period of learning, I mastered making e-books and finally became an expert.

When I was about to leave that company, I realized during one of my interviews that the only job that will satisfy me is a technical one. So I changed my approach and began applying for junior IT positions. It certainly wasn't easy without much hands-on coding experience, but it was an eye-opener.

Eventually, I got my first front-end interview at a software house. They were curious about my previous non-technical experience, and I was honest in telling them that my dream job was to work in IT and that I was highly motivated in pursuing this dream. I got the job and stayed there for more than two years. I could've never imagined that recruitment process being such a nice and stress-free experience.

Last year, after a few interviews, I managed to change my job yet again. And now, I work at e-point SA, a Warsaw-based software house where I can really develop my skills and work with the technologies I love.

I was lucky—my teams always supported me in my learning process (and yes, I'm still learning), and I felt like I was making real progress. There was once a time when I attended lots of workshops, made many online tutorials, and explored numerous new technologies. Now, as I feel much more confident in what I do every day at work, I don't need to learn so urgently, but I'm constantly eager to code and curious about new technologies. And that makes me all the more confident in my decision to pursue this career path.

It's not a race

Some people make progress very quickly and change their career path in half a year. For me, this sudden change in tempo always seemed like a very brave and impressive decision, but I knew it wasn't my way of doing things. Landing a job in three months won't be easy, but it's possible when you're highly determined, have some coding background, and have a precise plan for who you want to become.

Some of the students attending the courses I mentored managed to land jobs fairly quickly. But always learn at your own pace. Don't let anybody tell you that you're making too little progress or moving at a crawling pace. You know what's best for you. You don't need to be the fastest person to start a coding career—do things the way that'll make you satisfied and self-confident. It's not a race; it's your future. You're the only person who can do it right.

If you've ever tried to start your technical career, share your story and inspire others. It's good to know some success stories when you start doubting if you're headed down the right path. I'd love to hear what worked for you and how you made it into IT!