คู่มือเริ่มต้นสายงาน Software

icon picker
DevOps / SRE / Platform / Cloud Native Engineer

Collaborators:
@JoJo Jumpbox
@Beau Jumpbox

info

คิดว่าน่าจะดึงข้อมูลจากนี้ได้เลยครับ

สายงานนี้ทำอะไร?

DevOps Engineer:
หน้าที่: มีหน้าที่ในการสนับสนุนทั้งการพัฒนา (Development) และการดำเนินงาน (Operations) โดยมีเป้าหมายในการลดเวลาในการส่งมอบผลงาน (Delivery Time), เพิ่มความถี่ในการส่งมอบ (Deployment Frequency), และเพิ่มความเสถียร (Stability) ของระบบ.
ทำอะไร: การสร้างและจัดการ CI/CD pipelines, การจัดการการส่งมอบโค้ด, การจัดการ infrastructure และการจัดการ configuration.
Site Reliability Engineer (SRE):
หน้าที่: มีหน้าที่ในการให้บริการที่มีความเสถียรและมีประสิทธิภาพ โดยการใช้หลักการของวิศวกรรมซอฟต์แวร์เพื่อจัดการปัญหาที่เกี่ยวข้องกับ operations.
ทำอะไร: การจัดการ incident, การวิเคราะห์ปัญหา, การปรับปรุงระบบเพื่อเพิ่มความเสถียร, การจัดการการปรับปรุงระบบ.
Platform Engineer:
หน้าที่: มีหน้าที่ในการสร้างและจัดการ platform ที่ใช้สำหรับการพัฒนาและการดำเนินงานของ application.
ทำอะไร: การสร้างและจัดการ platform, การจัดการ resources, การจัดการ services ที่ใช้ใน platform.
Cloud Native Engineer:
หน้าที่: มีหน้าที่ในการสร้างและจัดการ application ที่ถูกออกแบบมาเพื่อทำงานบน cloud infrastructure.
ทำอะไร: การสร้างและจัดการ containerized applications, การจัดการ microservices, การจัดการ cloud services.
หมายเหตุ: หน้าที่ของแต่ละตำแหน่งอาจจะแตกต่างกันไปตามองค์กร และบางครั้งหน้าที่ของแต่ละตำแหน่งอาจจะซ้อนทับกัน.

ฐานเงินเดือน?

ฐานเงินเดือนของ DevOps Engineer, SRE (Site Reliability Engineer), Platform Engineer, และ Cloud Native Engineer อาจจะแตกต่างกันไปตามประเทศ, ประสบการณ์, ทักษะ, และองค์กรที่ทำงาน. นอกจากนี้ยังมีปัจจัยอื่นๆ ที่อาจจะมีผลต่อเงินเดือน เช่น การมีการรับรอง (certifications), ความเชี่ยวชาญในเทคโนโลยีที่เฉพาะเจาะจง, และความสามารถในการจัดการทีม.
ช่วงเงินเดือนโดยประมาณ:
DevOps Engineer:
เริ่มต้น: 25,000 - 50,000
ปานกลาง: 50,000 - 100,000
ขั้นสูง: 100,000 - 150,000+
Site Reliability Engineer (SRE):
เริ่มต้น: 25,000 - 50,000
ปานกลาง: 50,000 - 100,000
ขั้นสูง: 100,000 - 150,000+
Platform Engineer:
เริ่มต้น: 25,000 - 50,000
ปานกลาง: 50,000 - 100,000
ขั้นสูง: 100,000 - 150,000+
Cloud Native Engineer:
เริ่มต้น: 25,000 - 50,000
ปานกลาง: 50,000 - 100,000
ขั้นสูง: 100,000 - 150,000+
หมายเหตุ: เงินเดือนที่กล่าวถึงข้างต้นเป็นเพียงการประมาณการและอาจจะมีการเปลี่ยนแปลง. นอกจากนี้ยังควรทำการตรวจสอบข้อมูลเงินเดือนที่เป็นปัจจุบันจากแหล่งข้อมูลที่น่าเชื่อถือ.

ทักษะที่จำเป็น? (Skill Mapping)

