Home Computing What is a server engineer? A quick commentary on work content, annual income, future potential, etc.!

What is a server engineer? A quick commentary on work content, annual income, future potential, etc.!

by Yasir Aslam
0 comment

What is a server engineer? It solves the problem of wanting to know the work content, future potential, demand, and annual income. Server engineers are not tolerant of mistakes and are required to have craftsmanship, which some people find tough. This time, I will explain the server engineer in detail in a comprehensive manner.

table of contents

  • 1. What is a server engineer?
  • 2. Skills and appropriateness required for server engineers
  • 3. Is the server engineer tight? Hard work?
  • 4. Annual income of server engineer
  • 5. Future potential and demand of server engineers
  • 6. How to become a server engineer?
  • 7. Summary

1. What is a server engineer?

I will explain what a server engineer is and what kind of work it is.

This time,

  • Server engineer definition
  • What the server engineer does

Let’s look at each one.

1.1 Server engineer definition

A server engineer is an engineer who is in charge of building and managing a system that operates on the server side . For example, in Web applications and various systems, we are in charge of “behind-the-scenes processing that is invisible to the user”.

In the field of Web system development such as Web application development, the engineer in charge of HTML / CSS / JavaScript development is called ” front end engineer “, and the engineer in charge of backside processing is called ” back end engineer “.

There is also an engineer called a server-side engineer , which is called differently depending on the company, but it may be treated as synonymous with server-side engineer = back-end engineer. More specifically, the back-end engineer is in charge of the back side of Web development, and the server-side engineer is in charge of building and managing the system that operates on the server side.
The server side is broader.

The back end is often used by web-based companies and is used for the front end.
On the other hand, the server side is often used by mission-critical companies.

 

See this article for the differences between front-end and back-end engineers.

The difference between a front-end and a back-end engineer. Which role is more important?

 

1.1.1 Differences between server engineers and network engineers

The job of a network engineer is to design, build, operate, and maintain a network, and the main job is to build a network that connects servers, and handles devices such as routers and switches. It is the job of the server engineer to build, maintain, and manage the server that the network engineer connects .

 

1.1.2 Differences between server engineers and infrastructure engineers

Before we talk about infrastructure engineers, let’s talk about what infrastructure is.
Infrastructure is a general term for IT infrastructure, which includes hardware such as networks, computers, and servers, OSs that run on those hardware, and middleware software.
The engineer who handles infrastructure is an “infrastructure engineer”, and the scope of work is broader than that of a server engineer . Network engineers and server engineers are sometimes collectively called “infrastructure engineers,” and the roles of infrastructure engineers span various things such as networks, servers, and hardware.

1.2 What the server engineer does

The work of the server engineer is mainly divided into the following four fields.

  • Server design
  • Building a server
  • Server operation and maintenance
  • System development and operation

Let’s take a closer look at each.

 

1.2.1 Server design

In the design phase, the following items are determined according to the requirements of the system running on the server.

  • Devices such as servers (including selection of CPU, storage area, and memory)
  • OS / Software
  • Settings such as user, disk space, OS parameter values, etc.
  • Operation method and procedure for using the server

Depending on the server environment, determine the number of servers by considering the operating specifications, processing capacity, operation / maintenance performance, communication speed and power supply capacity of the installation location, and select the optimum one.
Especially in the case of a large-scale system, the required specifications for the server and the environmental hurdles for stable operation of the system tend to be high.
In addition, it is necessary to consider the operating cost when designing. For example, if you build a server that is over-engineered for the system scale, there may be a problem that it deviates from the budget, so be careful.

 

1.2.2 Building a server

In the build phase, we will actually build the server based on the design.

  • Assembling and installing the server

In the case of a physical server, we will perform the actual assembly and installation work such as mounting on a rack and connecting cables such as LAN. This does not happen for clouds or virtual servers.

  • OS installation / settings

After installing the OS on the empty server, set the user / area / permission management.

  • Software / middleware installation and configuration

Install, configure, and tune various software, including web servers and databases.

  • test

