Skip to content

Getting your first job as a Software Engineer

Posted on:January 24, 2024 at 9 min read

After spending years at the university or months in a boot camp learning critical thinking, coding and the fundamentals of computer engineering, this is a question that every software engineer needs to answer if they want to pursue a career in the field. I also have been in this situation after finishing university, and I hope to share some valuable tips with this article.

The reality is that you have little or no experience in the field, and you are competing with thousands of people who want to get a job as bad as you.

There are a lot of external factors, such as timing, economy and luck, that are significant to finding a job. However, in this article, I want to focus on what you have 100% control over hard and soft skills.

Interview

Job Hunting

The first step in finding your first job is looking for companies hiring junior or associate engineers. Most of the time, it’s a matter of numbers, and the more companies you apply to, the more chances you have to get an answer.

When reading the job specification, don’t get discouraged if you don’t have 100% of the requirements. Companies typically accept people who only match 70% of the requirements, and if you show you are willing to learn, then it shouldn’t be an issue.

Where to find opportunities?

Websites

The easiest way to start finding jobs is to type on your browser “[junior/graduate/associate] software engineer roles in [location]”, for example: “graduate software engineer roles in London”. It will show a list of websites with job advertisements, and you can start filtering the ones that may look promising. You can also search directly on well-established websites that consistently advertise new roles.

This list is my personal preference

Tip: Set alerts to update you on new jobs. Timing is crucial, and you don’t want to miss an opportunity.

Internships

An excellent way to start your career is by finding a company that offers internships. Usually, big companies have partnerships with universities and are actively hunting top fresh graduates. Try to find out if your institution is part of some programme. During summertime, some companies also offer code camps to help you find a job after graduation and help you create your network.

Networking

Ask your network! One of the main advantages of attending the university is meeting people with the same interests as you and creating a network that will be valuable during your career. Ask around your colleagues and people that you know that are already working in the field. Sometimes, their companies have referral programs to hire graduates, and usually, those roles never go public on their website.

Communities

Another great option is to be involved in communities. There are a lot of communities nowadays organised by passionate people and companies. Some are online, but if you live in a big city, there are undoubtedly local meetups. You can use the meetup.com website to find communities of your interest (not only tech-related). Communities are excellent places to help you find a job because you will meet people passionate about the same topics. Also, it’s a great place to learn, networking and recruiters are always looking for the best talent (you).

Tip: Try contributing to the community by giving presentations or helping to organise.

Resume

Hopefully, you now have a list of potential companies to apply to, and you need to send your “resume” to showcase your skills and achievements. A great resume is what makes the difference for recruiters to call you. It’s like your profile on a dating app. The more appealing, the more chances to get a match. However, preparing a resume without professional experience can be daunting, and I hope you will get some valuable hints in the following section.

Resume Structure

Personal Information - Every resume should start with your basic information at the top. This section should include your name, contacts (email, phone number), social links (Linkedin, GitHub, personal website, etc.) and a brief introduction about yourself to make it more personalised.

Experience - This section is for people with working experience. If you had a chance to do internships or summer code camps, include your responsibilities and the outcome of your work.

Projects - In this section, you should show off your projects. Highlight the technologies, challenges and processes (documentation, tickets, diagrams). Ideally, it would help to have links to the GitHub repositories and the website in case the project is live. Most recruiters don’t look at the code, but some companies involve engineers in the process, and they like to see the quality of the code.

Education - List the relevant institutions and courses you enrolled in. Since you may not have previous professional experience, list appropriate activities to emphasise your soft skills, like presentations, teamwork or published papers.

Achievements - This is the brag section where you should share extra achievements outside work or education. You may have contributed to open-source projects or participated in hackathons.

Tips

Writing a good resume takes hours, but luckily, there are a lot of fantastic resources online and free, explaining in detail how to write a resume.

Here are some templates that you can use as a reference:

Interview Process

Congratulations, you have your first interview! It will be daunting to start, but interviewing is all about practising.

How do I prepare for interviews?

Company interview process

Ask the recruiter about the interview process and if there is any preparation material. Some companies have a blog explaining the process, which can help you prepare. If it’s a well-known company, you can try to find out more about the company in online communities like Glassdoor, Reddit or Blind.

Research about the company

Before any interview, it is crucial to understand the company’s business. Please spend some time reading their website and trying their product. If you want to stand out, think about a potential feature or improvement in their product. As an extra, try to understand their competitors and what is the company’s advantages.

Mock Interviews

Mock interviews are one of the best ways to practice for interviews. Having someone simulating an interview can help your confidence and spot potential areas of improvement. Ask friends with professional experience hiring software engineers if they can interview you. Initially, It might be awkward, but it will help you be more comfortable and confident during an actual interview.

Example of a mock interview (video)

Study for the interview

A solid software engineer foundation will increase your chances of getting the job, and it only depends on you. Ultimately, that will be your daily job, and you must be proficient at it. Here is a list of my favourite resources (books & courses) to help you prepare for any interview independently of your level:

How do I behave during the interview?

Follow up

You have finished the whole interview process. Now, it’s the period where you keep refreshing your inbox, waiting for the company’s decision.

When that email lands in your email, there are two outcomes. Either you got the job and, in that case, congratulations, or you got rejected. If it’s the second option, don’t give up. It is hard to get rejected, and it happens to everyone. Stay positive and learn from your mistakes. Ask the interviewer if they can give you constructive feedback.

Focus on the following interview and keep trying until you get your desired job. The more interviews you have, the more chances you have to get a positive outcome.