見出し画像

How to find SRE/DevOps Engineers

This is my 1st blog article. On my page, I will mostly post something related to tech recruitment or what I have learned through my job.

・Who am I?
I am a tech recruiter who jumped into the IT recruitment industry as a fresh grad with zero knowledge about it and now works at a recruitment agency in Tokyo.

As a person who doesn't have an IT background, recruiting IT professionals (mostly engineers) is not an easy task since it requires you to be familiar with difficult IT terminologies, each role's responsibilities, development methodology/lifecycle, etc... Understanding/speaking their language is a crucial element to be a good recruiter in terms of assessing applicants' qualifications for clients'/your company's positions.                            
As you can see from the title, in this article, I would like to write about DevOps Engineers. Since DevOps and Machine Learning related roles were the 2 most difficult domains for me to understand. As this is not meant for engineers but for tech recruiters or HR personnel at an IT company, I don't explain all the details of each terminology or idea, but I hope you can learn keywords and tools for SRE/DevOps engineers and make use of it while searching potential candidates on LinkedIn and screening them. 

Here's the overview of this article:
————————————
 1,  What is DevOps? 
 2, What do they actually do?

   3, Key DevOps tools 
————————————

This article will first explain the concept of DevOps, as well as why it’s regarded so important nowadays, and secondly, will draw attention to the key DevOps tools you should pay attention to during LinkedIn search.

1, What is DevOps?
According to Wikipedia, “DevOps is a set of practices that combines software development and IT operations.” In other words, DevOps is a concept designed to make a better product/service where Dev. side (development team) and Ops. side (infrastructure & operations team) cooperate together. Although it is not a job title of specific engineers and actually those who do that job are called "Site Reliability Engineers (SRE)", nowadays a lot of companies use the job title "DevOps Engineer" same as SRE (technically DevOps and SRE are 2 different approaches but you can think they are pretty much the same as a recruiter).
DevOps has gained prominence over the last few years. Big companies such as Netflix and Facebook have been investing in DevOps to scale up their services. Along with the market needs increase, the demand for DevOps engineers has been increasing.

2, What do they actually do?
As I mentioned above DevOps engineers are also known as Site Reliability Engineers hence, their job is to make highly reliable and scalable software systems through automation and unification of processes(workflow and infrastructure).  
Therefore, you can say "Automation of workflow and infrastructure" is their main task.
In order to do that, they are required to use the following tools:

① CI/CD (continuous integration/continuous deployment)tools
② Containers & Orchestration 
③ IaC (Infrastructure as a code)
④ Cloud services
⑤ Scripting Languages 

There are many more tools they use but this time I'd like to list these 5 categories as these are usually the ones that companies mention on job descriptions and hence, are the ones you should look at when searching potential candidates on LinkedIn and screening them. 

① CI/CD (continuous integration/continuous deployment)tools
•CI (continuous integration) is a practice that enables different developers to integrate multiple codes into one. 

Popular CI tools:
・Jenkins
・CircleCI  

•CD(continuous deployment) is an approach where code is deployed into a cloud environment for future usage. It ensures that new changes don't affect software functionalities with frequent and automated deployment. 

② Containers
CD usually comes along with "Containerization" which is the practice of packaging software code. It makes CD easier in the same or another computing environment.

・Docker (Container) 
is a commonly used open source containerization platform.

・Kubernetes (Orchestration)                
Even though docker has many useful features for packaging and distributing containerized apps, Kubernetes comes in handy when moving to scale out services since it helps to get rid of many of the manual processes and automatically coordinate, schedule, and deploy multiple containers so that you can avoid the potential complexities from adding up. Kubernetes and Docker work well together to make your services more "cloud-native".

③ IaC (Infrastructure as Code)
Infrastructure as Code is the process of provisioning and managing infrastructure via code, rather than physical hardware configuration. As infrastructure is defined as code, it allows users to easily edit and configure just like handling application code in SCM (such as GitHub ), and easily take advantage of CI/CD.

Popular IaC Tools: 
 ・Ansible |★★
・Chef
・Terraform 
 ・Puppet

④ The "Cloud"
Next vital tool for DevOps is Cloud services.
The could provides a more flexible, scalable,
and secured environment, and they also come in handy for automation. 

Public cloud providers:
・AWS (Amazon Web Services) | ★★★
・GCP (Gogle Cloud Platform) 
・Azure

With the help of cloud services, IaC allows users to write, test, and descriptively maintain infrastructure using YAML (←no need to remember)

・EC2(Amazon Elastic Compute Cloud): 
EC2 is one of the AWS services and is categorized as IaaS (Infrastructure as a Service). With EC2, you can build virtual servers from the web with just a few clicks instead of building physical servers at the data center.

⑤ Scripting Languages 
Technically, writing code is not a must-have skill as a DevOps engineer. 
DevOps engineers use multiple tools such as the ones I mentioned above to make sure that codes are built appropriately and deployed in the target environment. However, if you look at companies' job descriptions for SRE/DevOps roles, you will realize it is not rare for companies to require SRE/DevOps to have programming language knowledge/experience. Even some require them to have some experience in web services development using certain programming languages. The reason behind it is because it is very helpful if you can modify the existing scripts or write small programs especially for small-sized startups where there are not so many developers and everyone works kind of cross-functionally.
Here are the commonly used scripting languages in DevOps methodology to drive automation.  

・Python.
・Bash
・Golang
・Ruby
・Javascript
=============================


この記事が気に入ったらサポートをしてみませんか?