← rory flint

Landing Your First Job as a Software Engineer Without a Degree

First published on Nov 27, 2023

Once or twice a month I get an email from a current or recent student of a coding bootcamp asking for advice and insight about breaking into the industry. More often than not this comes in the form of a video call though occasionally some kind of synchronous chat via LinkedIn.

I recently spoke to two people back to back and unsurprisingly my advice and feedback was almost identical to both, which got me thinking I should put pen to paper and write it all down.

The Herring Net by Winslow Homer

First and foremost I must state the obvious: it is going to be incredibly difficult to land your first job. This is true for almost everybody entering into the field but more difficult still without a graduate program or prestigious degree on your CV.

Unless you are exceptionally lucky or have a network catered precisely to your needs, the first attempts to find a job can be brutally disheartening: complete non-responses, let alone rejections will make up the bulk of your applications.

With that out of the way, there were undoubtedly some factors that greatly played in my favour and others I have observed whilst speaking to other bootcamp graduates as well as during my day to day life as an engineer which regularly includes reviewing CVs and interviewing new candidates.

Emphasise your career change

It is common to see those trying to break into the industry after a career change try and hide their previous roles and only pay attention to their most recent achievements. I think this is a huge missed opportunity to emphasise what you bring to the table that the traditional applicants may be lacking.

My previous career as a photographer was the stroke of luck I needed to land my first job. The hiring manager passed on my CV until a few days later when the CEO mentioned they needed to find a photographer to do some contracting. It sparked a memory of my application and the rest is history.

So you were a teacher? You've learned a myriad of skills that most junior software engineers do not possess. You're an effective communicator and you can distill complex ideas into concise chunks. Any previous career or outside interest can be used to your advantage; just be sure that you explain why. It's not enough to say you have dealt with difficult clients in your customer service role, you must explain how the people skills you developed have 'allowed you to effectively interact with cross-functional teams and stakeholders'.

Don't forget the 'other' technical skills

If your CV has gotten through to me I assume you know enough about programming to contribute code. However I have observed that many of the bootcamp applicants regularly fail to mention Git, pull requests, deployment knowledge and other technical skills that are indispensable when hiring a new engineer. You do not need to lie and pretend to be an AWS expert but ensuring you list knowledge beyond a specific coding language is a good sign of the maturity of your skillset.

A portfolio with deployed projects

It should go without saying but have a portfolio deployed online. It should contain an overview about who you are, contact information and most importantly: several deployed projects. Notice the emphasis on deployed. If you tell me you have created a shopping list application, I want to see it. A link to the Github repository to show off your code means very little to me if I am unable to see the resulting effort.

You do not need a lot of complicated projects. By all means a huge and feature rich application is fantastic and likely to inspire confidence but it isn't essential. My portfolio did and still does contain small pet projects that I have polished and demonstrate a variety of skills. In my first porfolio I included a single page HTML file with a small stylesheet that displayed one of my favourite short stories. It looked beautiful and all the text was perfectly responsive. It wasn't complex but it clearly illustrated an eye for design as well as a demonstration of the technical fundamentals of web development.

Keep your portfolio simple. Does it show off what you can do, your ability and your personality? Or does it show that you found a template online or the latest animation library? There is nothing wrong with fancy but get the basics right first.

Cross the t’s and dot the i’s

I hate to say it but I see spelling mistakes, poor grammar and dead links painfully regularly. Check to see that all of your deployments on your portfolio are still live and don't lead to a 404 page. Ensure you have run your CV, portfolio content and any cover letters through a spell checker. In a world where large volumes of applications is the norm, it can be the smallest and most inconsequential error that helps a hiring manager reject a CV. Don't trip over your shoelaces just metres from the finish line.


Disregard previous bad experiences and prejudices. Recruiters want to help you get a role (and their commission in the process). Many individuals and agencies are tailored to junior roles; they will take your CV and go direct to companies that they know are accepting applicants of that level.

Be kind, be polite and be helpful. A good relationship with a recruiter can be the difference between them hyping you up to a hiring manager and disregarding your CV entirely.

Don’t stop learning and building

With the fundamentals under your belt, you should set out to learn more and more, ideally by building projects. Your growth at this stage should be near exponential. I would advise making a large list of ideas, many of which already exist online, of varying degrees of difficulty and size and getting to work. Speedrunning a tiny project in a day or working on a significant piece of work that takes weeks - just be learning and building. Not only does it increase your technical ability for when you land a role, but it also gives you great content and talking points once you begin interviewing.

Share your journey

I'd file this under 'non-essential' but I think it is nonetheless worth a mention. Sharing your journey on LinkedIn, X/Twitter or a personal blog increases your surface area of luck and brings a human element to your application. I have viewed many CVs that are a list of previous roles, skills and not much else. A link to a blog, a YouTube series or an active X/Twitter account that is documenting the journey of learning (projects, applications, technologies etc) gives context to who you are and makes it easier to imagine working with you as opposed to one of the many other CVs lacking direct industry experience.

You'd be surprised at how much people are willing to help somebody who is earnestly sharing their journey with honesty, humility and determination.

Positive mental attitude

Forgive me for going a little woo for the final point but I think in these circumstances it is justified. As I alluded to above, finding your first role can be really, really hard. There will be moments when you think no company will ever take you on and competing with university graduates or those with significantly more technical knowledge is impossible. There will be times when you think it pointless to build another project or email another recruiter or follow another tutorial.

If you are to succeed, you must stay positive. You must stay optimistic. Many, many people have gone on to incredibly successful careers in tech with less knowledge and resources than you have at your disposal.

There will be plenty of obstacles in the road, try not to let your own attitude hinder you further.

Well, that's about the basis of what I have told most people who have asked. It'll be hard, so make every effort to not make it harder for yourself. AI is rapidly changing the tech industry but I still think it is a dream and career worth pursuing. Now more than ever, those who are able to adapt and adjust their skills will thrive.

Finally, this post in no way serves as a replacement for speaking directly to those people who want advice. Please always feel free to reach out and I shall do my best to help. I often review CVs and portfolios as well as helping with outreach to recruiters and hiring managers.