Home Computing What is a server-side engineer? Explanation of roles, study contents, and differences from the front desk

What is a server-side engineer? Explanation of roles, study contents, and differences from the front desk

by Yasir Aslam
0 comment

At the Web application development site, the server-side engineer builds the back side that is invisible to the user. However, there are many people who find it difficult to imagine what kind of engineer they are doing, even if they say the “backside part” in one word.
This time, we will introduce server-side engineers from various perspectives.

table of contents

  • 1. What is a server-side engineer?
  • 2. Knowledge required for server-side engineers
  • 3. Skills and appropriateness required for server-side engineers
  • 4. What is the reward of a server-side engineer?
  • 5. Estimated salary for server-side engineers
  • 6. How to become a server-side engineer? Study method
  • 7. Summary

1. What is a server-side engineer?

First, let’s look at what kind of profession a server-side engineer is, from the perspective of work content and differences from other engineers.

1.1 Definition of server-side engineer

A server-side engineer is an engineer who develops the part of the processing that runs behind the system, that is, on the server side .

The data entered by the user on the screen is linked to the database. Data is saved and retrieved in the database, and the execution results are visible to the user again. The server-side engineer is responsible for the database and the coordination between the database and the front end .

For small-scale development projects, the server and network equipment may be set up as an infrastructure engineer .

1.2 What the server-side engineer does

The work of a server-side engineer covers a wide range of tasks, including software settings , database construction , and service management . I will introduce the work contents one by one below.

 

1.2.1 Settings for various software, frameworks and external services

In the speedy development required by startups, the development of common parts should be simplified as much as possible by linking with external services via various software, frameworks, libraries, and APIs, and the parts that must be developed from scratch. There are many cases of reduction. It is the server-side engineer who estimates the software and framework to achieve this and makes various settings .

 

1.2.2 Linkage between websites / web applications and databases

Taking a shopping site as an example, the shopping screen that users can see is the front end, and the invisible part, such as the database that stores product information, is the server side.

The data stored on the server side is called from the front end. Correct processing cannot be performed unless both the front end and the server side are linked. The server-side engineer is responsible for building the cooperation part .

 

1.2.3 Database design / search / save / modify / manage

Taking the database that stores product information as an example, how server-side engineers manage information such as “price”, “size”, and “color” of products, and how to design it. It is necessary to build an optimal database based on whether it is highly searchable and easy to save and modify .

In addition, it is necessary to consider how to manage the data and maintainability, considering that the number of items will increase or decrease .

 

1.2.4 Bug fixes

After the service is released, if there are more accesses than expected or if there are users who use the service for unexpected purposes, the site may go down or an error may occur. In this case, the server-side engineer has to fix the bug .

To prevent bugs from occurring, server-side engineers need the skills to write clear code with high maintainability .

 

1.2.5 Service improvement

Server-side engineers are also responsible for troubleshooting services when problems occur in the operating system, inquiries from customers, and improving services based on improvement proposals made in-house .

Software upgrades and patching are also important tasks of server-side engineers to provide comfortable services .

1.3 Server-side front-end infrastructure relationship

” Server-side engineer “, ” front engineer “, and ” infrastructure engineer ” all refer to roles in the field of Web application development. It is easy to confuse what kind of engineer each is, so this time I will explain the difference by taking an EC site as an example.

 

1.3.1 Server side is “description of dynamic processing”

Based on the product information entered by the user, access to the database, access to various files, and various other invisible processes are performed one after another inside the program. It is the server-side engineer who builds the mechanism of such a part .

 

1.3.2 Front end “makes visible”

The input of product information from the user is done on the view, and the information is sent to the database for processing. Then, when the processing in the database is completed, the processing result is received from the database and the data is reflected in the view. It is the role of the front-end engineer to build the view part using code such as HTML and CSS .

 

1.3.3 Infrastructure is “improvement of server environment”

All applications, not just EC sites, will only work if the server or network works properly. The infrastructure engineer is responsible for building and managing the server environment, the framework of the entire system .

Server construction and parameter management are typical duties of infrastructure engineers. It is also the infrastructure engineer who considers and builds the load balancer and monitoring mechanism.

2. Knowledge required for server-side engineers

Next, I will introduce what kind of knowledge is required for server-side engineers.

2.1 Programming

It’s the server-side engineer’s job to describe the set of actions behind the site or app, such as database browsing.

Recently, there are many cases where Web API (REST API) is built on the server side as a bridge between the front end and the database .

 

2.1.1 Mainly used programming language

The languages ​​that server-side engineers mainly use include Ruby, PHP, Node.js, and Java.

Ruby is widely known as a domestic language.
PHP is famous for being used in WordPress. Both are “dynamically typed languages” that can handle data flexibly, and are good at quick product release with quick development.

Node.js is server-side JavaScript . The client side can be written in JavaScript and the server side can be written in Node.js, and one engineer can develop both the server side and the client side .

Java is a “statically typed language” that requires coding while explicitly stating the “type” of data. It is used in highly robust development with high error detection accuracy at the compilation stage. By the way, since Android development is also possible, there are many cases where it is adopted at the development site of smartphone applications these days.

2.2 Database

The database stores and stores the data entered by the user. Database languages ​​such as SQL are used to organize and manipulate the database. Server-side engineers are required to have knowledge of database languages ​​to achieve the expected data manipulation .

When used in combination with a server-side language, for example, you can use Node.js and SQL to connect to MySQL and retrieve data.

2.3 OS / Virtual environment

In small to medium-scale development, there are cases where the server-side engineer also serves as the role of the infrastructure engineer. Whether it is on-premises or in the cloud, it is necessary to install the OS of the server, make various settings, and set network devices such as switches.

Therefore, server-side engineers should also have knowledge of the OS, virtual environment, and cloud .

3. Skills and appropriateness required for server-side engineers

You are a server-side engineer who requires a wide range of knowledge, but what kind of skills are required? I will list it.

3.1 Programming skills

Programming skills to handle server-side languages ​​such as Java, PHP, Ruby, and Node.js are required. In addition, you need skills to work with database languages ​​such as SQL.

In addition, it is better to have knowledge of languages ​​handled by front-end engineers such as HTML and CSS when taking charge of the part of cooperation with the front-end.

3.2 Logical Thinking

In some systems, personal information is stored in a database, and the part that the server-side engineer is in charge of is, so to speak, the core function of the Web application. Therefore, it can be said that while the degree of contribution to development is high, the responsibility is also heavy. Therefore, in terms of safety and efficiency, it is necessary to logically consider what kind of configuration is suitable for the site.

In addition, since we are often in charge of problem solving when a problem occurs, the responsibility is especially heavy in a system where the range of influence when an error occurs is large. High problem-solving skills and logical thinking skills are essential for server-side engineers, as they are required to quickly find and respond to problem areas .

3.3 Willingness to learn

Nowadays, the IT industry is making remarkable progress such as utilizing big data, and the market size of the IT industry is also expanding. According to a survey by Yano Research Institute, the IT market is projected to reach 13,320 billion yen in 2021.

On the other hand, with the declining birthrate and aging population, the number of new graduates hired is declining, which inevitably creates a gap between the supply and demand of human resources in the IT industry. Under such circumstances, the role of server-side engineers is expanding, and there are increasing cases where a wide range of technologies such as front desk, infrastructure, security and cloud knowledge are required.

Trends in the IT industry are changing rapidly, and more advanced frameworks and new development methods are appearing one after another. It is important to keep up with the latest technology and to be motivated to continue learning.

Reference: Conducted a survey on IT investment by domestic companies (2019) | Yano Research Institute

3.4 Communication skills

Server-side engineers are located between front-end engineers and infrastructure engineers, and often require close cooperation with each engineer. Development work is often done in teams, and high communication skills are essential to achieving results.

4. What is the reward of a server-side engineer?

The first thing that is worthwhile is the high level of social contribution that it directly leads to the operational efficiency of other companies and customers due to the heavy responsibility . You will also need to communicate with many engineers to achieve results, and you will get a great sense of accomplishment. In addition, the creativity
of being able to take the role of thinking about the system configuration and giving shape to the specific functions that you have thought of is one of the points that makes you feel rewarding.

Another point is that once you acquire the skills, you can easily utilize the skills for personal development. Many companies have introduced remote work, etc., and it is easy to work in a way that is not tied to time or place, and it is possible to aim for skill improvement efficiently .

4.1 Future of server-side engineers

In recent years , development using frameworks that provide back-end functions such as Firebase has become widespread, making it easier to proceed with serverless development.

However, since such technology is easy to use, it may lead to security accidents if not handled carefully, and it is dangerous to develop without a server without any knowledge about the server. increase. As a result, the demand for server-side engineers isn’t going away right now.

 

4.1.1 Is the “server-side engineer unnecessary theory” true?

Cookpad developed an app called ” Komerco ” using Firebase without a server-side engineer. The developers recall that while citing the increased speed of development as a major effect, they felt disadvantages in terms of database usage and security.

In places where speed is required rather than robustness, such as test product development at startups, it is expected that the number of cases of development without a server-side engineer will increase in the future.

Reference: App development without back-end engineer in Firebase Benefits and challenges experienced by Cookpad | Engineer Hub

5. Estimated salary for server-side engineers

According to data released by Indeed, the average annual income of server-side engineers is 5.85 million yen . Considering that the front-end engineer is 5.49 million yen and the infrastructure engineer is 4.92 million yen, the salary of the server-side engineer tends to be relatively high.

It can be inferred that the reason is that it is a highly specialized occupation that requires a wide range of knowledge and skills.

See: Server-Side Engineer Salary in Japan | Indeed

6. How to become a server-side engineer? Study method

There are three main ways to study.

 

    1. Utilizing the school

Although it is a costly study method, the instructor will teach you directly, so you can solve any questions on the spot and study effectively. If you have no programming experience, it is recommended that you go to school first.

    1. Use of programming learning site

Although it is not possible to take lectures directly, there are sites that can answer your questions, although not in real time. This is a way to study efficiently while keeping costs down.

    1. Book purchase

It is not recommended for those who have no programming experience to study only with books, as it will be completely self-taught. It is effective to take a learning method such as using books to establish knowledge while attending school.

6.1 Can a server-side engineer be an inexperienced person?

It is possible for inexperienced people to become server-side engineers, but the reality is that they are narrow gates when they are in their late 20s or later.

Inexperienced after learning the combination of one or more languages ​​+ frameworks such as Ruby and Ruby on Rails , PHP and Laravel , Java and Spring , and gaining experience such as creating one or more web applications by yourself. It’s a good idea to actively apply for companies that offer welcome jobs.

After joining the company, it is necessary to actively catch up. I would like to obtain qualifications such as the Applied Information Technology Engineer Examination and LinuC as soon as possible.

7. Summary

The role of the server-side engineer who builds the processing of the database etc. that operates on the server side, that is, the part that can be said to be the basis of the system, is very important in the development site of Web applications.
It is a job that requires a wide range of knowledge and high communication skills, and has a heavy responsibility, but it can be said that it is worthwhile. Those who are interested should start learning because of the long-standing and stable needs of the occupation.

You may also like

Leave a Comment