DevOps Engineer:
การจัดการ Configuration: ทักษะในการจัดการ configuration ของ software และ hardware.
CI/CD: ความเข้าใจในการสร้างและจัดการ CI/CD pipelines.
การจัดการ Infrastructure: ทักษะในการจัดการ infrastructure ทั้ง on-premises และ cloud-based.
Scripting และ Automation: ทักษะในการเขียน script และการทำ automation.
การจัดการ Version Control: ความเข้าใจในการใช้งาน version control systems เช่น Git.
Site Reliability Engineer (SRE):
การจัดการ Incident: ทักษะในการจัดการ incident และการวิเคราะห์ปัญหา.
การปรับปรุงระบบ: ทักษะในการปรับปรุงระบบเพื่อเพิ่มความเสถียร.
การจัดการ Performance: ทักษะในการจัดการและปรับปรุง performance ของระบบ.
Monitoring และ Alerting: ความเข้าใจในการใช้งาน tools สำหรับ monitoring และ alerting.
Platform Engineer:
การจัดการ Platform: ทักษะในการสร้างและจัดการ platform.
การจัดการ Resources: ทักษะในการจัดการ resources ที่ใช้ใน platform.
การจัดการ Services: ทักษะในการจัดการ services ที่ใช้ใน platform.
การจัดการ Security: ทักษะในการจัดการ security ของ platform.
Cloud Native Engineer:
การจัดการ Containerized Applications: ทักษะในการสร้างและจัดการ containerized applications.
การจัดการ Microservices: ทักษะในการสร้างและจัดการ microservices.
การจัดการ Cloud Services: ทักษะในการจัดการ cloud services.
การจัดการ Orchestration: ทักษะในการใช้งาน orchestration tools เช่น Kubernetes.
นอกจากทักษะที่กล่าวถึงข้างต้นแล้ว ยังมีทักษะอื่นๆ ที่อาจจะจำเป็นตามบทบาทและความต้องการขององค์กร เช่น ทักษะในการเขียนโปรแกรม, ความเข้าใจในการทำงานของ network, และความสามารถในการทำงานเป็นทีม.

เปรียบเทียบอาชีพต่างๆ ในสายงาน

DevOps Engineer:
หน้าที่: มีหน้าที่ในการสนับสนุนทั้ง development และ operations โดยมีเป้าหมายในการเพิ่มความเร็วในการส่งมอบ software และการปรับปรุงความเสถียรของระบบ.
ทักษะที่จำเป็น: ทักษะในการจัดการ configuration, CI/CD, infrastructure, automation, และ version control.
เครื่องมือที่ใช้: Git, Jenkins, Ansible, Docker, AWS.
Site Reliability Engineer (SRE):
หน้าที่: มีหน้าที่ในการจัดการ incident, ปรับปรุงระบบ, จัดการ performance, และการทำ monitoring และ alerting.
ทักษะที่จำเป็น: ทักษะในการวิเคราะห์ปัญหา, ปรับปรุงระบบ, จัดการ performance, และการใช้งาน tools สำหรับ monitoring และ alerting.
เครื่องมือที่ใช้: Prometheus, Grafana, ELK Stack, Python.
Platform Engineer:
หน้าที่: มีหน้าที่ในการสร้างและจัดการ platform ที่ใช้ในการส่งมอบ software และ services.
ทักษะที่จำเป็น: ทักษะในการจัดการ platform, resources, services, security, และ cloud services.
เครื่องมือที่ใช้: OpenShift, Kubernetes, Terraform, Azure.
Cloud Native Engineer:
หน้าที่: มีหน้าที่ในการสร้างและจัดการ applications ที่ออกแบบมาเพื่อทำงานใน cloud environment.
ทักษะที่จำเป็น: ทักษะในการสร้างและจัดการ containerized applications, microservices, cloud services, และ orchestration.
เครื่องมือที่ใช้: Docker, Kubernetes, AWS, Google Cloud Platform.
หมายเหตุ: หน้าที่, ทักษะ, และเครื่องมือที่กล่าวถึงข้างต้นเป็นเพียงแนวทางและอาจจะมีการเปลี่ยนแปลงตามบทบาทและความต้องการขององค์กร.

แหล่งการเรียนรู้

Community Groups, Facebook Page
Jumpbox
.Net Thailand
Code Sanook
DevOps Thailand
Kubernetes User Group
Cloud Native Thailand
สมาคมโปรแกรมเมอร์ไทย

เปรียบเทียบเทคโนโลยีและเครื่องมือในสายงาน

