The Recruiters Guide to: Back End Developers
(Michelle Burke reviewing the teachings of Ayub Shaikh in the Black Belt in Tech Recruitment)
We’ve already delved into the world of Front End Developers, so now it’s time to take a closer look at their Back End counterparts. If you’re a tech recruiter, you’ll know that Back End Developers are some of the most sought-after candidates, so being able to properly communicate with them is really only possible if you fully understand exactly what it is that they do. Let’s not forget that Back End Developers are generally paid upwards of $80-$100 per hour, and there’s a good reason for that. Business logic is complex. So complex that we could probably write ten blog posts just like this and we’d still be scratching the surface! It’s not the easiest role to get your head around, especially if you don’t come from an IT background. So consider this post ‘Back End Developers 101’.
Who are Back End Developers?
First things first. Who exactly are Back End Developers? Well, for starters, they would have gone to university to study Computer Science for upwards of 3-4 years. Unlike Front End, where you could arguably take a course for 6-12 months and come away from it being able to put into practice what you’ve learned quite easily, (mainly due to the vast amount of templates available for creating websites etc), this isn’t at all the case with Back End Development. You really need to be into mathematics and logic, and ultimately quite left-brain dominant in your thinking in order to be able to ‘make it’. Back End Developers are people who spend their lives focusing on mathematical problems and designing answers for them. Unlike Front End, there’s no user-friendly interface to work with; we’re talking about core coding here. It’s methodical and unforgivable. Back End Developers don’t start working on a project in a nice package that they’ve bought from their local computer store – they open up Wordpad or Notepad and basically just start typing code. Code that looks like this…
Keep in mind that these developers need to know every single line of what they are typing – their Boolean logic has to be strong, their mathematics have to be impeccable. Because, if there is an O where there should be a 0, or if a bracket isn’t closed when it should be – the program itself isn’t going to work. To put this into perspective in terms of scale, think about this – Windows 10 has 50 million lines of code in it. All of these lines relate to each other, and a line can’t have a single fault in it – otherwise the program will collapse in on itself. So absolute accuracy is key.
Programming Languages
When dealing with Front End Developers, you’ll need to understand all of the various languages that they use to make programs work. Some languages are more popular because they’re easier to use in terms of being cleaner and more robust than others. So if that’s the case, why isn’t the easiest language used by all developers? The simple answer is because different languages need to be used depending on what the application itself has to do.
Is it a small application? Will it run on individual machines? If the answer is yes, it probably won’t use too much processing power or memory, so developers can write it in a language that will work accordingly. If it’s a large-scale enterprise application, developers might use another language – one that’s far more robust, with more uptime and speed.
What one language can do in 50 lines, another might take 500 lines of code to achieve. The Technical Architect or Lead Developer on a project decides which one is best suited for which situation.
Here are some of the most popular programming languages that you should look out for on CVs:
Java
Java is the world’s first platform-independent language. It was originally created by SUN Microsystems in 1995, and is now owned by Oracle. It comes in 3 packages: Java Enterprise Edition, Java Standard Edition, & Java Micro Edition. Most android apps are written in Java, as well as software tools, scientific applications, web applications like Google Docs, and some mobile games.
C#
C# is essentially Microsoft’s answer to Java. Released in 2001, it’s one of the several languages that can be used within the .NET framework. It can be used to create a variety of applications, including Windows desktop applications, third party apps in the Windows store and business applications. C# actually popularised the concept of frameworks.
C++
Developed in 1979, C++ has held the number one spot for decades when it comes to being one of the most object-oriented languages for developers. It’s used extensively for performance-intensive tasks. The likes of games, graphics, video editors and art applications tend to be written in C++.
C
Widely thought of as ‘The Mother Syntax’, C is extensively used within embedded systems. Most good languages use C as the syntax of their construct. It was created in 1969, and to this day is generally the first thing that budding developers learn in university. It’s essentially the core language for Back End developers, as Java, C# and C++ are all based on C.
Frameworks
Nowadays, it’s really not enough for Back End Developers to work with just a language. They also need to understand the framework that works with that language as well. Gone are the days that a single programming language will do the job from start to finish. Nowadays, languages have their own frameworks and within that specific toolkit, they have everything else they need. Frameworks basically make the job of a developer much easier. Often the framework is controlled by its vendor – for example .NET is something that is completely dictated by Microsoft. There are also ‘open’ frameworks, which are vast and far more radical because the open community has no restrictions on development. For example, SPRING is a framework to be used with Java. It is uncontrolled by any corporate body and is a very open community-based environment, so the development and innovations that come out within that framework are much faster than others. Because of this, you may, as a recruiter find that clients say that they need a Front End Developer with Java, but they also need to know SPRING as well, to ensure this level of innovation.
Here are some examples of the most common frameworks:
- Microsoft’s environment is called .NET, Maverick and Entity.
- JAVA comes with Spring MVC, Hibernate, Grails, Wicket, SpringBoot and Ninja.
- PHP comes with Zend, Symfony and Laravel.
- Python comes with Django, Flask, Pyramid and Bottle.
- Ruby comes with Ruby on Rails, Sinatra, Radiant.
- Scala comes with Finatra, Spray and Scalatra.
So look out for these frameworks. They all have an association with a language, and your client/job spec will dictate which particular one is needed for the development project from which you’re sourcing Back End Developers.
Object Oriented Methods
Most clients will pay over the odds for an Object Oriented Developer. Why? Because ‘OO’ has become ‘the thing’ in programming over the past 5-10 years. So what exactly is OO? In concept, it’s very simple – in practice, it’s actually a far more sophisticated way of developing. Essentially, it’s about utilising reusable components in Back End Development, specifically when it comes to code.
When you’re an Object Oriented Developer, you don’t need to design things from scratch. The first thing you actually do is to find a library of pre-made components – for example, you find an amazing developer in India who knows the mathematics of the system that you’re creating. You also find a developer in the USA that creates ideal components for the GUI side of things, and so on and so forth. Then you dip into those pools of objects (known as foundation classes) and from there the developer’s task is to pick those objects and put them into your context or bowl, then connect them all together. So each object has its own characteristics and can be reused.
Most modern programming languages are now object oriented. C++, Java, and C# all fall under the category, so it means that developers that are well versed in these languages can use them in this particular way, should they have the skills to do so.
So there you have it – a basic overview of who Back End Developers are, as well as what languages and frameworks they use. Again, we could go on for days and days breaking down the various roles of Back End Developers but hopefully, this will give all you budding tech recruiters out there the foundation to better understand these incredibly unique candidates. In our next instalment, we’ll be looking at understanding Cloud Based Technologies better, so keep your IT ears to the ground for that!
Remember, if you’re interested in learning more about sourcing within the IT space, you need to check out our Black Belt in Tech Recruiting! Over the course of 8 missions, you’ll learn everything from how an IT Department is structured, to tips and tricks on how to recruit developers (including the questions you need to ask to impress them!) Request a FREE demo of the platform today. Just click here, or email [email protected] for more info.