Hire a Back-End Developer


Hire a back-end developer

Back end and back-end developers

Web development has become a multilevel hierarchy-based process for quite long now, divided into two parts: front end and back end. A front end is a code executed in a browser that actuates website or web application display and ensures performance of all the elements across various devices, i.e. on the client side. A back end is the server side, or software and hardware base. These terms originate from dividing responsibilities between the external representation and internal implementation.

What a back end is

Primarily, a back end is a code executed on the server, from which a website or web application is uploaded. Also, a back end comprises databases of regularly updated websites:

  • content management systems (CMS): notes on content (article and news texts, their dates, categories, tags), users, commenters, comments;
  • forums: user accounts, data on topics, posts, personal messages;
  • online stores: customer accounts, data on products, stock, goods in carts, placed orders, previous purchases.

Above all that, a back end includes algorithms driving powerful online platforms:

  • social media: possible friend search, recommendations on noteworthy posts, hashtag accounting, community ranking; anti-spam facilities, complaint and ad pre-processing powered by machines (before human review);
  • exchanges: trade engine, order book, trade history;
  • cloud storage services: resource distribution, backup and integrity preservation of data, virus scanning.

A back end may be two-level — with an in-house front end and a lower-level back end. For instance, for readers of a WordPress blog, its engine acts as a back end. But for the owner-administrator and authors with permissions to add, change, or remove content, the back-end engine consists of a front end (a handy control panel for the engine or only content) and another back end (plugins, system PHP files, and MySQL database). Let’s look at it from a wider perspective: a server where a website or web application is hosted is a back end; a hosting control panel is a back end’s front end; while no-GUI Linux is a back end’s back end.

So, a back end encompasses hundreds of behind-the-scene processes that convey the output through a front end. This means that everything visitors or users do not actually see but what is working, is what we call a back end. But first, you need to find back-end developers who could establish it.

What back-end developers do

These specialists develop and deploy the server side of web resources. They can create the basic logic and design the architecture of a projected web app from scratch, and then compose the algorithms for its functioning. The performance, scalability, and security of a server code depend on the rationality of back-end developers’ work.

Back-end developers are proficient with DBMSs, so they can easily connect a code to a database and write query handlers for it. They feel at home when working with web servers receiving http requests from a front end and yield http replies; thus, they can effortlessly create an app that would consider server configuration and capabilities. The same is true for application servers when it comes to high-load or mobile apps.

A back end is not limited to a website or web app itself. It also incorporates web services that connect to other websites, apps, and services. Here are some examples: pingbacks and trackbacks in the blogosphere, sharing on social media, implemented reCAPTCHA, embedded online payments. Not only can back-end developers establish interaction with third-party application programming interfaces (API), they also can create their own one to which other resources will access.

Though developers’ key duties are analysing and specifying requirements, designing and programming, they are often entrusted with testing, debugging, and optimising code. Large companies have testers and special programmers assigned to perform such tasks. In small startups driven by two web developers (a front-end dev and back-end dev), who creates a code shall check and refine it. But, it is way more reasonable to delegate these tasks to another team as a fresh eye is better for detecting errors or suggesting improvements.

What languages back-end developers use

For every task, a suitable programming language, on which a source code will be composed, is selected. For the purposes of creating a website’s back end, the most commonly used language is PHP, while web applications can be created on PHP or some other languages, including:

  • ASP.NET;
  • C++;
  • Go (Golang);
  • Java;
  • Perl;
  • Python;
  • Ruby;
  • Rust.

Here are programming languages and database management systems used on the server side of popular websites:

Website Monthly visitors Server languages DBMS
Google 1.6 billion C, C++, Go, Java, Python Bigtable, MariaDB
Facebook 1.1 billion C++, D, Erlang, Hack, Haskell, Java, PHP (HHVM), Python, XHP Cassandra, HBase, MariaDB, MySQL
YouTube 1.1 billion C, C++, Go, Java, Python BigTable, MariaDB, Vitess
Yahoo 750 million PHP Cassandra, HBase, MongoDB, PostgreSQL
Amazon 500 million C++, Java, Perl PostgreSQL, RDS, RDS Aurora
Wikipedia 475 million PHP MariaDB
Twitter 290 million C++, Java, Ruby, Scala MySQL