Source Control:
Git: เป็นเครื่องมือที่ใช้สำหรับ version control ที่ได้รับความนิยมอย่างแพร่หลาย.
SVN: เป็นเครื่องมืออีกตัวที่ใช้สำหรับ version control.
Continuous Integration and Continuous Deployment (CI/CD):
Jenkins: เป็นเครื่องมือ open-source ที่ใช้สำหรับ CI/CD.
GitLab CI: เป็นส่วนหนึ่งของ GitLab ที่ให้ความสามารถในการทำ CI/CD.
Travis CI: เป็นเครื่องมือ CI/CD ที่ให้บริการในรูปแบบ cloud-based.
CircleCI: เป็นเครื่องมือ CI/CD อีกตัวที่ให้บริการในรูปแบบ cloud-based.
Configuration Management:
Ansible: เป็นเครื่องมือที่ใช้สำหรับ automation และ configuration management.
Puppet: เป็นเครื่องมือที่ใช้สำหรับ automation และ configuration management.
Chef: เป็นเครื่องมือที่ใช้สำหรับ automation และ configuration management.
Containerization and Orchestration:
Docker: เป็นเครื่องมือที่ใช้สำหรับสร้างและจัดการ containers.
Kubernetes: เป็นเครื่องมือที่ใช้สำหรับ orchestration ของ containers.
OpenShift: เป็น platform ที่ให้บริการ Kubernetes พร้อมกับเครื่องมือเพิ่มเติม.
Cloud Services:
AWS (Amazon Web Services): เป็นผู้ให้บริการ cloud services ที่มีบริการหลายประเภท.
Azure: เป็นผู้ให้บริการ cloud services ของ Microsoft.
Google Cloud Platform: เป็นผู้ให้บริการ cloud services ของ Google.
Monitoring and Alerting:
Prometheus: เป็นเครื่องมือ open-source ที่ใช้สำหรับ monitoring และ alerting.
Grafana: เป็นเครื่องมือที่ใช้สำหรับการสร้าง dashboard สำหรับการแสดงผลข้อมูล.
ELK Stack (Elasticsearch, Logstash, Kibana): เป็นชุดเครื่องมือที่ใช้สำหรับการจัดการ log และการแสดงผลข้อมูล.
Infrastructure as Code (IaC):
Terraform: เป็นเครื่องมือที่ใช้สำหรับการสร้างและจัดการ infrastructure ในรูปแบบของ code.
CloudFormation: เป็นเครื่องมือของ AWS ที่ใช้สำหรับการสร้างและจัดการ infrastructure ในรูปแบบของ code.
หมายเหตุ: เครื่องมือที่กล่าวถึงข้างต้นเป็นเพียงแนวทางและอาจจะมีเครื่องมือเพิ่มเติมที่ใช้งานในสายงานนี้.

คำถามที่พบบ่อย

DevOps Engineer:
คืออะไร: DevOps Engineer คือบุคคลที่มีหน้าที่ในการสนับสนุนทั้งการพัฒนา (Development) และการดำเนินงาน (Operations) โดยมีเป้าหมายในการลดเวลาในการส่งมอบผลงาน, เพิ่มความถี่ในการส่งมอบ, และเพิ่มความเสถียรของระบบ.
ทำงานอย่างไร: โดยการสร้างและจัดการ CI/CD pipelines, การจัดการการส่งมอบโค้ด, การจัดการ infrastructure และการจัดการ configuration.
Site Reliability Engineer (SRE):
คืออะไร: SRE คือบุคคลที่มีหน้าที่ในการให้บริการที่มีความเสถียรและมีประสิทธิภาพ โดยการใช้หลักการของวิศวกรรมซอฟต์แวร์เพื่อจัดการปัญหาที่เกี่ยวข้องกับ operations.
ทำงานอย่างไร: โดยการจัดการ incident, การวิเคราะห์ปัญหา, การปรับปรุงระบบเพื่อเพิ่มความเสถียร, การจัดการการปรับปรุงระบบ.
Platform Engineer:
คืออะไร: Platform Engineer คือบุคคลที่มีหน้าที่ในการสร้างและจัดการ platform ที่ใช้สำหรับการพัฒนาและการดำเนินงานของ application.
ทำงานอย่างไร: โดยการสร้างและจัดการ platform, การจัดการ resources, การจัดการ services ที่ใช้ใน platform.
Cloud Native Engineer:
คืออะไร: Cloud Native Engineer คือบุคคลที่มีหน้าที่ในการสร้างและจัดการ application ที่ถูกออกแบบมาเพื่อทำงานบน cloud infrastructure.
ทำงานอย่างไร: โดยการสร้างและจัดการ containerized applications, การจัดการ microservices, การจัดการ cloud services.
คำถามทั่วไป:
ทำไมต้องใช้ DevOps?
ความแตกต่างระหว่าง DevOps และ Agile คืออะไร?
อะไรคือ CI/CD?
อะไรคือการจัดการ Configuration?
อะไรคือการจัดการ Infrastructure as Code (IaC)?
อะไรคือ Microservices?
อะไรคือ Containerization และ Orchestration?
อะไรคือ Cloud Native?
อะไรคือการจัดการ Incident และการวิเคราะห์ปัญหา?
อะไรคือการจัดการ Performance?
อะไรคือการจัดการ Security ใน Cloud?
อะไรคือการจัดการ Resources และ Services ใน Platform?
คำถามเฉพาะทาง
คุณมีประสบการณ์ในการใช้งาน tools ใดบ้างสำหรับการจัดการ CI/CD?
คุณมีประสบการณ์ในการใช้งาน cloud services ของผู้ให้บริการใดบ้าง?
คุณมีประสบการณ์ในการใช้งาน containerization และ orchestration tools ใดบ้าง?
คุณมีประสบการณ์ในการจัดการ incident และการวิเคราะห์ปัญหาอย่างไร?

