Part 8: Những dấu hiệu của 1 công ty tồi
Hi các bác, hôm nay em vô tình đọc được 1 blog với title là 'Những sự thật về nghề lập trình viên chẳng ai nói cho bạn đâu!' (https: //itviec.com/blog/lap-trinh-vien). Tóm tắt bài viết là: Đừng quá trau chuốt code, chạy là được, khách hàng không quan tâm code ra sao đâu, bỏ thời gian viết code đẹp là lãng phí thời gian và nên tập trung vào kĩ năng mềm để PR bản thân (còn recommend đọc cuốn 'đắc nhân tâm' để thu phục lòng người?
). Đọc xong blog em lại có cảm hứng viết tiếp về hành trình của 1 dev tay ngang các bác ạ, .
Phần trước em đã kể đến đoạn em pass được job với mức lương net 12 củ, có vẻ em kể quá chi tiết về chuyên ngành nên có nhiều bác sẽ khó follow, em sẽ rút kinh nghiệm viết overal hơn. Tóm lại là lúc pass job này em đã làm nhiều project nhỏ (pet project) bằng kiến thức đã học được + một chút may mắn do a lead của cty này tiết lộ về bài test (tạo giao diện đăng nhập). Em sẽ note lại những vấn đề gặp phải ở cty này để các bác hình dung được một cty tồi sẽ treat các bác như thế nào.
Ngày đầu tiên đi làm, em được giao source code (mã nguồn) bằng một cách không bình thường lắm: a lead nén File .zip và đưa usb cho em lưu về máy (laptop cá nhân của em luôn). Bác nào làm dev sẽ biết các ae trong team làm việc chung một dự án sẽ quản lý code bằng VCS (Version Control Software) như
Git. Cty lấy lý do là em vừa vào làm chưa chuẩn bị máy tính kịp (yêu cầu em tự mang laptop cá nhân theo) =>
Cách làm việc không chuyên nghiệp.
Cơ cấu nhân sự của công ty này không hoàn toàn là cty công nghệ, ngoài HR ra còn có bộ phận quản lý, bộ phận marketing, bộ phận về pháp luật?. Nói chung là có nhiều bộ phận khác ngoài dev. Trong mảng lập trình web thường sẽ chia ra 2 team là FE (front-end) và BE (back-end) + 1 DevOps (optional, có thể có hoặc không). Team FE có 3 người (1 lead, 1 intern + em là junior), team BE có 3 người (1 lead, 2 intern) và trùm cuối có title là Technical Lead (tech lead) tự xưng là biết mọi thứ từ FE, BE tới DevOps (nhưng tuổi dưới 30??). Phân tích về cơ cấu nhân sự của cty thì đây là công ty start-up product (gồm nhiều bộ phận ngoài dev và sản phẩm chưa release). Nhưng về
cơ cấu dev thì lại có vấn đề khi thuê các dev có trình độ quá chênh lệch (rất nhiều intern <=> lead, có nghĩa là ông lead này phải hướng dẫn toàn bộ intern?). Khi em bắt chuyện với 1 bạn intern thì biết là làm
intern không lương. Ở các công ty sau này em làm, nếu có tuyển intern thì sẽ tuyển số lượng hạn chế, đồng thời trình độ dev level middle cũng phải đông + vài ông senior và lead. Giống như tháp dân số già vậy (đầu tù, bụng to, đít nhọn) vì lực lượng 'trẻ em' mà đông quá thì tốn công chỉ bảo lắm. Công ty nào quy mô nhỏ như start-up thì nói thẳng luôn là tuyển middle trở lên để tránh 'cầm tay chỉ việc' làm hao tổn tài nguyên trong hoàn cảnh lượng công việc lớn mà tiền đầu tư có hạn.
Sản phẩm mà công ty này đang build là app cho vay, lãi suất cao hơn lãi Bank nhưng mà thấp hơn lãi suất cho vay nặng lãi (nên sinh ra bộ phận giải quyết vấn đề pháp luật chăng?). Doanh thu của cty sẽ dựa vào lãi suất này với tên gọi mỹ miều là tiền 'Tip', nhưng mà nói thẳng ra là
làm app dạng cho vay tiền online thôi
. Nhân sự công ty thì lưu manh khỏi phải nói, từ chủ cho đến nhân viên. Sặc mùi
công ty gia đình trị, phó giám đốc là 'em ruột' của giám đốc (maybe), techlead (dưới 30 tuổi nhé) với 'General Manager' (GM) là 1 cặp, lead FE với HR là 1 cặp (mối quan hệ dính chùm và có dây mơ rễ má với nhau).
Làm đến ngày thứ 2 thì con nhỏ GM (hỏi thì nó nói là 'chị làm quản lý chung', nên đặt tạm GM cho có chút chuyên nghiệp) kêu vào phòng họp. Sau một hồi chém gió về tương lai sáng lạng của cái app cho vay + ca ngợi công sức của team dev (mà đặc biệt là bạn trai Techlead của chị ấy), chốt lại thì bạn ấy đưa ra 1 cái
deal 'tự nguyện' là lấy 2 triệu tiền lương của em để đầu tư vào cty, khi công ty có lãi sẽ chia lại cho nhân viên như mua cổ phiếu vậy, em có thể đầu tư trên 2 triệu thì càng tốt. Chị còn nhấn mạnh là tất cả mọi người trong cty đều làm như vậy và 'đặc ân' này chỉ dành cho nhân viên chính thức của cty thôi (intern không lương nên không có 'đặc ân' này nhá
). Lúc đó em định say đé* rồi nhưng mà kìm lại được, từ chối 1 cách nhẹ nhàng.
Nói về source code của cty, 90% code là của a lead FE và 'Tech Lead' viết. Sau 2 ngày đọc code vã mồ hôi em vẫn chưa hình dung nổi luồng code nên em mới đưa cho anh mentor (a. M) xem thử. Ổng nhận xét là source này viết theo kiểu cũ, mindset của người viết là dân BE chuyển qua (là thằng Tech Lead đó
) nên sẽ khó đọc nếu em không học về OOP (Object-oriented Programming), cái này thì tay ngang học FE sẽ vướng. Ngoài ra, người maintain source này không rành về OOP nên đang xen với cách viết khác. Về phần structure cũng lộn xộn, khó follow, lặp code nhiều. Nói tóm lại,
source code tồi, không được maintain đàng hoàng. Source không tốt thì em gặp nhiều, thường thì nó sẽ được maintain để càng ngày càng tốt hơn, phải bỏ time để refactor code, nếu mà đang chạy deadline thì có thể viết tạm nhưng phải refactor về sau. Đối với Blog mà em share ở đầu bài, em hoàn toàn không đồng ý với quan điểm của họ, đối với em thì làm dev hơn nhau ở dòng code chứ không phải chuyện PR bản thân hay giao tiếp tốt. Các bác dev có gạch đá em xin nhận.
Đến ngày làm việc thứ 4, em bị 'Tech lead' gọi lên phòng họp cùng a Lead FE. Ổng hỏi 'tại sao 2 ngày qua em chưa làm được gì cho công ty mà toàn ngồi đọc code với hỏi a Lead, em nhắm liệu có làm nổi không?'. Em mới nói là 'A lead giao source cho em, bảo là đọc để biết luồng code', rồi tới a Lead bị chất vấn là 'Tại sao không giao task, task a giao em không pass lại cho bạn à?'. Cãi qua cãi lại, thì tóm gọn 'Tech Lead' muốn giao task ngay, làm không được thì tuyển người khác, còn a Lead có quan điểm là với source code này nếu chưa nắm được thì sao làm nổi, khi nào hiểu thì mới giao task chứ. Cuối cùng thì 'Tech Lead' chất vấn em là khi nào đọc xong source?, em có biết lương em đang rất cao không?, hôm qua chị GM có trao đổi với em thì em chọn là làm việc vì tiền rồi thì em phải bỏ kết quả đúng với số tiền nhận được chứ
?. Giải pháp cuối cùng là 'Nếu em đọc source không quen, thì em có thể viết lại source mới theo công nghệ mà em biết, em ước lượng thời gian hoàn thành rồi báo a' ( nghĩa là dùng thư viện mới bây giờ chứ không dùng thư viện đã bị outdate như hiện tại
).
Giờ ăn trưa em chạy gấp qua công ty của bạn gái, bàn bạc 1 hồi thì quyết định nghỉ việc
. Thực sự gặp bọn lưu manh này em cũng bị sốc lắm, ngồi trong phòng họp chỉ biết dạ dạ chứ không dám phản bác gì. Em quay lại cty và lẳng lặng đem laptop về, bảo vệ toà nhà thấy em lấy xe sớm thì khó chịu ra mặt, vì ông ấy phải dời xe ra để em lấy xe (Cty đi làm sớm nhất và về trễ nhất của toà nhà
). Hỏi ra thì em xả với ổng: 'Đ* m* thằng ch* (techlead) tầng 4 láo quá nên con không làm nữa', ông bảo vệ cũng hỏi là thằng xxx đúng không, có vẻ chuyện này với ổng không lạ gì. Phóng chiếc winner phi nhanh trên đường nhưng em lại quay về làm loser tiếp các bác ạ, cứ tưởng sẽ phụ giúp được cho bạn gái, rồi còn cưới hỏi, rồi chuyện công việc bạn gái đã lỡ khoe với gia đình,..., em khóc
.
(To be continue...)