Skip to content

How to find a job as a software engineer

New Course Coming Soon:

Get Really Good at Git

Tips and strategies to get your first programming job

In this post I want to point you in the right direction when it comes to finding your first job in tech.

Once you put your foot in the door it’s much easier to switch jobs, upgrade to a better salary. But getting your first job is probably the most difficult thing.

How to prepare to apply to a job

Before thinking about applying to any job, you must prepare for it. This is something that might require weeks, or even months if you start your online presence from zero. Not all of the things I’m going to mention here are required to get a job, but they certainly help.

I think that starting doing what I mention at the beginning of your learning process is a big plus. My advice is to publicly document your learning process along the way on your blog.

Create your own website on your own domain (yourname.com) and make it your home on the Internet. All your online presence will bring back to this place.

I personally advice against using platforms like Medium, dev.to and other sites that are basically aggregators, because writing on your own blog has a much different weight. Any time you post anything on your blog will improve your personal brand. It’s your property. It’s like building on your own property vs building on someone else’s property.

This is the first thing I advice. Start writing one blog post per week explaining what you are learning. This has the double benefit of publicly documenting your knowledge, and it helps you solidify your learnings because the moment you need to explain something, you are going to understand it more.

Do not have fear of being judged and don’t fall in the trap of “I know very little”. That’s still more than what 99% of the population knows, and over time this will compound into a solid knowledge base, and it will positively affect your personal brand.

Try to search your name on Google. The first result should be your blog. People that are in charge of hiring at a company will search for your name on Google, and make sure your home on the Internet is positioning you well as a professional.

Try to curate your online presence as much as possible.

After your blog, it comes Social Media. Twitter and LinkedIn are two of the most obvious places for tech professionals.

Twitter for networking, LinkedIn is also useful to receive proposals from recruiters, people whose job is to find the right people for companies that then pay them a commission.

Recruiters can be a great help, so having an up to date LinkedIn profile is worth it.

It’s also worth being active on those social networks, perhaps posting updates on your learnings and progress. I call that working in public.

I think working in public never ends. If you make it part of your culture, it’s going to make a major difference in your career trajectory.

Along the way you will make connections and friendships, and this will be key in the next phase, when you’ll be actively looking for a job.

Next you have GitHub. GitHub is the place where your code lives. Every tech company recruiter will look at your GitHub profile. One good way to fill it is to make it the home of your portfolio. I highly recommend to work on your own projects, to serve as portfolio. Perhaps find existing projects from courses and add new functionality and features. Put them on GitHub. Imagine having 10 or 15 well-done projects, even if small in scale, and applying at a company.

The recruiters will look at those, they will immediately see what you are capable of. You’re immediately ahead of the competition.

Decide which kind of job you want to apply to

Before applying to a job, you need to decide which kind of job you want to apply to.

One of the biggest questions might be remote or onsite. For your first job I would highly recommend an onsite job, because you will need a lot of mentoring in the beginning, and it’s just better on a human level.

You might feel more isolated and less motivated, working remotely.

You can always switch to a remote job later on.

Another big question is if you want to apply to a big company or a small company. This is a matter of preferences. I’d always choose a small company over a big one, but that’s just me. If your dream is to work at Google, it’s great. If your dream is to work with 6-8 people and make friends with everyone at the company, it’s great as well.

Another big question is the role of tech in the company. Tech-first companies are companies whose product is tech based. Other companies use tech to provide their main product, but tech is not the product. I’d always choose companies whose product is tech based. They will invest more in you, you will not have to fight to get the right tools, training, budget and consideration for tech choices, and tech will always be the priority.

Where to find jobs and opportunities

The most obvious place to look for jobs on the Internet is online job boards, but that might not be the best place.

One thing to avoid is to blindly send CVs in mass.

And avoid shooting for the stars. Everyone wants to work at the cool companies, but they might have too many applications to have a chance.

The advice I commonly give is to pick 3-4 small companies you’d love to work for, in your area or in the area you want to move to, and do your best to introduce yourself and get known.

Small companies are always looking for talent locally, and when there’s an opening that you might fill, they will think of you.

I recommend going to local tech events and meetups. Small conferences in your area, or bigger conferences too. Events are where you make connections with other people. I think networking is very important. The more people you know, online or offline, the more opportunities you will have, now and in the future. Many companies will organize events from time to time to “scout for talent”. At big conferences you might meet developers working at companies that are hiring. That’s I found some of my opportunities.

That said, online job postings might still be a good option, especially when you want to work remotely or for a company in a different country because in your country you can’t find a good option. Every company has a “jobs” page on their site. Apply to work for them with a carefully crafted cover letter.

Are you intimidated by Git? Can’t figure out merge vs rebase? Are you afraid of screwing up something any time you have to do something in Git? Do you rely on ChatGPT or random people’s answer on StackOverflow to fix your problems? Your coworkers are tired of explaining Git to you all the time? Git is something we all need to use, but few of us really master it. I created this course to improve your Git (and GitHub) knowledge at a radical level. A course that helps you feel less frustrated with Git. Launching Summer 2024. Join the waiting list!

Here is how can I help you: