Cái giá của “Developer of the year”

Cái giá của “Developer of the year”

July 15, 2021 1 By Nam Vu

Đây là bài viết đáng lẽ ra mình có thể đăng vào hồi đầu năm, thời điểm khi nhận được sự vinh danh này. Do khá ngại việc cho đó là khoe khoang đánh bóng bản thân nên mình đắn đo có nên publish bài viết này hay không.

Có thể đây chẳng là gì hết so với những anh chị ở ngoài kia và cũng có lẽ đây chỉ là một điều nhỏ nhoi mà mình đạt được trong năm 2020 đầy khó khăn. Mình xin gọi là chia sẻ cảm nhận và những khó khăn đi liền với sự vinh dự này xem như đây là đôi ba dòng tâm sự của một lập trình viên “nghiện việc”.

Đầu tiên phải nói là cơ hội luôn hiện hữu khi ta sẵn sàng

Phải kể đến dự án trước đó của mình là một dự án gặp rất nhiều khó khăn và thất bại. Khi cả một team xung đột giữa các thành viên nội bộ với nhau, để rồi dự án chính thức fail khi khách hàng chấm dứt hợp đồng và giải tán team. Một team size rất lớn với gần 40 người mới chỉ offshore (Team bên công ty việt nam nhận outsource và làm việc cùng với team bên công ty nước ngoài là onshore). Nguyên nhân giải tán thì có rất nhiều và mình nghĩ không nhắc lại ở đây nhưng nó đã là một tiền đề cho dự án mới và chuyến công tác HCM dài ngày của bản thân mình. Khi còn trong dự án cũ, quá trình đó mình khá stress và dường như muốn nhảy việc, không phải là chán công ty mà là chưa thấy con đường phía trước của mình tới đâu, dự án thì chạy được một năm mà cứ dậm chân tại chỗ hoài. Thời điểm đó chính là thời điểm bài viết “Ổn định không phải là làm mãi ở một nơi, mà đi đâu cũng làm được!” và bài viết “Khi tôi nói với sếp chuyện mình đi phỏng vấn?” ra đời, bạn có thể đọc lại để hiểu cảm xúc lúc đó của mình. Tất nhiên là phải vài tháng sau khi chuyển qua dự án mới mình mới dám đăng, một phần là do để tránh ảnh hưởng tới dự án khi đang làm, một phần là do dự án mới khiến mình không còn thời gian để review và đăng bài.

Quay lại câu chuyện mình muốn nghỉ việc tại thời điểm đó thì mình được Line Manager lên gặp nói chuyện chơi chơi, kiểu như anh ý cũng nghe đâu đó hay đoán được thì phải. Sau khi dãi bày ý kiến thì anh ý rào mọi thứ để kéo mình vào dự án mới sau dự án vừa rồi. Nào là em đã từng học và làm việc ở Sài Gòn phải không? Anh thấy có vẻ em thích và hợp với môi trường trong đó? Với career path và sở thích tìm hiểu công nghệ mới của em thì anh có dự án mới này phù hợp với em. Sau khi trình bày một loạt các keyword công nghệ mới thì mình cũng khá hứng thú thật, phần nữa là do đang chán công việc lúc đó thế là mình okay một tiếng. Thử thách bắt đầu từ đó.

Thách thức quá nhiều liệu khiến chúng ta dễ dàng bỏ cuộc

