Getting a job in tech can be really hard, especially if it's your first one. Every company prefers some experience, and how can you get experience if no one will take you? It's the tech version of the 'Chicken or Egg' question.
There are some things you can do to make your life easier and to speed up the process. Literally everyone started their first job with no experience, so it can definitely be done.
I've been working as a software developer for a bit over 5 years now. I've gone through hundreds of job applications and dozens of interviews (both as an applicant and as an interviewer) and I picked up several pieces of advice that I constantly share with other people looking to get into the tech industry (or just find a different job).
Decide on one language and go for it
If this is your first job, make your life easier by choosing one language (and tools associated with it) and stick with it. You will have less to study and you will retain your knowledge better.
Start looking right now
I mean literally right now. Most people are waiting to 'get ready' or 'prepare better'. It's not going to happen for one simple reason, and that is - it's physically impossible to be ready for anything and everything you will get asked in an interview. Just start applying right away and you will fill out your 'knowledge gaps' along the way.
If you don't have a LinkedIn account already - set one up. I know some people love to hate LinkedIn, but it is a great place to look for jobs and to connect with both recruiters and other developers.
Be prepared to fail and to get embarrassed
When you come to an interview you will have very little real knowledge of how software is built in a production environment. As a result you will probably fail most of your interviews. The good thing is - it happens to everyone. Now that I've written it I'm not sure if that's good or depressing, but the point still stands. It will happen throughout your life - might as well get used to it.
Even if you are super well prepared for the interview you are still going to get asked questions that you don't know an answer to. Your interviewers will try to gauge your knowledge level, and to do that they will also ask you questions that are above the expected knowledge level for the position you applied for. Sometimes they might even figure out you are not a good candidate for the position you applied to, but you might be a perfect candidate for a different one.
Have something to talk about
If you are applying to a software developer position you will be asked about your past projects. You might not have previous work experience, but you absolutely must have something that you've worked on. Pick out two of your best projects and be prepared to talk about them.
Why did you make them? What problems did you have to solve? With the knowledge that you have now - what would you have done differently?
Document everything
This stands for both your code and your experiences. If you don't already - you should have a GitHub account and you should upload to it everything you are working on. All your side projects should be in there and when you get asked - Do you have that code somewhere online? - you can send them your GitHub page, which you should also have set up. If you don't know how I have another article that covers this, and a YouTube video on the same topic.
If you don't have an online portfolio page - build one in the form of a website, or use your GitHub page instead. Either way - have something to show. If you don't have previous work experience, and even if you do, you will probably be judged by this, because having (or lacking) a portfolio shows several different things about you.
You are willing to always develop your skills which is very important in tech. You are ready to develop things on your own, without getting paid. You are not afraid to let others see and judge your code.
Read about body language and negotiation tactics
You might be awkward and you might be nerdy but if you want to work with people you need to have some 'people skills'.
Reading books about body language and literal tutorials on how to behave in social situations really helped me out. There are a lot of books covering this topic, but I can recommend two that I've read and learned a lot from.
What Every Body Is Saying: An Ex-FBI Agent's Guide to Speed-Reading People by Joe Navaro and Marvin Karlins, Ph.D. covers involuntary movements that our bodies make when we are under pressure or stress. I'd say a job interview is a pretty stressful situation, wouldn't you agree? Reading about body language and our natural instincts may help you discover what it is that you do when under stress and how to use that knowledge to be more calm in general.
How to Win Friends & Influence People, by Dale Carnegie, sounds a lot more sinister than it really is. The book is really a giant text tutorial on how to have good, productive and enjoyable conversations with people. While reading it you might discover those 'natural born speakers' are really just following a few different conversation formulas. This approach works because humans are 'wired' to expect to hear certain things in a conversation, and when we do - we communicate more easily with each other, and our dialogs feel much more rewarding.
Don't lie
Whatever you do, just don't lie. Yeah, yeah, everybody buffs up their resume, it's almost expected. No they don't, and no it's not.
In many interviews your potential future colleague will go through your entire CV and will want to know who they are dealing with. You don't want to say or write something that is disingenuous and get caught in a web trying to explain it off during an interview. It's not worth it.
If you don't know something - just say it openly, but express interest and willingness to learn. No one expects you to know everything anyway, especially on your first job.
If you haven't worked with a language or a tool in a while or you aren't proficient with it - leave it out of your CV, or mark it differently from other more recent stuff.
Lower your standards
Getting a foot in the door can be really hard, but choosing a half-open door could make things easier. Don't be picky with your first company. You have to start somewhere, but nowhere does it say it must be a FAANG company.
Pick smaller to medium sized companies. This one may be a bit controversial, but try asking for a lower than average salary for that position or, if you absolutely can't land a job, ask to volunteer. There is nothing wrong with selling yourself for less, or for free, if it means you will benefit from it later by having an actual work experience. If you can't get a job anyway ask for less or no money.
Stay strong
Interviews are hard, but they do get easier with practice. Connect with other people in a similar position and don't lose hope. There are pretty big dev communities on Reddit and Twitter which you should definitely check out. I recommend r/learnprogramming and #DEVCommunity, but there are many more in other places, too.
Also, as I already mentioned, make a LinkedIn account and connect with other devs and recruiters there. Feel free to connect with me if you need more advice on how to set up your profile. You can also reach out to me on Twitter and let me know if there are other topics you would like me to cover.
Top comments (5)
That's great Drallas and I'm really glad you liked the article! You seem like a person with a plan. :) I like your "imagine talking with friends" approach. That's also one of the techniques used to lower anxiety and to get better in having and maintaining a conversation.
Absolutely! Showing interest in the company you are applying for is always good, and if you ask the right questions you can also see if any 'red flags' pop out.
I'm sure there are things I missed, so please let me know about your experiences. Do you think there's a point that should be added in there?