Not every back-end developer knows a dozen common languages. However, what distinguishes a talented specialist is the ability to quickly master a new language and easily sort out the tasks in which it is needed. That routine can be facilitated by universal development environments (Geany, IntelliJ IDEA, KDevelop) and cloud development environments (AWS Cloud9 IDE, Codeanywhere, Repl.it).

Development is facilitated by auxiliary tools: design and programming patterns, as well as frameworks and libraries for each language. This is why any developer uses at least one toolset that helps them deliver on time, without hampering other team members’ work.

What other skills experienced back-end developers have

Specialists who often deal with relational DBMSs can handle a Structured Query Language (SQL). Even those working with a NoSQL-type DBMS need to know this language as it is also supported in such systems. Those who are tired of the ubiquitous SQL have mastered and already use object-relational mapping (ORM).

Data fed to an API is converted into a specific format. Back-end developers who regularly configure or maintain APIs, get on well with an eXtensible Markup Language (XML), data interchange format JSON, software architectural style REST, and SOAP protocol.

One couldn’t handle any web server without dedicated server software, so every back-end dev is well versed in Apache HTTP Server, Lighttpd, Nginx. Even curious internet surfers have a rough idea about those programs as they came across various 5xx errors on faulty websites and would try to find out a cause. To work with application servers, professionals master such software as Google App Engine, IBM WebSphere, Java EE, Zend Server.

When a back-end dev needs to check performance of a web application on a local machine, they may use various server software packages — WAMP, LAMP, MAMP, XAMPP — depending on the operating system. They often deal with virtual and dedicated servers, so they delve into hosting control panels, virtualization, containerization, and Linuxes. But, you shouldn’t make them administer servers to save hosting costs.

The same could be said for a front end, but the web dev industry wouldn’t know such a thing as full stack. Full-stack developers are back-end specialists who can also develop a front end. Sometimes the opposite is true.

What to do if you need a back-end developer

It’s not easy to hire experienced back-end developers, although there are many of them in the labour and service market. Some employers look for them on freelance marketplaces, others publish vacancies and sort out CVs on HR portals, still others delegate the entire turnkey development to a third-party team. Let’s look at each option so that you can choose what’s suitable.

Searching for a freelancer

First, a company needs to find back-end developers on service marketplaces like Fiverr, Guru, PeoplePerHour, or Upwork. Then, your team leader studies their portfolios and reads feedback from those who have worked with them. The next stage is he/she needs to discuss the upcoming work, clearly define the tasks in a detailed TOR, and agree on a deadline. After that, you can place an order through a marketplace, detailing all the agreed upon terms and specifications. Although you can publish an order first, and then process the requests following the same principle.

Benefits:

  1. Low cost of back-end developers’ services due to dumping by novice freelancers.
  2. Rich choice of back-end developers with testimonials and hefty portfolio.

Shortcomings:

  • basic services seem cheap because ‘discounts’ are included in the cost of additional services, and these are expensive;
  • freelancers work simultaneously for several people/companies who have ordered back-end development, not concentrating on one project;
  • freelancers are difficult to control, they may disappear for a long time or for good at any moment;
  • more responsible freelancers deliver raw work to make it to a deadline and then request more time to finish.

Hiring a staff member

An employer needs to open a position on an HR portal like Adzuna, Indeed, Monster, or Reed. Then, your HR manager studies requests and CVs of back-end programmers with experience. Alternatively, he/she can headhunt on the same portals or LinkedIn. After that, you ask a candidate for an interview where the latter would talk about themselves and learn more about what they need to do in your company. All of this looks like traditional employment.

Benefits:

  1. Simplified management of an employee who is always in sight and responsible for their work.
  2. Uniform rate for any scope of development, within an employee’s competence and time.

Shortcomings:

  • a supervisor must conclude an employment contract with the new staff member, and then constantly pay taxes and insurance fees;
  • an HR manager must provide an employee with a workplace and computer, and ensure HSE compliance;
  • if there is no work, an employee sits idle; thus, your manager or team leader should constantly create tasks;
  • an ambitious employee may leave your company for another one that offers better compensation or more exciting work; thus, you need to retain a specialist with a higher salary and career growth.

Outsourcing back-end development to a team

This is somewhere in between the first two methods. By attracting a dedicated team of remote back-end developers to the project, you get a bunch of temporary freelance employees. Not necessarily all the specialists at once but only those who you actually need, with an opportunity of later attracting someone who wasn’t needed at the first stage. A third-party team only comprises verified and practised back-end developers. Moreover, they have some experience in working together, so there is no risk of sabotage.

