Landing Your First Developer Job

Searching for a job

Alright, so you finished all the lessons and you know basics of web development, now what?

Now continue learning. To be honest, you need to keep your learning mentality. This is your biggest weapon now.

So let’s talk about getting a job.

When are you ready to apply for a job? It depends. You need to have solid basics of the main languages & frameworks you want to work with. You need to have a few non-trivial finished projects. But I’d rather start apply sooner than later.

You’ll probably get rejected often. It’s quite possible many companies won’t even reply. Be prepared for this and don’t be discouraged. It's normal. But it still has some benefits to start applying sooner.

If you won’t get any replies, it means you have to keep improving (well you should do it anyway, right?).

If some companies will reply but reject you, then politely ask them why they didn’t consider your skills or your application being sufficient. Ask them for feedback so you know which are the skills you need to work on more. Don’t forget to thank them. You may want to apply again to the same company later and show them how you used their advice. Dedication can be sometimes very convincing.

Regardless of how good developer you can become, you need to improve your chances so they even consider your application. You need to promote yourself well. Good impression is very beneficial. It’s often the reason of (not) getting an interview or a job.

You can probably think of one think that makes a good impression? The magical computer science degree! Sure it’s better to have it than not. But you don't have to have a CS degree at all.

Actually most employers don't really give a damn about your degree.

But they care about your skills. Even though they say you need to have a CS degree, what they really want from you is to have the skill set you’d be supposed to get from collage (some graduates don’t really have it even with the degree).

Other things that interest employers are your attitude, responsibility, eagerness to learn and if you're a good fit for the company. Being a friendly person & enjoyable to work with is a big part of it. Would you want to spend 5 days a week with a grumpy unpleasant person? Me neither.

So if you have the skills they want, you need to know how to show it. And you need to know how to sell yourself. There are 2 main ways. Resume and project portfolio.

Resume

Resume

Everyone has a resume. And everyone is your potential competition on the job market. That’s why you need to have a great resume. So let’s make one for you:

  • You resume should be ideally one or two pages. As a junior developer a single page is more than enough for you.
  • List only relevant skills. What is relevant might differ. Front-end developer might use Photoshop, which on the other hand has no use in back-end. If you know more than just a few skills than organize them by languages/frameworks/tools.
  • Education: If you don’t have a CS degree or something related, I wouldn’t mention it. You could have heard opinions that sometimes it might be useful to mention even your non-relevant college degree. It might show HR person that you’re willing and able to work on various tasks that aren’t always enjoyable (I guess many schools provide a lot of such opportunities :) ), but don’t count on it.
  • Past jobs: Many junior (sometimes even senior) developers often do a big mistake. They do a bad job of writing about their past jobs. Obviously, not a problem for you if you don’t have anything to write about for now. But later after you gain some experience, write about your past jobs in terms of the challenges and accomplishments. Write about what you did, how you contributed. Use words like “I implemented, I created/launched/designed”. Describe your achievements, what led to them and the results. Tell how hard it was. Explain what you had to learn.
  • Other relevant experience. Internships, school projects, open source contributions, hackatons etc.
  • Should you have a photo on your resume? From what I know, in Europe it’s ok, in the USA not so much, not sure about the rest of the world. But if you want to have it there, try not to look like you hate people. Smile. But not that creepy kind of smile. Just try to look friendly.
  • Resume has to be easily searchable. Think about proper keywords. Make it scan friendly. Use widely used format (pdf).

So you have your great resume now. But anybody can just list the languages they know. How can you prove you can use your skills in practice? You need a portfolio of projects.

Projects

  • List of projects needs to be visible either on your resume and/or on your personal website.
  • Projects don’t have to be necessarily all finished, but they have to be usable (mention if it’s still unfinished).
  • Listed projects and apps should be easy to try without downloading code. You can use free hosting services like Heroku or Netlify.
  • Add links to the hosted app and the source code.
  • Add a small description of the app and used technology (e.g. JavaSript library or a back-end language. Don’t mention obvious things like HTML). Why did you want to build it?
  • You can also use a picture/gif/video to show what it is all about.