Check the operation such as starting / stopping the server and operating as expected, and then perform load test, switching test at the time of failure, backup / restore test, etc.
In order to prevent system outages during operation, we perform strict checks at the test stage to support continuous system operation 24 hours a day, 365 days a year.

 

1.2.3 Server operation and maintenance

In the operation / maintenance phase, the following two tasks are the main tasks.

  • Monitoring work

It monitors the system running on the server in cooperation with the engineer on the application side.

  • troubleshooting

Elucidation of the cause and treatment when trouble occurs

In addition to the above, there are the following tasks, some of which are carried out daily and some of which are carried out as needed.

  • Performance tuning to optimize the operating environment of the system
  • Security check, anti-virus measures
  • Daily maintenance work such as backing up files and apps
  • Update work when vulnerabilities are found in devices such as servers, OS, firmware, software, and parts replacement in the event of a failure
  • Checking and replacing equipment and parts after a certain period of time

In order to avoid server down, operation and maintenance work is usually handled 24 hours a day, 365 days a year . In an on-premises environment, there are cases where shift work is required for monitoring work, and recovery work is required day and night when dealing with a failure.

 

1.2.4 System development and operation

In many core companies, on-premises server construction, management, and maintenance are the main tasks, but in Web companies, not only server design, construction, and maintenance, but also database construction and Web application development are performed as the server side = back end. I am often in charge of server-side programming.

2. Skills and appropriateness required for server engineers

There are a wide variety of skills and suitability required for server engineers.
The main skills required are:

  • Basic knowledge about servers
  • Programming knowledge
  • Human skills

Let’s look at each one.

2.1 [Basic] Necessary skills / appropriateness

In order to identify yourself as a server engineer, you must first have basic knowledge of servers.
This time,

  • Server OS
  • Middleware
  • Server virtualization
  • Cloud

Let’s look at each one.

Also, recently, the influence has diminished due to the spread of cloud services such as AWS and GCP, but in old reference books etc., building a LAMP environment is the standard, and AWS may build a LAMP environment. Understanding the LAMP environment will also help you understand cloud services such as AWS and GCP .

 

If you want to know more about LAMP environment, please refer to the following articles.

Is the LAMP environment old? Explaining how to build a LAMP environment on AWS and future trends

 

2.1.1 Server OS

The server OS is roughly divided into three.

  • Windows
  • Unix-like
  • Linux series

For Unix, AIX and Soaris can be mentioned, and for Linux, Red Hat Linux, Ubuntu, etc. can be mentioned.
If you want to become a server engineer, it is a good idea to study deeply about the Linux OS that is often used in business servers. In that case , by aiming to acquire a qualification such as LinuC (Linux engineer certification) , you can acquire knowledge at the same time.

What is “LinuC”? Linux engineer certification exam for the Japanese market

 

2.1.2 Middleware

Middleware is one of the elements that make up a computer, and is the software that is the intermediate part between the application that processes and the OS that controls it. Middleware requires a wide range of knowledge, whether it is commercial middleware or open source.

In particular

  • Web server (Apache, nginx, etc.)
  • Application server (Java EE, IIS, etc.)
  • Database management server (Oracle, MySQL, etc.)

Let’s learn the above knowledge.

 

2.1.3 Server virtualization

Server virtualization refers to operating multiple virtual servers on a single physical server. Specifically, the processor memory of the physical server is divided and allocated to the virtual server for operation .

There are two types of server virtualization methods.

  • Host OS type
  • Hypervisor type

The host OS type is a method of operating another guest OS using virtualization software on the host OS. The hypervisor type is a method of operating multiple guest operating systems on the hypervisor by running virtualization software called a hypervisor on the hardware.

 

2.1.4 cloud

Today, cloud services like AWS and GCP have become widespread. The cloud is “a service that allows users to use services as resources only when they need them through the Internet, even if they do not have infrastructure or software.” The cloud is also known as cloud computing. With the spread of cloud services, there are advantages in that there is no need to build a server on your own and there is no maintenance cost compared to on-premises.

2.2 [System Development] Necessary skills / appropriateness

Server engineers also need knowledge of the programming languages ​​needed for system development.

 

2.2.1 Ruby

Ruby is an object-oriented programming language. There are three reasons why Ruby is suitable for server-side development:

  • Simple and sophisticated code
  • Abundant frameworks and libraries such as “Ruby on Rails”
  • As it is a language developed by Japanese people, there are abundant documents.

Ruby has a lot of useful library frameworks. For example, you can easily implement functions related to login and new registration by using a library called Devise. In addition, it is a language developed by the Japanese, and there are abundant materials in Japanese. Therefore, if you have any questions or errors, it is highly possible that you can solve them immediately by searching the Internet.

 

For more information on Ruby, please refer to the following articles.

[Introduction to Ruby] Introduction of basic knowledge and learning methods for beginners

 

2.2.2 Java

Like Ruby, Java is an object-oriented programming language suitable for server-side development. The reasons why it is suitable are as follows.

  • A highly robust language suitable for developing large-scale systems and business systems.
  • Execution speed is fast because it is a compiler language
  • Extensive library and API

Java has been designed with security in mind from the beginning of development, and is suitable for system development that is highly stable and requires particularly robustness such as banks and securities companies. In addition, Java, which is a compiler language, is characterized by its top-class processing speed.
The library and API are also substantial, and it is developed efficiently by utilizing the library and API according to the purpose such as “OpenCV” for image editing, “JavaFX” for graphics, “date processing” and “database processing” for API. can do.
The Java development environment requires two things: the JDK and the integrated development environment (IDE).

 

The following article shows the procedure from the actual preparation of the development environment to the creation of simple code. please refer.

Getting Started with Java for Beginners

2.3 [Human Skills] Necessary skills / appropriateness

There are two main human skills required to become a server engineer.

  • Absolute accuracy
  • Craftsmanship

Server engineers working on mission-critical business systems and applications are suitable for perfectionists who cannot tolerate any mistakes. Since security is important, accuracy will be required.

If it is a startup system, it is built with a small number of elite members, so speedy development is required. Therefore, it is necessary to have the ability to respond quickly and flexibly to anything .

3. Is the server engineer tight? Hard work?

Is a server engineer a tough and painful job?
The bottom line is that it depends on the given environment .
This time, I will explain the following three cases.

3.1 Depends on upstream process or downstream process

Whether you feel “tight” depends on whether you are designing or building a server in the upstream process or in charge of server operation and maintenance in the downstream process . While the upstream is attractive to be involved in server design based on hearings from clients, the downstream is mainly for monitoring in operation and maintenance. The amount of server monitoring work is small unless a failure occurs. On the other hand, since it is necessary to respond immediately to the occurrence of a failure, it is easy to feel that it is tight, side by side with the anxiety that “I do not know when the server will stop”.

3.2 Depends on cloud or on-premises

In order to quickly respond to a server failure that operates 24 hours a day, 365 days a year on-premises, it is necessary to constantly monitor and respond to the failure. It is difficult to distinguish between on and off due to disability response regardless of night or holiday, and night shift support is also required. The server constantly emits heat, so you need to cool it, and it’s always cold, so it’s easy to get sick.

The cloud is gaining popularity as one of the means to eliminate these disadvantages. AWS
is a typical example, and it tends to be more scalable and available than on-premises environments, and it is easier to reduce initial costs. In addition, AWS can be made redundant so that it can continue to operate stably without degrading system performance even if something goes wrong, making it more fault tolerant. Furthermore, AWS has a service called IAM that allows you to set “authentication” and “authorization”, and you can manage access privileges, which is also safe in terms of security. From the above, it is possible to manage who can access which service, and it is easy to deal with the cause investigation in the unlikely event of a failure by calculating back from the authority.

3.3 Different depending on whether it is a core company or a Web company

Core systems are often associated with major companies such as large corporations and government offices and social infrastructure, and the loss and range of impact in the event of a failure are extremely wide . On the other hand, Web-based companies have a culture of agile development , releasing services one after another on a functional basis and running the PDCA cycle. It’s best not to have a failure, but the risk tolerance is high and it is an environment where trials and errors are relatively easy to repeat. In addition, I am often directly involved in function development, and there are many things I can do. If you want to engage in development with a sense of speed, Web companies are more suitable than server engineers for mission-critical systems, and you often find it difficult to become a server engineer in an environment that does not suit your aptitude.

4. Annual income of server engineer

A server engineer involved in server-related work that plays an important role in the system. How much income can you earn?
I calculated the average annual income of a server engineer from full-time job offers of professional engineers and freelance projects.

Source:
Survey on February 25, 2021 * Calculated from some of the full-time employees owned by professional engineers | Professional engineer
Survey on February 25, 2021 * Calculated from some freelance projects owned by professional engineers |

 

◆ For regular employees
Average annual income: 4.73 million yen

◆ For freelance
Average monthly unit price: 7.2 million yen

Server engineers are a type of IT engineer who can expect a relatively high annual income, but income fluctuates depending on the type of employment and skills. If you have knowledge of cloud servers that
can respond to the rapidly increasing number of companies becoming cloud-based in recent years, or if you have experience building servers with high requirements , you will be able to generate higher income.

* Freelance engineers are different from regular employees in terms of benefits such as pensions, insurance, taxes, and bonuses.

5. Future potential and demand of server engineers

Is there a future or demand for server engineers? Let’s take a closer look.

5.1 Small-scale startup development and mocking may spread server-side absence

In fact, small startup developments and mockups can lead to widespread server-side absences. There is Firebase, which Firebase
started its service in 2011 (* acquired by Google in 2014 and is now operated by Google) . Firebase can entrust the infrastructure part of apps, websites, and web services created by developers. Firebase itself has functions such as data transfer and login function implementation, and you can also create sites that do not use a database as a static site generator.

As a result, attempts to develop without server-side backends are widespread. However, there are also issues with security and maintainability, and there is a danger that development without complete server-side knowledge will exceed the level of personal development. However, if it is a mock development of a startup (a mock to show it to investors and receive investment) or a small beta version development, there is a possibility that development without a server side will spread.

5.2 Continued demand for medium to large scale development

The role of the back end is extremely large for projects that require robustness, projects for companies that have not moved to the cloud, and projects that emphasize security.
In particular, companies that operate huge cloud services with users all over the world are also seeing a return from public clouds to on-premises. This is because there are disadvantages such as unexpected charges being added and the charges being complicated and making it difficult to calculate the total cost.
It is a business that is responsible for the infrastructure of services, and the infrastructure is required to be secure.
Therefore, although serverless may progress in startups, it can be said that server engineers have stable needs over the medium to long term for medium- to large-scale projects .

6. How to become a server engineer?

First, let’s acquire general knowledge of IT and skills to handle server OS.
If you start learning from inexperienced, you often do not have the knowledge and experience of using Linux, which is the mainstream as a server OS. Therefore, it is also recommended to take the LinuC (Linux engineer certification) exam. In particular, Linux is a standard server OS even in the cloud, and when using the command line for application development and operation, it is often compliant with the Linux / Unix environment. In addition to IT technologies such as Linux, we also recommend taking the Applied Information Technology Engineer Examination
, which allows you to acquire the skills required of system engineers such as man-hour management and legal affairs .

 

Please refer to the following articles for LinuC.

The range of questions for LinuC will be revised from April 2020! We interviewed LPI-Japan President Suzuki about the difficulty level and the merits of acquiring qualifications.

Please refer to the following articles for the Applied Information Technology Engineer Examination.

What is the pass rate for the Applied Information Technology Engineer Examination? Summary of difficulty and study time [2018 version]

7. Summary

This time, I explained the definition of server engineer, work content and future potential, demand, annual income, etc.
If you want to become a server engineer from inexperienced, it is a good idea to focus on learning Linux. With the spread of cloud services, serverless computing is progressing, but there are still stable needs over the medium to long term. We hope that you read this article to deepen your understanding of server engineers.

You may also like

Leave a Comment