Benefits:

  1. Hourly payment for back-end devs involved in specific tasks.
  2. Supervision of the back-end development team is provided by its leader.
  3. Proper development planning, regular sprint reports on stages.
  4. Conclusion of a contract, receipt of an Acceptance Act, so that expenses can be deducted in accounting and tax.

The only shortcoming: in this case, the services of a back-end development team are more expensive than that of single freelancers. However, they are still far cheaper than keeping full-time employees.

Hourly Rate: 50 USD (45 EUR)

Back-end developer labour market

On freelance marketplaces, back-end devs specify the minimum pay rate from which they start, usually from €9 or $10. This being the case, customers cannot estimate the cost of back-end development services as freelancers offer such low rates for only something simple, e.g. pre-consulting or making a plan.

It’s way easier to pay outsourced remote back-end developers when the payment is hourly. Here, the hourly rate of back-end developers is fixed and doesn’t change throughout the year, e.g. €45 or $50.

To complete the picture, employers should know the salaries that other companies are willing to pay full-time employees. They vary significantly depending on the required experience or level. Recruiters divide candidates the old-fashioned way — by experience in years. Devs themselves prefer division into junior, middle, senior, and lead developers. These are levels that correspond to a set of skills, technology stack, as well as the ability to work independently. If you combine all of these approaches, you will get the following:

  • a junior is a beginner with 1-2 years of experience in back-end development, can do little, can only handle simple tasks;
  • a middle is an advanced specialist with 3-5 years of development experience, can do almost everything a back-end dev needs to, can handle most tasks individually;
  • a senior is a great professional with over 6 years of development experience, can handle everything;
  • a lead is a team leader who ‘herds cats’; can be a tech lead (more technically-specialised) or team lead (with the slope of management).

How much back-end developers are paid in the UK

The British IT labour market sees a great difference between London salaries and those in other regions and counties. We have collected open positions for 3 occupational levels from reed.co.uk and indeed.co.uk, and sorted them by level and city (London | other cities and towns). After that, we calculated the average salary for each of the 6 groups. Here’s how much a back-end dev can be paid in the United Kingdom (data for August 2021):

Level Average annual salary (London) Average annual salary (other cities & towns)
Junior 33,000 GBP 21,000 GBP
Middle 60,000 GBP 38,000 GBP
Senior 63,000 GBP 48,000 GBP

How much developers are paid in Russia

Speaking of the Russian labour market, we can also notice a huge difference between Moscow salaries and those in other regions. We have collected open positions for 3 occupational levels from rabota.yandex.ru, and sorted them by level and city (Moscow | other cities and towns). After that, we calculated the average salary for each of the 6 groups. Here’s how much a back-end dev can be paid in Russia (data for August 2021):

Level Average monthly salary (Moscow) Average monthly salary (other cities & towns)
Junior 60,000 RUB 34,000 RUB
Middle 143,000 RUB 92,000 RUB
Senior 194,000 RUB 144,000 RUB

How much Polygant’s back-end development services cost

App architecture design
Hourly Rate: 50 USD (45 EUR)
Web app back end development
Hourly Rate: 50 USD (45 EUR)
Code and architecture audit
Hourly Rate: 50 USD (45 EUR)
Integration with a third-party service
Hourly Rate: 50 USD (45 EUR)
REST API development
Hourly Rate: 50 USD (45 EUR)
API improvement & optimisation
Hourly Rate: 50 USD (45 EUR)
Mobile app back end development
Hourly Rate: 50 USD (45 EUR)
SMS gateway setup
Hourly Rate: 50 USD (45 EUR)
Progressive web app development
Hourly Rate: 50 USD (45 EUR)
Admin panel customisation
Hourly Rate: 50 USD (45 EUR)
Billing system implementation
Hourly Rate: 50 USD (45 EUR)
Payment system implementation
Hourly Rate: 50 USD (45 EUR)
Existing project optimisation
Hourly Rate: 50 USD (45 EUR)
High-load WebSocket service development
Hourly Rate: 50 USD (45 EUR)
Complex project maintenance
Hourly Rate: 50 USD (45 EUR)
Your Message has been succesfully sent. We will contact you soon!