Khi nhận lời vào dự án mới thì mình vẫn còn đang dở dang deliver những tính năng cuối cùng của dự án cũ nên không có thời gian tham gia training công nghệ do 2 anh SA trong Sài Gòn bay ra Hà Nội training. Đây chính là điều bỏ lỡ đầu tiên. Cũng khó trách vì trách nhiệm dự án cũ đâu đã hết, vậy nên mình chỉ tiếc thôi chứ không phải là quá đặt nặng vấn đề được training hay không. Thế rồi ngay sau ngày kết thúc dự án cũ, anh TA ngoài Hà Nội của dự án mới ném cho mình codebase framework tham khảo, và một list dài, phải nói là rất dài technical stack của dự án mới. Dù là đã được nói trước nhưng tất cả đều mới so với mình ở thời điểm đó, trừ duy nhất một thứ đó là cùng hệ ngôn ngữ dotnet mà thôi. Cơ mà không hiểu sao nhìn vào danh sách đó lại thấy động lực muốn học, toàn công nghệ hay ho mà mình muốn tìm hiểu từ trước mà chưa có cơ hội. Vì không qua training và team mới có 6 thành viên dev có thời gian 2 tuần ở Hà Nội làm quen, tìm hiểu công nghệ, nền tảng, và xây dựng codebase khiến mọi thứ trở nên khó khăn hơn nhiều, rất nhiều là đằng khác. Cộng thêm vào đó thì anh TA nói rằng với công nghệ này đối với anh cũng mới, anh chỉ có kinh nghiệm tương tự, còn mọi thứ anh em cùng nhau vừa tìm hiểu vừa làm. Dự án thì fixed price (chắc ai làm outsource cũng hiểu nỗi khổ này), một khi vào dự án kiểu như này thì không có estimate tasks, dự án nhận nguyên gói, giá tiền nhiêu đó, khối lượng tính năng thì chỉ là ước chừng đầu mục lớn, không chi tiết, thời gian bàn giao thì cố định không đổi, công ty muốn sắp xếp làm sao thì làm. Vậy là thử thách về công nghệ, về thời gian, về kinh nghiệm, về tính chất dự án, tất cả như dồn hết lại chỉ với 2 tuần chuẩn bị với 6 anh em siêu nhân trước khi vào Sài Gòn công tác dài ngày (phải nói đây là dự án hợp tác giữa team HN và SG của công ty mình). Overtime là điều chắc chắn mà ngay từ đầu nhận được bảng số liệu ước tính thời gian và tính năng cùng với team size là đã biết và xác định rồi. Chưa kể do công nghệ mới nên toàn tranh thủ đến khuya để đọc tài liệu, để ban ngày có thể tập trung code trơn tru.

Gián đoạn công việc freelancer

Không giấu gì chứ mình vẫn làm thêm vào buổi tối với một dự án freelancer khác từ trước đó. Có lẽ đó là cảm hứng cho bài viết “Đừng nghiện công việc, hãy tận hưởng cuộc sống“😄 . Thời gian vào dự án mới trên công ty lại sấp mặt với đống công nghệ và tasks kia trên công ty, mình không còn đủ sức để chạy dự án thứ 2 nữa. Tuy nhiên mình vẫn tranh thủ họp hành với anh em dự án đó nhưng vấn đề này không duy trì được lâu khi quỹ thời gian của mình dường như không còn. Mặc dù ngủ rất ít vào thời điểm đó. Về sau thì mình bàn giao và dừng hẳn công việc freelance này để tập trung cho dự án mới trên công ty. Mặc dù overtime dự án mới thì không lương, còn freelancer thì có thêm thu nhập, đành vậy chứ sức người mà cứ đâu phải máy. Đây cũng được coi như mà một sự đánh đổi cho cái vinh danh đầu bài mình nhắc tới.

Chuyến công tác dài ngày với mấy lần dời plan quay về

Sau 2 tuần mày mò và xây dựng codebase thì team mình bay vào trong Sài Gòn với kế hoạch 5 tuần rồi quay trở ra. Vào HCM thì mình cũng không lạ lẫm gì nữa do trước đó ở dây cũng lâu rồi. Chỉ là dù có nhiều mối quan hệ, quen biết nhiều, bạn bè nhiều nhưng lại không có thời gian mà đi thăm họ, kể cả buổi tối và thứ 7 hay chủ nhật. Overtime! Đây là một dự án kết hợp team của 2 miền và cũng là dự án đầu tiên mà mình thấy có số lượng role toàn cấp cao như vậy, 2 Senior Solution Architect, 1 Solution Architect, 2 Technical Architecture, 1 Line Manager, 1 Delivery Manager, 1 Engagement Manager , 5 Project Manager,  5 Senior Backend (trong đó có mình), 5 Senior Frontend, 1 Team lead Mobile, 4 Senior Mobile, 1 Pricipal Database Analysis, 1 Pricipal Business Analysis, 2 Senior Business Analysis, 1 Team Lead Quality Control (QC), 6  Senior QC. Một con số cực khủng mà lúc đó mình không hiểu sao dự án có tiền trả cho một loạt cán bộ cấp cao như thế, chưa kể giai đoạn cuối còn nở ra thêm nữa. Do nhiều anh chị lão làng, nhiều kinh nghiệm và giỏi, phải nói là rất giỏi nên mình học được rất nhiều thứ trong thời gian này. Tuy nhiên dự án như bị sóng lớn, nó bị dời 4 lần giai đoạn đầu vì trễ hạn mặc dù cả team OT ngày đêm và cuối tuần. Nguyên nhân thì rất nhiều, issue chồng issue khách không chỉ về mặt công nghệ mà còn về các tổ chức, yêu cầu khách hàng, thay đổi yêu cầu, và những contract trong thế giới ngầm của lãnh đạo với khách hàng. Mình quan sát được và học hỏi được cách những anh chị cấp cao giao quyết từng vấn đề. Nể và thấy may mắn, mặc dù vẫn sấp mặt và tụt cân liên tục😞. Lúc đầu là 5 tuần, sau là 2 tháng, rồi 3 tháng, rồi 6 tháng lúc nào không hay. Mọi người được phép xin về thăm nhà với số lượng tối đa 3 lần bay ra vô. Cơ mà mình lúc đó chỉ nghĩ đến công việc nên mình ở lại. Xui thay, dịch bùng phát, mình kẹt luôn lại ở Sài Gòn sau lần thứ 1 về quê xong trong khi mọi người team HN còn lại thì kẹt ở Hà Nội (chính xác là về quê mà không trở vào được). Cảm giác bị bỏ lại còn mỗi mình nó thấu gì đâu, may sao trong SG còn có bạn bè.

Muốn bỏ cuộc

Vì mức độ công việc quá căng nên anh em trong dự án lần lượt ra đi, không phải là nhảy dự án khác mà là nghỉ hẳn ở công ty luôn, kiểu như đi rồi sẽ không gặp lại. Không biết có phải do dịch hay mức độ công việc và offer công ty khác quá cao với đội ngũ core team này hay không nhưng đỉnh điểm số lượng người rời đi trong team lên đến hơn 1 nửa. Tự nhiên gần 40 con người mà out công ty hơn nửa thì chắc đây là thiệt hại quá nhiều cho công ty rồi.  Tất nhiên là không phải nghỉ cùng một lúc mà rải rác và có thời gian load thêm người mới vào, cái khổ là tiếng dữ đồn xa, các đồng nghiệp trong công ty không ai dám vào nữa vì khối lượng công việc quá căng. Lúc đó mình bắt đầu giao động. Cảm giác còn một mình của team Hà Nội nó nản thôi rồi và sau này có anh TA back trở lại Sài Gòn cùng mình mới bớt được cảm giác muốn nghỉ. Dịch dã, hàng quán đóng hết cửa, khách sạn thì không có đồ ăn, chỉ còn mỗi CicleK bên cạnh đóng tháng thì bạn hiểu cảm giác của mình lúc đó ra sao?

Giai đoạn tăng hiệu suất và bảo trì hệ thống

Sau một loạt những khó khăn thì có lẽ mình là người trụ lại được lâu nhất, có lẽ là tinh thần trách nhiệm, hay là vẫn còn thấy điều mình còn học chưa hết nên mình còn kiên trì bám lại. Điều gì đến cũng đến, khi này đúng còn mỗi mình trong team dev BE thật. Dự án đốt tiền quá nhanh nên cắt hết, mỗi role giữ lại duy nhất một người và trong đó Backend thì còn mỗi mình mình. Trước đó thì sau khi đo lường hệ thống thì hiệu năng hệ thống không đạt nên phải optimize 3 đợt mới gọi là tạm tạm. Khi này có 2 anh SSA và TA trong HCM đảm nhận chính việc nghĩ giải pháp tăng hiệu suất này và mình là chân sai vặt thực hiện những giải pháp đó, do hệ thống lớn và thử rất nhiều cách nên có lẽ đây là thời gian mình học được nhiều thứ trước giờ mình chưa bao giờ gặp nhất. Thử các giải pháp, mình không quên hỏi nguyên nhân, lý do tại sao các anh ý đồng thời ghi chú hết lại. Khá may mắn nhưng mà áp lực cực kỳ cao khi còn mỗi mình, việc gì cũng đến tay. Issue thời gian này cũng nhiều, mà toàn thứ khó, cái khó luôn để cuối cùng mà. Rồi giai đoạn 1, 2, 3 của đợt optimize performance cũng qua dần, sóng gió cuối cùng là security test, ôi lại bug về bảo mật, lại nhức nách cùng 2 anh SA. Cuối cùng thì mình cũng xin ra được ngoài Hà Nội làm việc tiếp do bớt dịch và ở lại lâu quá không về thăm nhà rồi. Ra hà nội thì vẫn lên công ty một mình support hệ thống thôi nhưng áp lực giảm dần, và mình tự tin về hiểu biết của mình về hệ thống hơn. Kiểu như thuộc code rồi, nhắm mắt cũng chỉ được chỗ nào làm chức năng gì mặc dù các chức năng đó trước mình không phải là người viết ra nhưng do fix bug và optimize code quá nhiều nên rành rọt hết từng ngõ ngách, trace bug nhanh hơn, đoán và nhận viết issue dễ dàng hơn. Và ngày quả chính được thu hoạch đã tới, bàn giao và nghiệm thu thành công với mình là người dev duy nhất còn sót lại khi FE, mobile và QC cũng bay hết trơn. Đây là thời điểm 2 bài viết “Đừng để vào công ty nào đó chỉ để tồn tại” và  “Đi đâu cũng dễ, cái khó là ở lại đâu thật lâu” ra đời. 

Vậy đó, một dự án đầy khó khăn, thử thách và cũng không ít điều mà mình đã học được. Nó cũng là một trong những dự án tiêu điểm của công ty trong năm 2020 vừa qua mà dường như ai trong công ty cũng biết đến nó. Điều gì đến cũng đã đến, cuối năm 2020 đầu năm 2021 thì mình được đề cử “Developer of the year 2020” như trên tiêu đề. Xứng đáng với nỗ lực đã bỏ ra, nhưng cái mà mình học được còn nhiều hơn thế. Kiến thức, kinh nghiệm, bài học, mối quan hệ, kỹ năng mềm, dường như đó là sự trưởng thành rất lớn sau một năm vừa rồi. Mình vẫn nhớ một câu của anh SSA trong bàn nhậu lúc chia tay, “Với công nghệ em này, em có thể sống tốt trong vòng 3 đến 5 năm tới”, chưa chắc anh không nhớ nhưng dù sỉn em vẫn có thể tiếp thu kiến thức😄

Trên đây là những tâm sự của mình trong một năm đầy khó khăn vừa rồi. Và đây cũng là lời cảm ơn chưa phải lần sau cuối tới các anh chị đã giúp đỡ trong quá trình làm việc cũng như học hỏi vừa qua. 

Thân ái!

P/s: Ai muốn apply vô Nashtech thì liên hệ mình nhé😄 (tất cả các level)

#ntechdevelopers