Okay, we have a great resume and a portfolio of projects now. There’s one more thing we need to think about. How to approach companies and how to sell ourselves. We need to know how to write emails properly.

Email - Cover Letter

  • Introduce yourself a bit - explain why you find the company, their tech and the job interesting. Tell them why you think you'd be a good fit. Write something short about yourself/your qualities that's not on your resume.
  • Show you're passionate, humble and you love learning.
  • Explain why they should hire you. Show that you read about the company, their work and values. Use their company name.
  • Be efficient in explaining and describing you and your application. Don’t waste their time.
  • Remember what HR wants to know: Will you get the job done? Are you a type of person they want to work with? Are you a good fit for their culture?

In general try to make it as easy as possible for HR person to know if you're qualified for the job. Less clicks, less reading.

Don't use technical jargon too much. Even non-technical person must understand you clearly. If you’d have to read tens or hundreds of resumes every week, would you rather read only short and relevant text or unnecessarily long full of words you don’t understand?

Customize your application (email AND resume) to the open position and the company if possible. It shows the employer you’re truly interested. Try to show them the best version of you. The best and truthful version. Don’t lie. Don’t exaggerate. Trust is important.

Interview

First impression matters. Show good personality. Be curious. Research the company, their tech and products (sign up for trial version).

Being prepared is critical. Expect your skills to be tested. Be prepared to talk about everything on your resume and the projects you're working on. When it’ll come to you not knowing something, be transparent about it. Show optimism and enthusiasm during interview. But don’t be too casual. Just be genuine yourself.

Coding tests aren’t just for testing your current skills. They’re interested also in your practices and your thinking.

There are many ways how companies conduct interviews. White board, giving you a week for making an app, technical & non-technical questions, pair programming and so on. If possible, do a little research about company’s hiring process beforehand. But take into account everything about the interview can be changed.

I know it’s easier said than done, but don’t get stressed out if you don’t know something or if you make a mistake. Nobody expects from you to be a programmer superstar. Show good attitude.

They’ll notice if you own your mistakes and how well can you take criticism. Sometimes interviewers can give you an intentionally hard task so they can see how you act if you can’t do it. It’s easier to improve somebody’s knowledge than a bad attitude.

You have to show them:

  • You’re a good communicator. That means you’re being effective in asking questions and explaining your thoughts. Spoken and written language. People are busy. Make it easier for them.
  • You’re independent. You can organize your work. You first work on finding solutions by yourself before asking for help. You’re self-motivated.
  • You’re a good learner. You take learning as your personal responsibility.

At the end of the interview thank them for their time. Even if they tell you they won’t hire you.

You got the job? Congratulations!

You're hired!

I can still remember that great feeling when I eventually got my first developer job. After all the effort and all those hours learning I finally did it. And because I know what follows isn’t only happy feelings and wonderland, here’s some last piece of advice.

If you get your first developer job:

  • Be humble.
  • Always be learning and listen more experienced developers.
  • Don't stress out if you don't know how to do something, just try to do your best.
  • Learn from your own mistakes and from mistakes of others.

Another important thing that's not so often spoken about is your first job mentor, supervisor or colleagues in general. If you get a nice person always willing to help you then good for you! This is exactly what you need.

If you get somebody not so great or even a terrible person, well I'm sorry for you, but don't be afraid to ask for working with somebody else. Or keep on and just figure stuff on your own. Or quit.

If it isn’t possible for you to have supportive work environment there then move on and find something better. This is just your first job. It’s very unlikely you’ll be there until your retirement age. If you’re good enough that this company hired you, then there are other companies which will hire you again. It’s better to start building your new future on a solid foundation.

I’d very happy for you if any of my advice helps you getting a job. It may take some time, but surely you’ll find one if you’ll be patient.

Outro