JavaRush /Java Blog /Random EN /Soldiers of the invisible front. What is a backend develo...

Soldiers of the invisible front. What is a backend developer and how to become one?

Published in the Random EN group
We continue to talk about the main specializations that are related to programming. We have already covered a number of positions, including full stack developer , tech lead , team lead and QA engineer . Now the turn has come to an important and extensive specialty - Back-end developer. Soldiers of the invisible front.  What is a backend developer and how to become one?  - 1

Who is a back-end developer?

A backend is a combination of technology and code that makes a website or application work while remaining invisible to the end user. The backend consists of three basic components: a server, a database, and a software application. Thus, the task of the Backend developer is to create and maintain a technological platform that ensures the operation of the part of the website or service that is visible to the end user, that is, the frontend. The essence of the work is to create a working combination of "server-application-database" by writing code that runs on a server - physical or cloud. To do this, backend developers use a number of languages, including Java, as well as PHP, Ruby, Python, .Net, and a number of others. In addition, a backend dev needs database tools such as MySQL, Oracle, Microsoft SQL Server and PostgreSQL which allow you to manage databases. It is the responsibility of back-end developers to create efficient and fast technological solutions that help convert data into front-end code that the user can interact with on their side - in the form of filling out a form, creating a profile, making an online purchase, etc. Typically, back-end devs work in teams or as part of a back-end team, although in large companies they may be part of a multidisciplinary development team that includes front-end developers, QA people, UX architects, and so on. with which the user can interact on their side - in the form of filling out a form, creating a profile, making an online purchase, etc. Typically, back-end devs work in teams or as part of a back-end team, although in large companies they may be part of a multidisciplinary development team that includes front-end developers, QA people, UX architects, and so on. with which the user can interact on their side - in the form of filling out a form, creating a profile, making an online purchase, etc. Typically, back-end devs work in teams or as part of a back-end team, although in large companies they may be part of a multidisciplinary development team that includes front-end developers, QA people, UX architects, and so on. Soldiers of the invisible front.  What is a backend developer and how to become one?  - 2

Back-end developer skills

What skills should a backend developer have? Let's briefly go through the main ones.
  • Deep knowledge of the backend programming language (Java, Ruby, PHP, .Net, Python as the main ones) and those frameworks that are used by the company or project.
  • Understanding key front-end technologies such as HTML, CSS and JavaScript and more to communicate effectively with front-end coders.
  • Ability to configure and manage hosting, which includes database administration, application scaling with load changes, etc.
  • Knowledge of web server technologies.
  • Understanding the principles of cloud services (AWS, Azure, Google Cloud, etc.) and the ability to configure them.
  • Understanding of the basic principles of development, implementation and support of content management systems (CMS).
  • API integration skills.
  • Knowledge of the basic principles of cybersecurity and measures to prevent hacker attacks or data leaks.
  • Ability to write reports and analyze statistical data.
  • Knowledge of backup and data recovery technologies, including site code and databases.
  • Experience with product version control systems such as Git.
Soldiers of the invisible front.  What is a backend developer and how to become one?  - 3

How to become a back-end developer?

