When would I hire a graduate

2 min min read - October 1, 2018

Let's face it: there are not enough opportunities for people with little commercial experience when at the same time there is massive undersupply of experienced developers. There is no way around it. Companies need to hire graduates and juniors and keep them as long as possible. Only that can keep the situation healthy and fair. But at the same time business is not a charity and we need people to be productive. There are many boot camps that promise you to get a job. Some of them work. I can believe someone after intensive React course can be productive for example for agencies. But that doesn't work for everyone. In most of our projects (in current and previous companies) we needed more flexibility and ability to learn than just given set of tools. There is a massive difference between being able to build a countless number of nice and performing UI using a predefined set of good tools and being able to build scalable and complex software systems. That's why React is good to find the first job that pays, but NodeJS is a way to get a well-paid job in the long run (even despite crazy React rates). Below I list things (virtues and knowledge) that if I find in graduate I vote for taking person immediately:

  • git - what is a repo, what is a commit, how to do a diff and a pull request; what is a merge and what is a rebase; where changes are physically
  • javascript - what is scope, clousure, block, context; what is an event loop and what does it mean there is only one process
  • async - what are events, callbacks and promises; in which order code (written without async/await) is being executed when we use them
  • native types - how casting and coercion works; what and how we can use map, forEach, filter and reduce on arrays
  • CSS - what does it mean styles cascade?
  • networking - what happens when you enter an URL in your browser? What is a DNS? What is CORS? When a browser performs OPTIONS request?
  • stack - discuss in case of React/NodeJS application what happens in the browser, what on the server side? What reads/writes from/to the database?
  • HTML - how it renders? What is a HEAD tag? How to find what files have been loaded in the browser and, if they are cached.
  • Debugging - given error in the developer tools console I want a candidate to find where is line causing the error.

Last but not least important:

  • humility, ability to take criticism and will to learn
  • team focus and will to resolve conflicts ASAP
  • understanding that development is not only new cool stuff but maintaining and paying legacy debt

That is quite a list and quite detached from "I know how to build React app from A to Z", but it's minimum that allows me to work with a graduate/junior/student. It makes me able to explain more complex problems, patterns, frameworks. It makes possible to send the person to learn something from MDN, Stack Overflow, etc.. It's like an alphabet for learning JavaScript. Unfortunately, a lot of people start with memorising Shakespare, before learning how to read fluently.

Next article


Every time I come back to this blog I used to have a massive vision of what I would do, how I will drive it further. Maybe: how I'd become another blogging world sensation. Let's be honest. This or most of other blogs never meant to be big. That are just our small pillows to cry our worries, shout our dreams and say our prayers. All the stress, pressure, burnout we can read around starts there. Setting too high expectations for ourselves and forgetting about a very simple thing - gratitude. But it's very important to say "thank you". Even if no one reads. Even if no one listens. It's important to say it to realise that there are so many good souls around us we often not value enough.

read more…

1 min min read - February 11, 2019

Previous article

Software Development & Management

For a very long time, I kept using the same set of questions while performing interviews. Even though I created it with Angular in mind, most of them have proven universal. Asking about Arrays became my favourite (as in opens way to discuss so many interesting patterns like Observables) or CORS, which allows discussing how network requests work. Anyhow, recently I started to value more and more one I kept asking about setTimeout and setInterval.

read more…

1 min min read - October 1, 2018