Summary
Backend systems used to be a fight between two heavyweight champions: C# (ASP.NET), and Java (Spring). They were enjoying a relatively stable dominance until the new contender entered the ring. Node.js with JavaScript are the newest challengers, and they are a tough rival to beat, with a clear edge over senior champions.
Of course, each champion needs proper guidance of a great coach. Even the best fighter will not achieve their peak without proper coaching: in this metaphor, the coach is a Node.js developer. Node.js is an exquisite platform for writing backends, though they will be as good as your developers.
This professional platform is a recruiters dream. A network of professionals who, absolutely voluntarily, keep their profile up to date is a gem. Not only that, but you may learn a lot more about what they think, and who they are.
Utilizing the platform to your benefit isn’t that straightforward, however. The standard search box does not come without limitations. Unlocking all functionality requires some extra effort (in this case, money). “LinkedIn Recruiter” gives you all the functions that you need to shortlist and even evaluate candidates with ease. How does the service work? It gives you the options to narrow your search using keywords, filters, and more. Moreover, you may also reach out, and analyze your effectiveness. The only thing to remember is the weekly limit of contacts; you may only get in touch with a limited number of experts.
As you might know, the number of websites with job adverts is staggering. There are some recommendations we will give you, however.
One category is the target audience. There are sites with a general following, such as Glassdoor, and there are niche ones as well, aimed at a specific segment, such as Remote3 for Web3 jobs.
Another category is the geography. Some websites might focus only on one region – such as No Fluff Jobs focusing on Eastern Europe only. Depending on where do you aim to recruit your developers from, you might have to search for candidates. The need for additional research increases when you are operating from within, e.g., a region within a country where another language dominates, such as the case of Quebec & Canada.
The last key is the company size. Nobody will restrict your posting opportunities based on your size, of course. The aspect in question is how easy it is to break through the crowd of job posts. If you work for a bigger company, you may find Dice.com to be a great fit. Your posting will be competitive enough, and more people will see it. Working for a startup? AngelList (startups of all sizes), and Indie Hackers (small to medium startups) are your safe bets due to the limited reach. Don’t pass on Authentic Jobs, too. Breaking through the noise at the industry standard sites would have been challenging, costly, or both.
To reiterate, we don’t know all the sites out there. As we have already mentioned, there are sites out there, that specifically target a certain region or a certain country, and not many people more. They will be mostly in local languages, unless they are intended to attract expats. Go ahead, and explore the landscape. A quick search can bring great returns.
Groups at social media are a gold mine. Of course, other people know that as well, so prepare for another “Gold Rush”. Hundreds or even thousands of people might be waiting for your post, though also might be tired of seeing yet another ad.
Before joining a group, read the rules carefully, not to violate any guidelines. Getting banned from a big group is definitely is not worth it: if you can’t actively recruit, do some research on your target segment.
Always attempt to contribute to the discussions, and post relevant content from time to time. Keep them open, and friendly. Generally, it’s a good practice to give more than you are taking. Your contributions will also make you fit in, rather than being an outsider. Remember, that people typically will listen more often to somebody who belongs to the same group, and is similar to them.
Programmers love to share their code with the world. Sure, at times it’s just to show off their cool project, though it might also be because they want to help others with a similar problem. Whatever the case might be, you can look for projects by language, by name, and by other criteria.
The most popular site for hosting Git repositories is GitHub. The highest profile projects host their code there, the most popular developers have their accounts there as well. It is natural, then, that it’s the site you want your search to be first, and foremost. Finding Node.js developers on GitHub is simple, though sporadically, you mustn’t be too eager, and check whether the repo really is about the back-end code, and not the front-end one. We have a guide on how to pinpoint noteworthy devs easily:
Step 1
Go to GitHub.com in the web browser of your choice
Step 2
Type in your search phrase in the search field at the very top of the page. Let’s say you are looking for developers who have experience in creating apps dealing with video content. We used the search phrase “Node.js Video” just as an example. Press enter.
Step 3
You now should see a list of results.
Step 4
From here, you go ahead and look for projects that were updated recently, as it might give you a rough idea about developers’ engagement. Of course, it’s not a perfect indication, however, we have to keep in mind, that to accurately determine how active people are, we would need a lot more data points.
Choose to sort the results by the “recently updated” option.
There is one more thing to do, to be more efficient on your search.
Step 4a (recommended)
Click “Advanced Search” on the bottom left of the page.
Step 4b
You should now see a multitude of options with which you may find your desired projects. Let’s say we want to find code written in JavaScript, from 2018 until now (created:>2018). Another option is to choose only these projects which use TypeScript.
Lastly, we have to make sure that it was recently updated, so let’s say, we want the latest update to be from a few months ago (“pushed:>2021”).
The result will be visible up top, and it will look like this:
The full query is here for your convenience: “Node.js video created:>2018 pushed:>2021 language:JavaScript”.
Click “[s]earch”, and voilà! Good luck!
Arguably, there is no simpler way of finishing a task than to have somebody do it for you. Especially if we are talking about experienced professionals. You may partner up with a technology partner, outsourcing company, or a software house. They will have developers on hand who will work on your project for a specified period of time, and pre-defined terms, and are ready to join on a short notice.
Decreased time-to-hire, lower hiring and overhead costs, rapid scalability, and global talent availability are just some benefits of teaming up with a company you employ. On the graphic below, you may see some more points regarding passing the torch to somebody vs handling everything on your own.
It can be hard to decide if you want to keep hiring in-house or outsource your development. It certainly doesn’t have to be a binary choice, dealing in yes or no, but a spectrum, allowing you to decide how many hires you would like to keep, and how many developers would come from your partner. You have the capability to scale easily, while at the same time growing your internal capabilities. If this is something that appeals to you the most, let’s talk.
Moving on, let’s outline what to pay attention to when hiring a Node.js developer, whether that’s in-house or through finding a technology partner.
You now have a list of developers you would like to approach, or you have already approached some. There are some things you have to keep in mind going further:
Not all developers will fit your requirements. Developers will not specialize in all areas of app development, just as a painter will often not know much about sculpting, and vice versa.
This is all due to the depth of the topics needed to master these complex areas. Developers with experience in completing projects in the domain of image recognition might not be the best fit to work on your banking project. That is, since developing highly secure services is not what they usually do. The area of cybersecurity is not something that can be learned in one day from a YouTube video. Make sure you have a clear outline of what it is you are making, and keep it in mind during every stage of the process.
We have all heard that hurtful (and false) stereotype about developers who sit in poorly lit basements, alone. That is absolutely false, and hurtful. Development of code of all sizes typically requires more than just one pair of hands. Communication was always essential in various shapes, and forms: chats, change logs, documentation, and proper comments are just some core communication avenues.
Nowadays, besides coding, the experts of today need to attend meetings, report to you, and be able to say whether they need something to finish their task. Of course, there are project proposals, documenting Proof of Concepts, and so many more.
Don’t forget that skills in good offline communication are useful when one goes online: Twitter, blogs. The way your team members interact with each other, conduct themselves in external meetings, and convey the company culture to the public is essential.
Make sure you assess for soft skills as well as the technical skills that the Node.js developer needs to have.
This one tweet went viral some time ago. Sadly, it’s not a unique case that never happened again. It occurs over and over; though occurring marginally, if it is your company who publishes that bad list of requirements…
Another example is when you require too much from your candidates. Experience in programming in Java is not a far stretch when working on a project in Node. Requiring Clojure knowledge, however, might just be too much.
Make sure that somebody with in-depth technical knowledge reviews the job spec before posting it online, should you not have that knowledge. That might save you many problems, and not miss out on some highly qualified candidates. Having your job spec become a meme is not something you would want.
Standards in programming change over time, with programming eras lasting much shorter than non-programming ones. Not so long ago, the only language in which you could create your Node.js apps was JavaScript. Now, it’s trendy (and useful) to write your code entirely in TypeScript. Yes, back-ends in JavaScript will work, though the usage of JS in enterprise scenarios is somewhat discouraged.
Another big change that occurred over the years is how teams structure their services. Previously, specialists bundled everything together in “monoliths.” Now, the consensus is, microservices are more fault proof, and more optimal in medium to large-sized companies.
Even if developers keep their projects working and updated, while using these older standards, they might not be a good match for you. Of course, that is unless you are modernizing an old app to conform with the newest standards, or are working on an older project, which still works without a hiccup.
Full-stack engineers occupy a unique spot on the expertise spectrum. They will not be the experts in either front-end, nor the back-end, though their wide area of expertise makes them particularly attractive. Luckily, since web apps can be all JavaScript, and JavaScript only, the experience from one area can be (partially) applied to the other area.
Of course, having all-around developers means you need fewer people on your payroll. Instead of creating highly specialized teams, you may create just fewer, more universal ones. Of course, as it’s the case with life, each choice has a con. Hiring all-around developers means they are not quite as good at writing front-end or back-end than their more “focused” counterparts.
The answer to the question “do I want full-stack devs” is really an answer to another question. Are you developing an app that is your offering? If so, then you want the best people for the job, and hiring front-end, and back-end experts is the play. If it’s not something that is the source of the core value your company provides, full-stack specialists are the way to go.
Let’s be honest; without open source, you would not be viewing this website in Chrome or Firefox, and your car would not be as safe as it is. By some estimates, ~78% of businesses run open-source, though that number could be much too low. Imagining a company running purely on closed-source software is imaging somebody with no access to modern technology whatsoever.
Publishing your code and letting people use it free of charge is what advances many fields of life, and many industries. It’s also what keeps the world spinning. Remember SpaceX’s reusable rockets? They run on a variation of Linux, and the dashboard for astronauts runs on Chromium – the same thing that powers Chrome browsers.
Furthermore, reviewing one’s project is a great insight into a developer’s way of dealing with issues, conflicts, and the quality of their code. There is a hidden pro to employing an open-source contributor. It’s the improved employer branding, and popularity your company may enjoy.
To reemphasize, a high-profile programmer or not, popular or not, your candidate may be appropriate nevertheless. People might have their reasons for not publishing their work, for one. Popularity is not always an appropriate measure of competence.
At times, employers will want to see their working project online as a sign of a developer’s competency. It might not be an accurate measure, however. Without seeing the code, we cannot say anything else besides the fact that it works. There might be a plethora of bugs under the hood, which we might not be aware of.
Other times, developers will refuse to share their creation with the world, and will keep it private. Why? There are many reasons, and no reason at all. The most important is to see some code at the end of the day.
Sure, if they published an app on the App Store, it is definitely a nice-to-have. People are people, though, so as long as you will be able to see a quality app, it does not matter where it is available: GitHub, a private portfolio, or the App Store are all just means to an end. One tip is to ask candidates for their app’s source code: the fact that what they wrote works does not prove much.
Quitting a draining job can leave you in a bad mental spot. In this case, the best course of action is to take a breather, and recharge your batteries. The recovery might take a while, however it’s necessary.
Another case that might leave a big hole in a professional life is the case of mothers who took maternal leave, and never came back. Alternatively, they might have quit after some time, to take care of their kids. These gaps may last long, so if there is a proven record of a person’s practice, then that should not discredit a candidate. Don’t forget about such individual, as all too often it is particularly hard to find a job after such a break.
These two reasons were only a small sample of a larger set of justifications. They all largely differ between each other. There are cases where such breaks take few months, a year or maybe two. It’s alright. Just ask, and if there’s a valid explanation, then that’s alright.
Humans make snap judgments constantly. It’s something we can’t help: it’s all evolutionary. This is just subconscious bias at work: one that we are not aware of, but still drives many of our actions and judgments.
There is hope, however. Daniel Kahneman, the Nobel Prize winner, wrote a book “Thinking, Fast and Slow”, where he wrote about how does one reason. Since you might not have time to read it, I will describe one proposed way to reliably make good hires for you.
Step 1
Select key traits that you regard as essential to succeeding in the job. The limit here is six. Make sure the topics don’t overlap: we want to cover a large area.
Efficient communication, familiarity with TypeScript, and reliability are just some examples you may include.
Step 2
Now is the time for some candidate testing. Some questions and tests are good ways to evaluate a candidate on the traits you previously defined. You may ask them to write a simple app as “homework”, conduct a technical interview, or both.
Step 3
Now that you have your questions and assignments on paper, think how you will score each candidate. The best idea is to place each evaluation of traits on a scale of one to six. You may even use the popular system of four smileys, from unhappy to happy.
The most important part – keep the scale the same. If you chose a scale of one to six, be consistent, and keep it the same for each aspect, and candidate.
Step 4 (optional)
After each interview, assign interviewees a grade based on your overall impressions.
Have each additional person involved in the recruitment process evaluate candidates on the same scale as you did. Then, determine the average for all subjective grades. You may use that as the seventh grade, although you also can skip this step. Leaving it out will make the process more objective.
Step 5
Now, with each candidate assessed, sum all the scores up. The person with the highest grade is the person to recruit. That is one way of consistently maximizing the chances of making great decisions.
The tips we gave you should be enough to guide you through the bulk of the knowledge. In reality, though, recruitment professionals will know a lot more about the nuts and bolts of the topic. Asking for help just acknowledges you’re strong enough to admit you don’t know something; it’s not a common trait.
Therefore, if you are unsure whether you will make a proper choice, it might be a good idea to hire an external company that will take care of everything for you. There is an alternative, however.
It is the decision to outsource the project. The decision could be guided by the rule to “focus on what you do best, and outsource the rest.” By the time your company will become a hiring expert, it will lose its competitive edge. We are here, should you need an experienced partner to develop your project with you so you may focus on the edge you have over other companies.
Good luck on your quest!