TỰ SỰ CỦA MỘT GÃ TỪ BỎ LẬP TRÌNH WEB NÓI CHUNG VÀ LẬP TRÌNH NÓI RIÊNG

TL;DR Một gã junior dev tưởng tượng mình nhảy lầu tự tử để kết thúc tất cả vì quá áp lực bởi một dự án nhỏ. Cuối cùng, đã quyết định từ bỏ sự nghiệp.

Tôi đã từ bỏ lập trình chỉ sau 1 năm làm developer. Đây chính xác là một bài diễn văn dài, kể lể về việc tôi đã chối bỏ bản thân như thế nào ngay khi tôi manh nha ý nghĩ tự làm đau bản thân mình lần đầu tiên trong đời.

Tôi chỉ mới tốt nghiệp vào năm 2017. Đồ án tốt nghiệp của tôi là một game thực tế ảo sử dụng Unity. Cái đồ án đó đã giúp tôi kiếm được việc, và tôi được công ty sắp xếp để tham gia viết một cái Unity app cho dự án mà công ty đang được thuê. Nó chỉ là một project nhỏ bên lề, chứ không phải cái project chính, và phần lớn project tôi được giao có thể hoàn thành trong khoảng từ 3 tới 5 tuần, nhưng đoán xem, tôi dành tận 6 tháng để làm, bởi vì… Ờ thì lúc vào làm, tôi đã nói với sếp là tôi là một Unity dev, và vì công ty không có project nào đang chạy bằng Unity, nên tôi là đứa duy nhất mắc kẹt ở đây, cứ lặp đi lặp lại việc bảo trì và thêm thắt những tính năng mới lẻ tẻ cho khách hàng. Thực sự tôi đã quá ngây thơ khờ dại khi chờ mong một trong những ông sếp lão làng của tôi sẽ hướng dẫn tôi đôi chút khi làm, vì tôi là lính mới mà.

Sau 6 tháng, tôi vô cùng lạc lối, cô đơn, bơ vơ lạc lõng và cảm thấy tôi chẳng học được cái quái gì từ công việc này. Đứa bạn vào công ty cùng thời điểm với tôi đã nhảy sang dự án khác rồi. Ờ thì trước khi nó chuyển sang dự án khác, nó đã hoàn thành một cái back-office website hỗ trợ cho dự án chính của công ty. Biết rằng sẽ không có cha senior nào sang hỗ trợ bảo trì cái này, tôi đã chủ động xin trở thành người bảo trì duy nhất của cái back-office web đấy, một phần là để nâng cao kỹ năng chuyên môn, một phần cũng là để chứng tỏ tôi có khả năng học hỏi và trở thành webdev. Tính cho tới thời điểm đó, tôi có khoảng 4 tháng kinh nghiệm tự học lập trình frontend kể từ sau kì thực tập Angularjs. Nói chung trong khoảng 2 tháng sau đó, tôi chỉ ngồi thêm tính năng và bảo trì cho cái back-office web đó không nhằm mục đích gì.

Sau 2 tháng bảo trì cho cái back-office website, tôi được cân nhắc giao một phần việc khá quan trọng thuộc dự án chính. Ở thời điểm đó, tôi đã cực kỳ hép pi zui zẻ mà không hề biết rằng cái dự án này sẽ khiến cho tôi cực kỳ căng thẳng và nó là cái dự án cuối mà tôi nhận.

Các đầu việc thì đơn giản, đã có sẵn một ứng dụng di động cho dự án, nó là một nền tảng chia sẻ những mẩu chat hoặc truyện ngắn. Tất cả dữ liệu của ứng dụng đều được tạo bởi người dùng. Độc giả thì sẽ vui vẻ đọc truyện trên điện thoại của họ, còn tác giả thì lại muốn sáng tạo nội dung trên máy tính. Do đó, công ty yêu cầu tôi tạo một trang web dạng soạn thảo văn bản. APIs thì xong cả rồi, tất cả nhưng gì tôi cần làm là lo phần frontend, nghe thì nhiều nhưng tôi cảm thấy ổn.

Ờ thì, điểm lại cho tới lúc đó, tôi đã có 4 tháng kinh nghiệm tự học frontend + 2 tháng kinh nghiệm Nodejs / React từ quãng thời gian bảo trì cái back-office web. Trang web đã được dựng sẵn và đang chạy sử dụng .net core, các api viết xong hết rồi, và một số trang đang dùng HTML engine. Tôi dự kiến là tôi sẽ phải học một ít .net core, một ít HTML rendering engine trước khi bắt tay vào làm frontend.

Tôi đã dự kiến mất khoảng 5 tới 6 tuần để hoàn thành project, nhưng không, tôi đã mất tận 12 tuần nhưng mới chỉ xong khoảng 70 hay 80% gì đấy. Tôi không nhớ rõ lắm nhưng tôi đã dành một đống thời gian để parse json và cố gắng khớp dữ liệu đầu ra của trình soạn thảo trên web với dữ liệu trên điện thoại. Tôi đã vô cùng căng thẳng, và có một lần, ông CTO đến kiểm tra tiến độ và giục tôi nhanh lên, tôi combat với ổng luôn vì tôi đang không biết vấn đề cụ thể mà tôi đang gặp phải là gì. Còn ông ta thì cứ liên tục hỏi tôi là tại sao tôi lại mất quá nhiều thời gian để làm cái dự án này vậy.

Áp lực cứ chất chồng lên ngày càng nhiều khi tôi biết tôi đã cực kỳ trễ so với dự kiến ban đầu của tôi. Sau đó vào một ngày đẹp trời, chính xác là sau 12 tuần bắt đầu cái dự án chết tiệt này, công ty đã tuyển 4 ông web developers mới toanh, và vào khoảnh khắc đó, tôi biết ngay rằng họ sẽ bị đá đít vào làm cho xong cái trang web soạn thảo văn bản đang dang dở.

Tôi đã rất stress, viết về toàn bộ những gì đã trải qua khiến tôi bị đau nửa đầu, và tôi thực sự đã suy sụp. Lần đầu tiên tôi trải qua cơn đau nửa đầu là khi tôi đang chăm chăm nhìn vào màn hình máy tính để cố làm cho xong và xoay xở để học được nhiều nhất từ dự án. Tôi đã không nhận ra tôi phải trải qua sự căng thẳng tột độ kéo dài trong hơn 10 tuần liền, và tôi cũng không biết rằng tôi đã ép bản thân quá mức. Có một hôm, vì rất muốn hoàn thành dự án, nên tôi đã cố ép bản thân suy nghĩ và lên kế hoạch mọi thứ thật rõ ràng trước khi đi ngủ. Tối hôm đó, tôi đã bị hành hạ bởi cảm giác thất bại, sự căng thẳng tột độ và những cơn đau nửa đầu, và tôi đã mơ một giấc mơ, trong đó tôi cố gắng nhảy lầu để trốn chạy mọi thứ.

Tôi biết đó là thời điểm tôi nên kết thúc tất cả. Buổi sáng tiếp theo, tôi báo nghỉ với sếp trước 2 tuần mà không hề có một công việc dự phòng nào cả, và tôi không nói với ai ngoại trừ bạn gái tôi.

Sau đó một tháng, tôi đã thử code lại, dựng 1 trang web có nội dung phong phú, đa dạng bằng Gastby, nhưng tiếc thay, tôi vẫn không thể hoàn thành. Sau đó khoảng 1 tháng, tôi lại thử sức với React Native, nhưng vẫn không hoàn thành được. Tổng kết lại, tôi có 4 tháng kinh nghiệm với Angular, 2 tháng với Node/React, 3 tháng với JS (vanilla JS), 1 tháng với Gastby, và 2 tuần với React Native.

Gần một năm học và làm frontend developer, tôi thực sự đã chẳng nhớ được gì mấy … và hoàn toàn là một con số 0 tròn trĩnh với những phần khác của webdev. Nhìn lại mới thấy, tôi chẳng bao giờ làm một dự án từ lúc bắt đầu cho tới kết thúc, và tồi tệ hơn nữa khi tôi cứ lặp đi lặp lại điều đó.

Bài học đắt giá tôi rút ra là: Luôn luôn kết thúc những gì mà bạn đã bắt đầu, và cũng nên chăm lo cho bản thân mình nữa. Công việc không stress. Công việc cũng có thể vui vẻ và đầy ý nghĩa. Học thì quan trọng đấy, nhưng học những thứ căn bản lại càng quan trọng hơn.

Leave a Reply

Your email address will not be published. Required fields are marked *