Quá trình phát triển phần mềm của hoạt động công nghệ thông tin gồm hai giai đoạn chính: phát triển và vận hành. Trong đó, giai đoạn phát triển là phần việc của thiết kế, lập trình viên, quản lý chất lượng... Giai đoạn vận hành có sự tham gia của nhiều thành viên khác như kỹ sư hệ thống, quản trị hệ thống, chuyên viên vận hành, bảo mật...
Thông thường, hai giai đoạn này tương đối tách rời, nhất là ở các công ty có quy mô trung bình trở lên. Sự xuất hiện của DevOps - kết hợp giữa "Development" (Phát triển) và "Operations" (Vận hành) trở thành phương thức tiếp cận mới để thu hẹp khoảng cách giữa hai quá trình này. Từ đó, phần mềm và dịch vụ được cung cấp nhanh, tin cậy hơn.
Ví dụ với một trang thương mại điện tử, bộ phận phát triển có nhiệm vụ xây dựng hệ thống đưa trang vào vận hành, trong quá trình chạy, có những lỗi phát sinh như lỗi ảnh, lỗi giao dịch... cần can thiệp sửa chữa về lập trình. Theo quy trình thông thường, bên vận hành sẽ kết nối, yêu cầu bên phát triển khắc phục các lỗi này. Tuy nhiên, đây là hoạt động mất khá nhiều thời gian, có thể ảnh hưởng tới hiệu quả kinh doanh. Những vướng mắc trên sẽ giảm thiểu khi có các kỹ sư DevOps trực tiếp khắc phục và xử lý.
Với vai trò đó, kỹ sư DevOps trở thành một trong những vị trí được săn đón hiện nay. Trên thế giới, mức lương trung bình dành cho công việc này dao động từ 115.000 USD đến 140.000 USD mỗi năm. Tại Việt Nam, nhiều công ty công nghệ đăng tuyển vị trí này với mức lương từ 2.000 tới 4.000 USD một tháng.
Để trở thành kỹ sư DevOps, trước hết, bạn nên tìm hiểu kỹ về DevOps để nắm chắc tính chất công việc. Tiếp đến, bạn có thể lên các trang web tuyển dụng đọc mô tả công việc, từ đó, biết những kỹ năng, xu hướng dùng công cụ (tool) cho vị trí này.
Về mặt kiến thức công nghệ, kỹ sư DevOps không cần phải là một nhà phát triển phần mềm, nhưng khả năng viết script và hiểu code trong nhiều ngôn ngữ máy tính như Ruby và Python là một yêu cầu quan trọng.
Các công cụ như Jenkins và CruiseControl cũng khá quen thuộc với họ. Bên cạnh đó, các kỹ sư cũng cần hiểu những quy trình CI và phân phối liên tục (Continuous Delivery - CD), cách tiếp cận DevOps sử dụng các công cụ tự vận hành cơ sở hạ tầng như Puppet, Ansible, SaltShack và Chef để đẩy nhanh tốc độ một số quy trình thủ công trước đó.
Một số kỹ năng mềm cần có của kỹ sư DevOps:
Khả năng giao tiếp và cộng tác: Đây là những kỹ năng quan trọng giúp kỹ sư giao tiếp hiệu quả với các bên liên quan và hiểu những thách thức hiện tại cũng như bố cục toàn cảnh trong tổ chức.
Tính linh hoạt: Giữ trạng thái bình tĩnh, xử lý các công việc linh hoạt là một trong những chìa khóa thành công của kỹ sư DevOps.
Khả năng đưa ra quyết định: Trong môi trường bận rộn, khả năng đưa ra quyết định đúng một cách nhanh chóng, trong khi vẫn ghi nhớ các mục tiêu lớn là điều mà các nhà tuyển dụng tìm kiếm.
Hiện nay, nhu cầu tuyển dụng kỹ sư DevOps rất lớn, từ các công ty ở mức trung bình cho tới những tập đoàn lớn. Nếu đáp ứng được những yêu cầu của nhà tuyển dụng, bạn sẽ có nhiều cơ hội để phát triển trong tương lai.
Trần Quốc Tuấn
Thạc sĩ Khoa học máy tính, Mentor ĐH Trực tuyến FUNiX
Các bạn trẻ muốn tìm kiếm cơ hội trong ngành công nghệ thông tin có thể theo học tại ĐH trực tuyến FUNiX. Nhờ kiến thức là các bài giảng quốc tế và đội ngũ mentor kèm cặp là các chuyên gia đang làm việc tại những công ty công nghệ Việt Nam và thế giới, sinh viên FUNiX có cơ hội học nhanh, sớm ra trường đi làm.
Tìm hiểu về chương trình và phương pháp học FUNiX tại đây.