Learning the basics of back-end development will be useful even if you are not going to work in this specialty. So, what to learn in order to “pump” your skills in back-end development?
  1. Learn the basics of data structures and algorithms.

    Often, developers skip this step and immediately start learning frameworks. However, experts advise that you first learn the basics of data structures and algorithms, at least superficially. It is also recommended to deal with hashing, sorting and searching algorithms, algorithm stacks.

  2. Learn a programming language and choose a framework(s).

    Since different programming languages ​​are used in back-end development, it is better to decide from the very beginning on the language or languages ​​​​(no one forbids learning several at once) in which you will specialize. In addition to Java, most often they start by learning C, Python or PHP. JavaScript would also be a good option for additional development.

  3. Learn SQL and the basics of database management.

    The next logical step towards becoming a backender is learning the SQL language and the basics of database management. Now there are many convenient and relatively simple database management systems, from which you can choose one or two. And knowledge of the SQL language will help you easily understand similar systems and write sql queries. Since all websites today use databases in one way or another, this skill will be useful anyway.

  4. Learn frameworks.

    The choice of framework will, of course, depend on the programming language. Because most frameworks, like Spring, use the same architectural pattern, MVC (Model-View-Controller), knowing one framework makes it much easier to learn and use other sets of software solutions in the future. Do not underestimate the importance of using frameworks and their convenience, because with them you can significantly reduce the amount of code written.

  5. Start putting what you've learned into practice.

    The practice of applying knowledge in back-end development also plays a huge role. So start by working on small projects and/or tasks, such as building a simple blog, basic image viewing or project management applications, todo lists, and so on.

  6. Learn how to work with cloud services.

    Another fairly important step is to learn how to deploy your software products on cloud service platforms. The main cloud platform options are AWS, Google Cloud, Azure, and Heroku.

Is it worth becoming a back-end developer? Opinions

“I hope your primary motivation for learning web development is not money. Yes, web development is a fairly popular and in-demand area, but it is now very competitive, even compared to how things were ten years ago. Therefore, new developers will need even more effort to stand out from the crowd of competitors and find a job. Also remember that code alone is not enough to be a good back-end developer. Do not forget that the work of a backend developer is much more abstract than that of a frontend developer and goes without a full understanding of the future result, because they often do not have quick feedback, both from front-end developers and users,” notedKenrick Vezina is a computer science educator and writer. “Back-end development is great because it gives you a range of options or directions to choose from. For example, I started with PHP when it was a very popular and easy to learn back-end development language. To decide what to study first, you need to understand what you plan to develop. For simple blogs, knowledge of PHP should be sufficient, for creating real-time applications, Node.js is good, while larger applications require knowledge of Java, Groovy, etc. Learning will be easier if you immediately decide on which projects you want to work on,” advisesLawrence Adu, Senior Web Developer at Qodehub. “One of the advantages of back-end development is the fact that this area does not change as quickly as others. If you learn SQL, one of the main programming languages ​​and a couple of frameworks, this should be enough to provide you with a job for ten years, or even more. Whereas in the field of front-end everything changes much faster, at times. Frontend developers need to know more technologies and keep abreast of their development and changes,” said John Allred, a web developer with over a decade of experience. Soldiers of the invisible front.  What is a backend developer and how to become one?  - 4

Salary and career prospects

And finally, let's look at the salary and career prospects of backend developers. According to the authoritative resource Glassdoor, the average salary of back-end developers in the US is $101,000 per year. The PayScale recruiting portal gives a more modest amount - $ 73 thousand per year on average, with $ 49 thousand per year as the minimum average salary and $ 118 thousand per year as the maximum. As for the salaries of back-end developers in different countries, according toAccording to this source, in Britain they earn an average of $37.5 thousand a year, in Singapore - $36 thousand, in Australia - $48 thousand, and in Canada - $49 thousand a year. As for “our” countries, in Ukraine, according to the recruiting resource Work.ua, the average back-end developer earns a little more than $1,300 per month. In Russia, according to these data , back-end coders earn a little more on average - about 100 thousand rubles. (about $1400) per month. The salaries of Belarusian back-end workers are approximately at the same level. This is if we take from the available average data for backends as a whole. If you look at the salaries of developers depending on the programming language, the numbers are somewhat more optimistic (for such popular languages ​​as Java, of course). So, in Ukraine, a Java developer on averagereceives about $2000-2500 per month. In Russia, according to these data , Java coders on average earn 230-250 thousand rubles. (about $3200-3500) per month. Soldiers of the invisible front.  What is a backend developer and how to become one?  - 5As for career prospects for backend developers, they are generally quite wide, and knowledge of backend technologies, as we have already said, can be useful for many different positions in development and the IT industry as a whole. Most often, back-end developers move to management positions, or to higher technical positions, such as a software architect, tech lead, team lead, and so on.
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION