Skip to main content

Cái giá của 2 giờ đầu - hơn 60k

2h

Khi đi làm, giữa muôn vàn công nghệ phức tạp xung quanh, một người làm đủ "cứng" có thể ứng biến dễ dàng:

  • muốn tạo 1 máy ảo và cấu hình mạng dùng terraform? copy file .tf đã tồn tại và sửa một chút cho phù hợp yêu cầu.
  • muốn deploy 1 service với Salt/Ansible? copy các file yaml/role có sẵn rồi sửa một chút cho phù hợp với yêu cầu.
  • muốn deploy 1 service trên Kubernetes? copy file .yaml có sẵn trong "mono repo" của công ty rồi sửa lại chút chút cho phù hợp yêu cầu.
  • muốn thêm 1 endpoint cho website Django/flask? copy function đã có trong cùng file và sửa lại một chút cho hợp với yêu cầu.
  • muốn thêm 1 alert trên Prometheus/Alertmanager? copy vài dòng trong file yaml cấu hình rồi sửa lại một chút cho phù hợp yêu cầu. ...

Mất bao lâu để "làm chủ", "master" các công nghệ bôi đậm nói trên? Không hề ít thời gian và công sức! Vậy làm sao mọi lập trình viên/devops ngày nay đều yêu cầu phải biết cơ bản những thứ này? làm sao họ làm được? đi đường tắt: copy/paste.

Copy/paste trap

Khác với các sinh viên, có cả năm để học 1 môn, hay các "junior" có cả tháng tìm hiểu và "học việc", thì những người làm lâu năm được kỳ vọng nắm được những thứ trên trong vài ngày/tuần, và khi copy/paste + 1 chút search có thể hoàn thành công việc rồi lại chuyển qua thứ khác, khiến họ dễ mắc phải bẫy "YAML/TF engineer" - hiểu nôm na và biết copy/paste.

Local knowledge

Nếu làm công ty nhỏ, 1 người có thời gian xây dựng cả hệ thống từ đầu, làm những công việc như:

  • tạo 1 project từ đầu "manage.py startproject"
  • setup CI/CD, config GitLab/Jenkins, etc...
  • cài đặt terraform + terraform enterprise/S3 state management
  • tạo cloud Virtual Network/VPC, chia subnet, config route...
  • setup Kubernetes cluster, config ServiceAccount/Role, ...
  • ...

Thì ở các công ty lớn, mỗi người chỉ nắm 1 phần nhỏ, với các hệ thống đã dựng sẵn, và nếu không có kinh nghiệm từ trước, thì họ chỉ có kinh nghiệm "từ ấy".

Rocket 2 giờ

Giải pháp để tránh bẫy hiểu biết cục bộ hay "get shit done" này là dành 2 giờ đầu (hay 4, hay nhiều hơn, trong phạm vi có thể) để hiểu từng công nghệ, tự setup theo tutorial của công nghệ ấy. Việc đầu tư chút thời gian này sẽ có giá trị rất cao về sau... đặc biệt là trong các cuộc phỏng vấn.

Chuyện này chẳng có gì mới, bài học kinh điển của những người "tiết kiệm thời gian", không đọc kỹ document, để rồi mất hàng tháng/tuần/ngày để debug về sau.

Kết luận

Giành vài giờ tự setup từ đầu theo tutorial trước khi dùng 1 công nghệ sẽ mang lại lợi ích lớn về sau.

Hết.

HVN at http://pymi.vn and https://www.familug.org.

Ủng hộ tác giả 🍺

Comments

Popular posts from this blog

Tài liệu và hướng dẫn học Python

Để tiết kiệm thời gian, tốt nhất là đi học PyMI Updated: 130617 Sau đây là các tài liệu khuyên dùng: Vì nhiều lý do, nên học python2.7 tại thời điểm hiện tại (giờ là tháng 6/2013 - muốn biết tại sao thì tự tìm hiểu) python 3.5+ (giờ là tháng 2/2017) Chuẩn bị: 1. biết bật tắt máy 2. biết cài python 3. tập gõ 10 ngón - gõ 2 ngón hay 1 ngón cũng không sao, nhưng 10 ngón là cách dễ nhất để gõ nhanh nhất. Tài liệu - Nên dùng tài liệu tại trang chủ của Python làm chính, tham khảo thêm các tài liệu khác tại http://www.familug.org/2016/12/free-ebook.html Căn bản, mới học 1.1 Python PyMI.vn https://pymi.vn/tutorial/ 1.2. Python offical tutorial kết hợp làm bài tập trên HackerRank  (đề bài bằng tiếng Anh, nhưng Google translate 1 lúc cũng ra vì có nhiều ví dụ mẫu đi kèm). Học viên của Pymi.vn có rất nhiều học viên đã tự học với Learn Python the hard way nhưng chưa thấy ai thành công cả. Hai link dưới nên đọc sau khi đã nắm được những phần cơ bản của ngôn ngữ pytho...

The PyMiers

New FAMILUG