📝 2019 in review
Năm hết, Tết đến… Thật ra ban đầu mình tính nhắm mắt ngó lơ, không tính tổng kết gì cả. Nhưng nghĩ lại, nếu ai đó đang rầu rĩ đọc bài này xong thấy phấn chấn hơn vì có thấy có thằng năm nay còn nhàm chán hơn. Âu cũng là giúp ích cho đời.
Công việc
Nếu bạn đã từng đọc tổng kết năm ngoái, mình có tóm tắt rằng “2018 đối với mình là năm của công việc”. Ừ, 2019 đối với mình cũng là năm của công việc, vì ngoài làm việc, làm thinh và làm biếng ra, thì mình chẳng biết làm gì khác cả. Dĩ nhiên mình làm biếng nhiều hơn, nhưng ghi “năm của sự lười biếng” thì nghe nó bần quá, không có sang.
Mình làm ở Sing đến nay cũng được gần 2 năm rồi. 2 năm làm việc ở công ty hiện tại, mình cảm thấy khá ok. Phải thú thật là mình thấy rất may mắn khi được làm ở team hiện tại. Sếp tốt, đồng nghiệp giỏi, culture fit, công việc nhiều, í nhầm, thử thách.
Nói về tính chất công việc 2019, ước chừng thời gian cho mỗi loại như sau:
- 50%: CI/CD work
- 25%: engineering work (iOS)
- 10%: features work (iOS)
- 7%: review code người khác
- 5%: đi meeting
- 3%: linh tinh
Đọc đến đây chắc không ít người thắc mắc: bộ CI/CD work nhiều vậy sao? 🤔, hay có nhiều dịch vụ hỗ trợ sẵn hết rồi mà?. Ở bài viết lần trước, mình có tản mạn sương sương về công việc CI/CD mà mình đã làm. Mình dám chắc nhiều người cũng đã đặt ra câu hỏi tương tự. Thật ra cái này tuỳ thuộc vào quy mô của project và đặc thù của từng platform nữa.
- Làm CI/CD work không đơn giản chỉ là setup project cho nó build/test/deploy trên CI, hay setup mấy cái linters.
- Nếu bạn code mấy ngôn ngữ scripting thì sẽ thấy mọi thứ dễ dàng hơn nhiều. Chạy nguyên nùi code và test chỉ trong 1-2 nốt nhạc. Mấy cái packages, dependencies setup thì cứ bỏ hết vào docker.
- Project (iOS) mình làm có codebase khá bự. Trong lúc đợi CI build xong project (~ 10-15m) thì bạn có thể làm được khối chuyện rồi. Chưa kể thời gian chạy tests, bao gồm cả unit tests và UI tests. Một cái UI test thôi chạy cũng khoảng 15-20s rồi. Bởi bà con viết thêm UI tests mà mình đâu có được phép quở trách là “viết nhiều chi cho tests chạy lâu” 😒. Cái pipeline nó chạy hơn cả tiếng đồng hồ thì đâu có ngó lơ được. Công việc cụ thể thì chắc mình sẽ có một (vài) bài viết khác đàm đạo sau.
Bạn thấy đấy, mình là iOS engineer nhưng khoảng 50% thời gian năm rồi mình làm CI/CD work. Nên có thời gian mình cảm thấy mất dần hứng thú với iOS và rơi vào trạng thái cảm thấy bị cô lập.
Năm nay mình ít làm features work hơn so với năm ngoái nên thời gian đi cãi lộn tranh luận với backend/QA/PM cũng ít lại. Riêng đối với mình, những tasks mà cần tranh luận, phản biện, và giao tiếp nhiều rất dễ làm mình trở nên căng thẳng (stress). Mà mình khi căng thẳng thì… à mà thôi. Nhiều lần mình mất bình tĩnh, khiến bầu không khí trở nên nặng nề. Điểm này thì sếp cũng góp ý hoài mà chưa sửa được 😅, chỉ biết cách xách máy ra chỗ khác ngồi để hạ hoả dần.
Một số bạn đồng nghiệp bảo rằng mình thuộc kiểu đòi hỏi tiêu chuẩn cao (high standards). Thật ra mình chỉ hơi khắt khe hơn đối với những cái work mà mình quan tâm thôi. Ví dụ, những cái merge requests (hay pull requests) liên quan đến scripting thì mình sẽ review kỹ hơn bình thường. Code Python 🐍 thì phải code cho nó pythonic chứ không có viết kiểu “Swift in disguise” (dĩ nhiên mình có dành thời gian nghiên cứu xem ở ngoài industry người ta viết như thế nào)…
Ngoài ra, còn một thể loại merge requests mà ít khi bỏ qua là “documentation”. Team mình duy trì một cái “knowledge base” (không biết dịch sao 😓, đại khái là một cái website), tổng hợp những tài liệu kỹ thuật cần thiết để các kỹ sư có thể align với nhau, đồng thời cũng để các kỹ sư mới có thể onboard dễ dàng. Vì nội dung và hình thức của từng bài viết đều phản ánh bộ mặt của team nên mình đành đóng vai phản diện mà đi gieo nghiệp. Ban đầu, mình xét nét từng chi tiết, từ bố cục, wording, lỗi ngữ pháp, cho đến dấu chấm cuối câu. Sau một thời gian, nhận thấy rằng cả reviewer và reviewee đều khổ, mình quyết định hạ tiêu chuẩn xuống, không xét nét nữa. Lúc này, reviewee hết khổ, nhưng reviewer (tức là mình) thì vẫn thấy khổ 😐, vì mỗi nhìn mấy lỗi nho nhỏ vậy là thấy nhột mắt… Cuối cùng thì… không thấy, không khổ 👻. Hổng hứng thú review mấy cái merge requests như vậy nữa. (Tui biết đọc tới đây có nhiều người đánh giá tui thái độ này nọ, mà thôi kệ).
Team mình khá trẻ và năng động. Mọi người ai cũng giỏi và có tinh thần trách nhiệm cao… Chỉ trừ những ngày gặp phải âm binh/cô hồn vãng lai, thì những ngày làm việc ở office, mình đều thấy vui.
Cuộc sống
Nếu mình viết đầy đủ ra thì đọc nó chẳng khác gì nhiều so với review năm ngoái.
Ai hỏi mình tư vấn đi chơi chỗ nào ở Sing là được thì chắc hỏi nhầm người rồi. Mình còn chưa đi Sentosa, chưa tới mấy con sư tử nữa mà. Anh mình cứ quở, bảo sao không đi Úc, Âu này nọ chơi, mà mình cũng chẳng biết giải thích thế nào. Ngay tại lúc đang viết bài này, nơi mà mình đi nhất là “về nhà” 🏡.
Càng ngày bạn bè càng ít dần. Lúc mới qua, bạn đại học của mình hơi bị nhiều. Rồi đứa đi châu này, đứa đi châu nọ, đứa về VN. Ngó qua ngó lại hổng còn ai. Âu cũng là điều tất yếu. We all grow apart!
…
Thôi, tản mạn nhiêu đây thôi, để năm sau còn ý mà xàm tiếp…