Skill Set Mapping with Career Level

DevOps Engineer:
Configuration Management: ทักษะในการจัดการ configuration ของ software และ hardware.
CI/CD: ความเข้าใจในการสร้างและจัดการ CI/CD pipelines.
Infrastructure Management: ทักษะในการจัดการ infrastructure ทั้ง on-premises และ cloud-based.
Scripting and Automation: ทักษะในการเขียน script และการทำ automation.
Version Control: ความเข้าใจในการใช้งาน version control systems เช่น Git.
Collaboration and Communication: ความสามารถในการทำงานเป็นทีมและการสื่อสารที่มีประสิทธิภาพ.
Site Reliability Engineer (SRE):
Incident Management: ทักษะในการจัดการ incident และการวิเคราะห์ปัญหา.
System Improvement: ทักษะในการปรับปรุงระบบเพื่อเพิ่มความเสถียร.
Performance Management: ทักษะในการจัดการและปรับปรุง performance ของระบบ.
Monitoring and Alerting: ความเข้าใจในการใช้งาน tools สำหรับ monitoring และ alerting.
Programming: ทักษะในการเขียนโปรแกรมในหลายภาษา.
Platform Engineer:
Platform Management: ทักษะในการสร้างและจัดการ platform.
Resource Management: ทักษะในการจัดการ resources ที่ใช้ใน platform.
Service Management: ทักษะในการจัดการ services ที่ใช้ใน platform.
Security Management: ทักษะในการจัดการ security ของ platform.
Cloud Services: ความเข้าใจในการใช้งาน cloud services.
Cloud Native Engineer:
Containerized Applications: ทักษะในการสร้างและจัดการ containerized applications.
Microservices: ทักษะในการสร้างและจัดการ microservices.
Cloud Services: ทักษะในการจัดการ cloud services.
Orchestration: ทักษะในการใช้งาน orchestration tools เช่น Kubernetes.
Infrastructure as Code (IaC): ความเข้าใจในการใช้งาน tools สำหรับ IaC เช่น Terraform.
ทักษะทั่วไป:
Programming: ทักษะในการเขียนโปรแกรมในหลายภาษา เช่น Python, Java, Go.
Networking: ความเข้าใจในการทำงานของ network และทักษะในการจัดการ network.
Security: ความเข้าใจในการจัดการ security ทั้งในระดับ application และ infrastructure.
Problem Solving: ความสามารถในการวิเคราะห์และแก้ไขปัญหา.
Teamwork and Communication: ความสามารถในการทำงานเป็นทีมและการสื่อสารที่มีประสิทธิภาพ.
หมายเหตุ: Skill Set Mapping ที่กล่าวถึงข้างต้นเป็นเพียงแนวทางและอาจจะมีการเปลี่ยนแปลงตามบทบาทและความต้องการขององค์กร.
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.