11/09/2018, 16:28

System Engineer là gì? Dễ mắc sai lầm gì?

“System Engineer là người quản lý toàn bộ môi trường IT của doanh nghiệp.” Đọc bài phỏng vấn của ITviec v ới anh Nguyễn Hữu Hạ, Lead System Engineer, của Novobi để biết được: System Engineer là gì? Nhiệm vụ chính của System Engineer Sai lầm anh đã từng mắc phải khi làm ...

system-engineer-la-gi-1

“System Engineer là người quản lý toàn bộ môi trường IT của doanh nghiệp.”

Đọc bài phỏng vấn của ITviec v ới anh Nguyễn Hữu Hạ, Lead System Engineer, của Novobi để biết được:

  • System Engineer là gì? Nhiệm vụ chính của System Engineer
  • Sai lầm anh đã từng mắc phải khi làm System Engineer
  • Các tài liệu hữu ích cho System Engineer

Chào anh Hạ! Anh đến với công việc System Engineer như thế nào?

Mình tốt nghiệp Khoa Khoa học và Kỹ thuật Máy tính của Đại học Bách Khoa TP.HCM năm 2012.

Vốn yêu thích system nên tháng 9/2012, mình bắt đầu công việc của một Associate System Engineer tại VNG.

Sau khoảng 1,5 năm, mình được “lên level” thành System Engineer (cười). Ở VNG, mình học được quy trình làm việc bài bản của một công ty lớn và một nền tảng kỹ thuật rất tốt đối với một System Engineer.

Đến tháng 7/2015, mình chuyển sang làm việc ở TTV Online (một công ty chuyên phát hành game online) với vị trí Lead System Engineer. Ở đây mình có thêm cơ hội (và thử thách (cười)) khi được làm việc với các thiết bị physical như server và switch ở data center.

Tháng 3/2016, mình chuyển đến MySquar và làm mảng phát hành game với vị trí Senior System Engineer. Do team mới được thành lập, nên mình kiêm nhiệm khá nhiều việc. Trong năm đầu tiên, mình vừa làm System Engineer, vừa làm Data Engineer. Sau này khi team mở rộng, mình được lên làm Lead ở cả 2 mảng System và Data.

Tháng 9/2017, mình đầu quân cho Novobi với mong muốn nâng cao kỹ năng giao tiếp tiếng Anh và tiếp cận môi trường làm việc nước ngoài.

Ở Novobi, lúc đầu mình cũng làm Senior System Engineer trước khi trở thành Lead System Engineer và làm công việc này cho đến nay.

Anh có thể định nghĩa System Engineer là gì?

System Engineer cơ bản là người quản lý toàn bộ môi trường IT của doanh nghiệp.

Có thể chia System Engineer theo nhiều cách khác nhau, chẳng hạn như chia theo đối tượng phục vụ:

System Engineer quản trị các thiết bị cho lĩnh vực văn phòng: máy tính, máy in, mail servers…

  • System Engineer quản trị cho các hệ thống phục vụ end-user.
  • System Engineer quản trị hạ tầng, đảm bảo hệ thống server, network ổn định cho các System Engineer khác.

Thường thì một ngày làm việc của anh sẽ như thế nào?

Thường buổi sáng mình sẽ check mail và họp với Product team hoặc Development team để xem các vấn đề còn tồn đọng cần xử lý hoặc có gì mới cần triển khai.

Sau đó, mình sẽ thực hiện các task đã được lên kế hoạch trước đó, chẳng hạn như khởi tạo hệ thống mới cho khách hàng, backup monitor, hoặc cấu hình thêm cho khách hàng.

Ngoài ra, team mình có hệ thống monitor 24/7 được báo qua điện thoại và email, nên bất kể thời điểm nào mình cũng cần phải sẵn sàng để xử lý sự cố.

Ví dụ, nếu website của khách hàng bị treo trong một vài thời điểm, mình cùng với các bạn Developer sẽ tìm kiếm nguyên nhân.

Đầu tiên, mình sẽ kiểm tra các tool monitor xem các thông số liên quan đến CPU memory và đĩa có gì bất thường hay không.

Nếu mọi thứ ổn, mình sẽ kiểm tra đến database. Chẳng hạn như có câu query nào chạy chậm không, bị locked hay không.

Việc này thực ra là của Database Administrator (DBA), tuy nhiên không phải công ty nào cũng có DBA nên mình phải kiểm tra.

Nếu database cũng ổn, mình sẽ cùng Developer review đến code.

Trước đây System Engineer thường không thích code. Tuy nhiên, System Engineer thời đại ngày nay nên biết code ít nhất một ngôn ngữ. Khi bạn biết một ngôn ngữ, bạn có thể hiểu một phần code của ngôn ngữ khác vì các ngôn ngữ có sự tương đồng với nhau.

Ví dụ, bạn biết PHP ở mức độ đọc hiểu hoặc viết được, thì khi đọc qua code của Java hay Python, bạn sẽ thấy được vấn đề, chẳng hạn như: Sao logic code chỗ này bị lặp vô tận, có lỗi ở chỗ này.

system-engineer-la-gi

Sai lầm lớn anh từng mắc phải trong công việc System Engineer là gì?

Sự cố này xảy ra ở công ty cũ, lúc mình vào công ty được có vài tháng.

Lần đó mình muốn shutdown một con server. Sau khi nhìn một số thông tin sơ bộ trên dashboard (mình dùng tool quản lý giao diện server) thì mình shut down.

Vài phút sau, tool monitor báo qua email server bị down là một server khác. Mình rất run và toàn thân đổ mồ hôi hột.

Mình nghĩ: “Trời ơi, là nhân viên mới của công ty, chưa đóng góp được gì nhiều thì đã shut down nhầm server rồi.”

Cũng may là sếp mình không khiển trách la mắng gì. Nhưng mình hiểu, mình quá bất cẩn và đối với một System Engineer, việc service bị down trong vòng vài phút là một vấn đề lớn.

Từ sự cố này, mình rút ra bài học xương máu là không bao giờ được phép dùng tool quản lý giao diện server để shut down nữa.

Thay vào đó, mỗi lần muốn shut down một con server, mình phải truy cập vào nó để xem host name của nó là gì, IP address là gì, service là gì, có đúng thông tin của con server mà mình muốn shut down hay không rồi mới shut down.

Những resource nào anh thấy có ích cho nghề System Engineer của mình?

1. Beginning Windows System Administration : Đây là khóa học cơ bản về Windows có chất lượng tốt trên Udemy

2. Fundamentals of Unix and Linux System Administration : Là khóa học cung cấp nền tảng quản trị hệ thống Unix và Linux cơ bản trên Udemy

3. Google Cloud Platform (GCP) – For Techs: Khóa học cơ bản về Google Cloud trên Udemy

4. Góc IT: Chia sẻ kiến thức tin học opensource, Linux, VMWare

5. serverfault.com: Website hỏi đáp dành cho System Admin

6. highscalability.com : Trang này có nhiều bài viết cơ bản và nâng cao thú vị trong việc xây dựng hệ thống.

Bạn có thắc mắc gì về nghề System Engineer này? Hãy bình luận và chia sẻ ở dưới cùng cộng đồng Developer chất của ITviec nhé!

0