kiến thức [Chia sẻ] Real case học lập trình của một người tay ngang

Part 12: Góc nhìn của những người có xuất phát điểm khác nhau.

Chào các bác, dạo này em bận việc gia đình nên drop hơi lâu, nay có time nên viết tiếp
:)
. Em có 1 note nhỏ cho bác nào phàn nàn về chuyện viết bài cho dân tay ngang đọc mà dùng từ ngữ chuyên ngành nên bác ấy không hiểu => là vì bác còn chưa phải là dân tay ngang nữa, kỹ năng thiết yếu để làm dev là Google, research vấn đề trước khi hỏi. Em không phải thầy dạy lập trình và không có benefit gì trong việc chia sẽ những trải nghiệm này nên em sẽ thôi cố gắng giải thích cho tất cả mọi người đều hiểu nhá
:)
.

Part trước nói về ngày đầu đi làm IT và giới thiệu sơ qua team fesher. Part này em nói về góc nhìn của các bạn fresher có xuất phát điểm khác nhau (Học ĐH, Boot Camp và tự học) đối với cùng 1 chương trình training.

Đầu tiên là khoá ôn tập kiến thức cơ bản cấp tốc của 2 anh senior Javascript và ReactJs. Thực ra đây là những buổi meeting giới thiệu 'keyword' trong 2 mảng nêu trên, không có ví dụ, không đào sâu và đoạn cuối cùng lúc nào cũng là: " Các em có câu hỏi gì không?"
:angry:
. Ở giai đoạn này team fesher chia làm 3 trường phái:
  1. Không biết/không cần hỏi cái gì: Team này chiếm phần lớn và đa số là những bạn học ĐH, có lẽ các bạn biết hết những kiến thức này (như I. Biết Tuốt), hoặc không biết nhưng ngại hỏi, hoặc biết sơ sơ nên nghĩ rằng có thể tự tìm hiểu sau. Em cũng từng mài đít trong giảng đường 4 năm, nên cũng hiểu những bạn vừa ra trường thường thụ động trong những câu hỏi như vậy. Riêng bạn F. Nghĩa Vụ không bao giờ hỏi (bạn ấy bootcamp), có lẽ việc tiếp nhận 1 lượng kiến thức lớn trong thời gian ngắn khi học ở trung tâm làm bạn ấy hơi thụ động.
  2. Hỏi nhưng không biết đang hỏi gì: Vài bạn đưa ra câu hỏi mà hoàn toàn không biết gì về kiến thức mình hỏi, những bạn này có lẽ cố impress mấy ông senior. Thánh F. Chém gió nằm trong nhóm này, đưa ra những câu hỏi có vẻ nguy hiểm nhưng hỏi ra thì mới biết anh ta chưa làm thực tế bao giờ
    :baffle:
    .
  3. Đưa ra câu hỏi kiểu thảo luận, đào sâu: Thường là những câu hỏi không mang tính đúng sai, mà hỏi kiểu best practice trong 1 case nào đó. Đây là những câu hỏi mang tính kinh nghiệm, thực tế => fresher nên hỏi những câu thế này.
Em nằm trong nhóm thứ 3, cùng với F. Japan, sau khi hỏi xong thấy mấy ông senior có phản ứng tích cực. Em nhận thấy những bạn trong nhóm học ĐH đúng chuyên ngành có tính ganh đua rất cao, nhìn mặt đứa nào cũng đầy quyết tâm (đặc biệt là F. KHTN), ai cũng muốn là người đứng đầu cả
:)
.
Ngoài ra, em đặc biệt giấu chuyện em là dân tay ngang, vì thực tế chứng minh ở những cty cũ (công ty intern 300k và cty tài chính 12tr net), việc để những đứa cùng cấp với mình biết mình là dân tay ngang chẳng mang lại lợi ích gì (Sau này có kinh nghiệm thì khác, giờ ai hỏi tới em cũng nói thẳng là dân tay ngang, có gì chỉ bảo thêm
:D
).

Tiếp theo là khoá practice những tool, phần mềm quản lý trong quá trình làm việc như Git, Trello, Jira. Những tool này cũng được giới thiệu qua 1 buổi meeting chiếu slide và thời gian còn lại là thực hành theo nhóm. Như đã nói ở part trước, em chung nhóm với F. KHTN và F. Chém gió, 3 đứa nhóm em rất là sôi nổi vì 2/3 người là tự học rồi, mà đứa nào tự học thì cũng sẵn sàng đi hỏi, đoạn này em thấy F.KHTN có vẻ 'giấu bài' vì em hỏi nó thường không có câu trả lời thích đáng (nhưng mà nó vẫn biết làm nhá). Cũng nhờ thằng này giấu bài nên em mới phải vác dái qua team khác, nhờ đó cũng làm quen được F. Gymer, F.Gamer, F.Japan, I. Biết tuốt và F. Nữ. Không muốn nói xấu dân KHTN nhưng mà bọn học trường khác tụi nó open hơn rất nhiều. Nhìn chung trong cách làm việc nhóm thì team học ĐH cũng ăn đứt => team tự học như em join vào cũng phải tự thích nghi theo => học được cách làm việc nhóm trong lập trình.

Khoá học tiếp theo là khoá research & present kiến thức vừa research. Mỗi người 1 chủ đề, bóc thăm hên xui. Em bóc trúng chủ đề về testing, hơi khoai vì lúc đó em hoàn toàn không có kiến thức về mảng này. Nhưng mà thế mạnh của team tự học sẽ nằm ở phần này, có thế team tự học research lâu hơn nhưng việc tự research đối với em là chuyện hiển nhiên. Còn đối với team học ĐH thì có vẻ hơi áp lực, vì mấy ông senior còn bắt phải tạo slide trình chiếu cho team mọi người xem và sau cùng sẽ đặt câu hỏi cho người trình chiếu trả lời.

Khoá học cuối là khoá viết app, có file design để dựng layout, có sẵn API đủ loại để integrate. Lúc này may mắn là mấy ông senior cho chọn team lại, em tranh thủ té sang team F.Gymer, F.Gamer, F.Japan, 3 đứa này làm việc chung em thấy dễ chịu. Team F. KHTN và F. Chém gió thì thu nạp cậu I. Ròm, ông F.KHTN có vẻ khoái chí vì là thằng gánh team + acting like leader
:sneaky:
. Thật không may, ở team em thì em cũng là người gánh, nhưng mà là gánh về việc hướng dẫn 2 cậu Gymer & Gamer chứ không làm dùm, 2 ông này đúng kiểu mới đi làm, nhưng mà kiến thức nền có sẵn, em chỉ cần hướng dẫn sơ sơ là làm được. Chứ còn ở chung team với ông F.Chém gió thì chắc em phải hướng dẫn mệt nghỉ, em nói mà ông ta không hiểu được em đang nói gì luôn ấy. Nói chung dựa vào phản ứng, response của người được mình hướng dẫn cũng biết người ta có hiểu hay không. Trong team em còn có F. Japan, cậu này siêng và chịu khó, cũng hay chia sẽ kiến thức với team, nghe đâu học trung tâm gì mà 50-60tr 1 khoá 3 tháng, chắc ku cậu xót tiền nên try-hard dữ lắm, đúng chất bọn Nhật cày ngày cày đêm.

Đọc đến đây có thể các bác sẽ thấy lạ là tại sao em lại có kiến thức để hướng dẫn các bạn khác, chính bản thân em cũng bất ngờ vì những đứa học ĐH ra nó chưa bằng mình ở 1 vài kiến thức cụ thể. Theo em chỉ có thể giải thích ở số dòng code mà em đã code và đã đọc vượt trội hơn + thói quen research đọc article chuyên ngành. Đúng là đi làm rồi mới biết trình độ mình đang ở đâu các bác ạ, những phần về logic, cú pháp viết code có vẻ em nhỉnh hơn nên sẽ hướng dẫn bạn nào yếu hơn. Còn những phần như chia task, estimate time, git thì em học hỏi thêm từ mấy đứa chung team. Học hỏi lẫn nhau là keypoint để tồn tại trong ngành này các bác ạ. "Standing on the shoulders of giants ", cùng nhau học hỏi và phát triển, nhờ những dự án open-source, những Library, Framework mà cộng đồng lập trình mới đi xa được như hôm nay
:)
.

P/S: Em confirm I. Biết tuốt không phải học BK nha, nhưng mà nó giỏi, nhiều vấn đề khó em không biết sẽ hỏi thằng này. Nó là đứa out cty sau em (tìm được job ngon hơn) và còn pm hỏi em lúc nghỉ việc có đền bù gì cho cty không + xin kinh nghiệm nghỉ việc mà không bị đền bù
:beat_brick:
.

Phần sau em sẽ nói về trải nghiệm khi làm dev, những điều tuyệt vời mà ngành khác ít có. Những trải nghiệm này chỉ được nhận ra khi đã đi làm cho công ty, những điều mà các bạn còn trên ghế nhà trường chưa cảm nhận được
:giggle:
.
(To be continue...)
Quá hay, ráng viết tiếp đừng drop nha bạn, mình ko phải chuyên ngành nhưng cái vấn đề dùng từ ngữ chuyên ngành ko có gì to tát cả, ai thích đọc google 1 phút 30s là ra thôi. Ai đã theo tới chương này rồi thì chắc chắn rất thích những kinh nghiệm bạn chia sẻ, bạn viết sâu hơn về technical cũng được nữa.
 
Part 12: Góc nhìn của những người có xuất phát điểm khác nhau.

Chào các bác, dạo này em bận việc gia đình nên drop hơi lâu, nay có time nên viết tiếp
:)
. Em có 1 note nhỏ cho bác nào phàn nàn về chuyện viết bài cho dân tay ngang đọc mà dùng từ ngữ chuyên ngành nên bác ấy không hiểu => là vì bác còn chưa phải là dân tay ngang nữa, kỹ năng thiết yếu để làm dev là Google, research vấn đề trước khi hỏi. Em không phải thầy dạy lập trình và không có benefit gì trong việc chia sẽ những trải nghiệm này nên em sẽ thôi cố gắng giải thích cho tất cả mọi người đều hiểu nhá
:)
.

Part trước nói về ngày đầu đi làm IT và giới thiệu sơ qua team fesher. Part này em nói về góc nhìn của các bạn fresher có xuất phát điểm khác nhau (Học ĐH, Boot Camp và tự học) đối với cùng 1 chương trình training.

Đầu tiên là khoá ôn tập kiến thức cơ bản cấp tốc của 2 anh senior Javascript và ReactJs. Thực ra đây là những buổi meeting giới thiệu 'keyword' trong 2 mảng nêu trên, không có ví dụ, không đào sâu và đoạn cuối cùng lúc nào cũng là: " Các em có câu hỏi gì không?"
:angry:
. Ở giai đoạn này team fesher chia làm 3 trường phái:
  1. Không biết/không cần hỏi cái gì: Team này chiếm phần lớn và đa số là những bạn học ĐH, có lẽ các bạn biết hết những kiến thức này (như I. Biết Tuốt), hoặc không biết nhưng ngại hỏi, hoặc biết sơ sơ nên nghĩ rằng có thể tự tìm hiểu sau. Em cũng từng mài đít trong giảng đường 4 năm, nên cũng hiểu những bạn vừa ra trường thường thụ động trong những câu hỏi như vậy. Riêng bạn F. Nghĩa Vụ không bao giờ hỏi (bạn ấy bootcamp), có lẽ việc tiếp nhận 1 lượng kiến thức lớn trong thời gian ngắn khi học ở trung tâm làm bạn ấy hơi thụ động.
  2. Hỏi nhưng không biết đang hỏi gì: Vài bạn đưa ra câu hỏi mà hoàn toàn không biết gì về kiến thức mình hỏi, những bạn này có lẽ cố impress mấy ông senior. Thánh F. Chém gió nằm trong nhóm này, đưa ra những câu hỏi có vẻ nguy hiểm nhưng hỏi ra thì mới biết anh ta chưa làm thực tế bao giờ
    :baffle:
    .
  3. Đưa ra câu hỏi kiểu thảo luận, đào sâu: Thường là những câu hỏi không mang tính đúng sai, mà hỏi kiểu best practice trong 1 case nào đó. Đây là những câu hỏi mang tính kinh nghiệm, thực tế => fresher nên hỏi những câu thế này.
Em nằm trong nhóm thứ 3, cùng với F. Japan, sau khi hỏi xong thấy mấy ông senior có phản ứng tích cực. Em nhận thấy những bạn trong nhóm học ĐH đúng chuyên ngành có tính ganh đua rất cao, nhìn mặt đứa nào cũng đầy quyết tâm (đặc biệt là F. KHTN), ai cũng muốn là người đứng đầu cả
:)
.
Ngoài ra, em đặc biệt giấu chuyện em là dân tay ngang, vì thực tế chứng minh ở những cty cũ (công ty intern 300k và cty tài chính 12tr net), việc để những đứa cùng cấp với mình biết mình là dân tay ngang chẳng mang lại lợi ích gì (Sau này có kinh nghiệm thì khác, giờ ai hỏi tới em cũng nói thẳng là dân tay ngang, có gì chỉ bảo thêm
:D
).

Tiếp theo là khoá practice những tool, phần mềm quản lý trong quá trình làm việc như Git, Trello, Jira. Những tool này cũng được giới thiệu qua 1 buổi meeting chiếu slide và thời gian còn lại là thực hành theo nhóm. Như đã nói ở part trước, em chung nhóm với F. KHTN và F. Chém gió, 3 đứa nhóm em rất là sôi nổi vì 2/3 người là tự học rồi, mà đứa nào tự học thì cũng sẵn sàng đi hỏi, đoạn này em thấy F.KHTN có vẻ 'giấu bài' vì em hỏi nó thường không có câu trả lời thích đáng (nhưng mà nó vẫn biết làm nhá). Cũng nhờ thằng này giấu bài nên em mới phải vác dái qua team khác, nhờ đó cũng làm quen được F. Gymer, F.Gamer, F.Japan, I. Biết tuốt và F. Nữ. Không muốn nói xấu dân KHTN nhưng mà bọn học trường khác tụi nó open hơn rất nhiều. Nhìn chung trong cách làm việc nhóm thì team học ĐH cũng ăn đứt => team tự học như em join vào cũng phải tự thích nghi theo => học được cách làm việc nhóm trong lập trình.

Khoá học tiếp theo là khoá research & present kiến thức vừa research. Mỗi người 1 chủ đề, bóc thăm hên xui. Em bóc trúng chủ đề về testing, hơi khoai vì lúc đó em hoàn toàn không có kiến thức về mảng này. Nhưng mà thế mạnh của team tự học sẽ nằm ở phần này, có thế team tự học research lâu hơn nhưng việc tự research đối với em là chuyện hiển nhiên. Còn đối với team học ĐH thì có vẻ hơi áp lực, vì mấy ông senior còn bắt phải tạo slide trình chiếu cho team mọi người xem và sau cùng sẽ đặt câu hỏi cho người trình chiếu trả lời.

Khoá học cuối là khoá viết app, có file design để dựng layout, có sẵn API đủ loại để integrate. Lúc này may mắn là mấy ông senior cho chọn team lại, em tranh thủ té sang team F.Gymer, F.Gamer, F.Japan, 3 đứa này làm việc chung em thấy dễ chịu. Team F. KHTN và F. Chém gió thì thu nạp cậu I. Ròm, ông F.KHTN có vẻ khoái chí vì là thằng gánh team + acting like leader
:sneaky:
. Thật không may, ở team em thì em cũng là người gánh, nhưng mà là gánh về việc hướng dẫn 2 cậu Gymer & Gamer chứ không làm dùm, 2 ông này đúng kiểu mới đi làm, nhưng mà kiến thức nền có sẵn, em chỉ cần hướng dẫn sơ sơ là làm được. Chứ còn ở chung team với ông F.Chém gió thì chắc em phải hướng dẫn mệt nghỉ, em nói mà ông ta không hiểu được em đang nói gì luôn ấy. Nói chung dựa vào phản ứng, response của người được mình hướng dẫn cũng biết người ta có hiểu hay không. Trong team em còn có F. Japan, cậu này siêng và chịu khó, cũng hay chia sẽ kiến thức với team, nghe đâu học trung tâm gì mà 50-60tr 1 khoá 3 tháng, chắc ku cậu xót tiền nên try-hard dữ lắm, đúng chất bọn Nhật cày ngày cày đêm.

Đọc đến đây có thể các bác sẽ thấy lạ là tại sao em lại có kiến thức để hướng dẫn các bạn khác, chính bản thân em cũng bất ngờ vì những đứa học ĐH ra nó chưa bằng mình ở 1 vài kiến thức cụ thể. Theo em chỉ có thể giải thích ở số dòng code mà em đã code và đã đọc vượt trội hơn + thói quen research đọc article chuyên ngành. Đúng là đi làm rồi mới biết trình độ mình đang ở đâu các bác ạ, những phần về logic, cú pháp viết code có vẻ em nhỉnh hơn nên sẽ hướng dẫn bạn nào yếu hơn. Còn những phần như chia task, estimate time, git thì em học hỏi thêm từ mấy đứa chung team. Học hỏi lẫn nhau là keypoint để tồn tại trong ngành này các bác ạ. "Standing on the shoulders of giants ", cùng nhau học hỏi và phát triển, nhờ những dự án open-source, những Library, Framework mà cộng đồng lập trình mới đi xa được như hôm nay
:)
.

P/S: Em confirm I. Biết tuốt không phải học BK nha, nhưng mà nó giỏi, nhiều vấn đề khó em không biết sẽ hỏi thằng này. Nó là đứa out cty sau em (tìm được job ngon hơn) và còn pm hỏi em lúc nghỉ việc có đền bù gì cho cty không + xin kinh nghiệm nghỉ việc mà không bị đền bù
:beat_brick:
.

Phần sau em sẽ nói về trải nghiệm khi làm dev, những điều tuyệt vời mà ngành khác ít có. Những trải nghiệm này chỉ được nhận ra khi đã đi làm cho công ty, những điều mà các bạn còn trên ghế nhà trường chưa cảm nhận được
:giggle:
.
(To be continue...)
bác quởn thì chia sẽ tiếp nha bác, cảm ơn bác
 
cho mình hỏi là cty thớt viết ở trên tốt nhỉ.kiểu chia nhóm làm,training người mới như hồi học đh ấy nhỉ.rồi còn làm slide thuyết trình các kiểu nữa,trong ngành IT thường có kiểu training này vs fresher à fen?
 
Part 13: Trải nghiệm công việc lập trình.

Chúc các bác năm mới vui vẻ, gặp nhiều may mắn trong cuộc sống, học tập & làm việc hiệu quả. Bài viết này nói về trải nghiệm khi đã đi làm lập trình, bác nào sang năm mới có ý định đổi ngành nghề sang lập trình xem để có động lực phấn đấu.

Từ "trải nghiệm" theo em giống như việc có xe oto vậy, bác nào chưa có oto thì thường hay chê "tiêu sản", đi Grab ngon hơn,...Cho dù là các bác nghe nói nó che mưa che nắng cho vợ con, nhưng khi chưa sở hữu một chiếc oto thì sẽ không biết hết được lợi ích của nó mang lại. Vì vậy, các anh em ngành khác nghe nói ngành lập trình lương cao lắm (tính ra chạy Grab thu nhập cũng tương đương), nhưng khi các bác đã "dấn thân" vào ngành rồi mới cảm nhận được các lợi ích khác mà lập trình mang lại.

Đầu tiên là việc Work from Home (WFH) dễ dàng. Mình tin chắc đa số cty lập trình đã cho nhân viên WFH để tránh những đợt dịch covid. Chỉ cần bạn có một chiếc PC/Laptop được kết nối internet là bạn có thể làm việc tại nhà được. Ở cty mình làm fresher (part trước), lúc đó SG có người nhiễm covid (Wave dịch 2020), toàn bộ công ty đều được cho WFH 1 tuần xem tình hình dịch thế nào, may mà SG lúc đó không bùng dịch. Còn đợt bùng dịch năm 2021 tại SG thì mình được WFH từ đầu tháng 6, nên né được đợt dịch thảm khốc đó. Nếu mình còn làm ở ngành cũ (liên quan đến sản xuất) chắc chắn sẽ phải "3 tại chỗ" ở nhà máy.

Cho WFH dễ dàng cũng vì Output quan trọng hơn quá trình. Output tuỳ theo role bạn làm, nếu làm BE thì là API, FE là UX/UI, còn những dòng code chúng ta viết thì tuỳ, nếu làm 'outsource' thì yêu cầu về Coding không cao (chủ yếu chặt về Convention vì nhiều người làm chung), còn làm 'product' thì phải code sạch code đẹp để truyền lại cho người sau nữa:rolleyes:. Còn quá trình bạn ra output như thế nào không quan trọng, vì không ai rảnh rỗi để giám sát bạn. Có thể output này là do bạn tư duy, do research trên Google, Stackoverflow, do hỏi senior, miễn bạn có thể làm ra output là Ok. Thời mình làm Fresher, cá biệt có ông F. Chém gió (xem phần trước để biết tên này nhé) lúc ở cty thì không code được nhiều, lúc về nhà là code được ra một đống (mà toàn High level, lúc đó fresher mà code được Typescript rồi :baffle:). Nhưng mà do làm Fresher nên mấy ông mentor biết rõ code không phải do anh ta viết, nên cuối cùng anh ấy không được đánh giá cao (phải trôi dạt sang làm tester).

Vì quá trình làm không quan trọng, nên mới sinh ra việc có free-time vì task không phải lúc nào cũng đến dồn dập, làm nhanh xong task sớm thì ngồi chơi. Mà việc estimate task là cảm tính và cần kinh nghiệm (đã từng làm qua task dạng đó rồi), nên lúc estimate nên đầu tư thời gian vào, không thôi sẽ phải chạy sấp mặt vì không làm kịp. Nhưng về overall thì làm dev ít khi nào bị dí cho làm không kịp, vì dí quá thì dev mệt => stress => nghỉ :byebye: (thực ra khi bị dí nhiều là dự án đang cháy, hoặc thằng PM ngu, hoặc đơn giản là muốn bóc lột nên anh em nào thấy bị dí task liên tục trong thời gian dài thì kiếm đường nhảy việc nhá). Task cũng theo thứ tự, bộ phận này làm xong thì bộ phận khác mới tiếp tục làm được, ít khi có task song song hoàn toàn. Khi có time rảnh rồi thì mình có nhiều option như chơi game lướt web, đọc article gia tăng kiến thức hoặc đi support các anh em trong team đang bị stuck (nôm na là không code được tiếp vì bị lỗi gì đó chưa resolve được).

Ngoài ra trong thời gian free-time, bạn có thể đi tận hưởng những benefit nhỏ mà nhiều. Lúc mình làm fresher, đầu giờ chiều sẽ có trái cây gọt sẵn để trên bàn ăn, lúc nào cũng có thể pha Coffee uống (lúc đó là pha Coffee bịch, nhiều cty có máy pha luôn, espresso, capuchino gì uống như ngoài tiệm), hoặc nấu mì ăn, đến cuối giờ chiều sẽ tụ tập đi mua sinh tố uống các kiểu. Ngoài ra còn các hoạt động vui chơi giải trí tại công ty, lúc đó team fresher đc một chị HR hướng dẫn tập múa (vẫn trong giờ làm việc nhá) để mừng ngày thành lập công ty. Trưa muốn ngủ thì có khu ngủ riêng, thường có gối lười để nằm, ngủ lố giờ đồng nghiệp cũng không ai kêu vì "chắc nó code mệt quá". Mấy thứ nhỏ nhỏ này ở công ty sản xuất mình từng làm đều phải tự bỏ tiền ra mua, mà mình còn bị đì gọt trái cây cho mấy bà chung phòng ăn nữa :(.

Ngoài ra, việc communicate trong team là rất quan trọng, nhưng là kiểu nhanh gọn lẹ đúng trọng tâm. Những thông tin về Coding thường sẽ được trao đổi bằng tool quản lý (như jira, bitbucket,...) khi review code, thông tin về tiến độ cũng được cập nhật bằng tool, nếu cần gấp thì mới hỏi ở ngoài. Họp team mỗi ngày thường kéo dài trong 15p chủ yếu để report tiến độ. Câu từ giao tiếp nhanh gọn như: "Anh làm API xa xong chưa?", "Em push code lên rồi nha", ít có yếu tố lớn-nhỏ, sếp-nhân viên ảnh hưởng đến việc giao tiếp, vì sếp cũng muốn về sớm đón con chứ không thích nói chuyện dài dòng :).

Nói đến sếp thì cũng có nhiều loại, nhưng số sếp có thể làm việc trực tiếp với dev thì ít, vì nhiều sếp không rõ về technical nên chuyện PM (Project Manager) bị team lead chửi "đ*o biết gì" là chuyện như thường gặp. Ngành này dev làm được việc khó kiếm, kiếm được dev giỏi càng khó nên anh em nào giỏi có quyền chảnh, gặp sếp lớn thì đòi benefit, tăng lương, gặp sếp nhỏ thì bật nhau tanh tách. Thực tế không phải có title to là ngon, ông PM có thể xuất thân từ tester, designer hoặc năng lực code không cao nên chuyển hướng sang quản lý. Như mình đã nói ở các phần trước, ngành này "sóng sau xô sóng trước", cứ trụ được trong ngành lâu năm thì bạn sẽ có title, mặc dù có thể title của bạn chỉ archive được ở đúng cty này, đúng domain ( lĩnh vực, ví dụ như thương mại điện tử) này. Sếp chưa chắc thu nhập cao hơn dev, từ senior dev đổ lên range lương nó rộng lắm, tuyển senior lương 1k cũng có mà lương 4-5k cũng có.

Cuối cùng là tư duy logic hơn khi làm lập trình. Bản thân mình thấy cách nói chuyện giao tiếp với người khác của dev sẽ trực tiếp và ngắn gọn, thường nhìn ra "root cause" mà xử lý. Vì khi dev đi fix bug phải tìm ra cội nguồn lỗi ở đâu, nếu fix không đúng chỗ thì sẽ chỉ fix được case này mà làm bug case khác. Tưởng tượng khi gặp khó khăn gì trong cuộc sống, việc nhìn ra cội nguồn của vấn đề rất có ích cho xúc cảm của chúng ta. Mấy anh dev bình tĩnh vì anh biết việc nó sẽ như thế.:matrix:

(To be continue...)
 
Part 12: Góc nhìn của những người có xuất phát điểm khác nhau.

Chào các bác, dạo này em bận việc gia đình nên drop hơi lâu, nay có time nên viết tiếp
:)
. Em có 1 note nhỏ cho bác nào phàn nàn về chuyện viết bài cho dân tay ngang đọc mà dùng từ ngữ chuyên ngành nên bác ấy không hiểu => là vì bác còn chưa phải là dân tay ngang nữa, kỹ năng thiết yếu để làm dev là Google, research vấn đề trước khi hỏi. Em không phải thầy dạy lập trình và không có benefit gì trong việc chia sẽ những trải nghiệm này nên em sẽ thôi cố gắng giải thích cho tất cả mọi người đều hiểu nhá
:)
.

Part trước nói về ngày đầu đi làm IT và giới thiệu sơ qua team fesher. Part này em nói về góc nhìn của các bạn fresher có xuất phát điểm khác nhau (Học ĐH, Boot Camp và tự học) đối với cùng 1 chương trình training.

Đầu tiên là khoá ôn tập kiến thức cơ bản cấp tốc của 2 anh senior Javascript và ReactJs. Thực ra đây là những buổi meeting giới thiệu 'keyword' trong 2 mảng nêu trên, không có ví dụ, không đào sâu và đoạn cuối cùng lúc nào cũng là: " Các em có câu hỏi gì không?"
:angry:
. Ở giai đoạn này team fesher chia làm 3 trường phái:
  1. Không biết/không cần hỏi cái gì: Team này chiếm phần lớn và đa số là những bạn học ĐH, có lẽ các bạn biết hết những kiến thức này (như I. Biết Tuốt), hoặc không biết nhưng ngại hỏi, hoặc biết sơ sơ nên nghĩ rằng có thể tự tìm hiểu sau. Em cũng từng mài đít trong giảng đường 4 năm, nên cũng hiểu những bạn vừa ra trường thường thụ động trong những câu hỏi như vậy. Riêng bạn F. Nghĩa Vụ không bao giờ hỏi (bạn ấy bootcamp), có lẽ việc tiếp nhận 1 lượng kiến thức lớn trong thời gian ngắn khi học ở trung tâm làm bạn ấy hơi thụ động.
  2. Hỏi nhưng không biết đang hỏi gì: Vài bạn đưa ra câu hỏi mà hoàn toàn không biết gì về kiến thức mình hỏi, những bạn này có lẽ cố impress mấy ông senior. Thánh F. Chém gió nằm trong nhóm này, đưa ra những câu hỏi có vẻ nguy hiểm nhưng hỏi ra thì mới biết anh ta chưa làm thực tế bao giờ
    :baffle:
    .
  3. Đưa ra câu hỏi kiểu thảo luận, đào sâu: Thường là những câu hỏi không mang tính đúng sai, mà hỏi kiểu best practice trong 1 case nào đó. Đây là những câu hỏi mang tính kinh nghiệm, thực tế => fresher nên hỏi những câu thế này.
Em nằm trong nhóm thứ 3, cùng với F. Japan, sau khi hỏi xong thấy mấy ông senior có phản ứng tích cực. Em nhận thấy những bạn trong nhóm học ĐH đúng chuyên ngành có tính ganh đua rất cao, nhìn mặt đứa nào cũng đầy quyết tâm (đặc biệt là F. KHTN), ai cũng muốn là người đứng đầu cả
:)
.
Ngoài ra, em đặc biệt giấu chuyện em là dân tay ngang, vì thực tế chứng minh ở những cty cũ (công ty intern 300k và cty tài chính 12tr net), việc để những đứa cùng cấp với mình biết mình là dân tay ngang chẳng mang lại lợi ích gì (Sau này có kinh nghiệm thì khác, giờ ai hỏi tới em cũng nói thẳng là dân tay ngang, có gì chỉ bảo thêm
:D
).

Tiếp theo là khoá practice những tool, phần mềm quản lý trong quá trình làm việc như Git, Trello, Jira. Những tool này cũng được giới thiệu qua 1 buổi meeting chiếu slide và thời gian còn lại là thực hành theo nhóm. Như đã nói ở part trước, em chung nhóm với F. KHTN và F. Chém gió, 3 đứa nhóm em rất là sôi nổi vì 2/3 người là tự học rồi, mà đứa nào tự học thì cũng sẵn sàng đi hỏi, đoạn này em thấy F.KHTN có vẻ 'giấu bài' vì em hỏi nó thường không có câu trả lời thích đáng (nhưng mà nó vẫn biết làm nhá). Cũng nhờ thằng này giấu bài nên em mới phải vác dái qua team khác, nhờ đó cũng làm quen được F. Gymer, F.Gamer, F.Japan, I. Biết tuốt và F. Nữ. Không muốn nói xấu dân KHTN nhưng mà bọn học trường khác tụi nó open hơn rất nhiều. Nhìn chung trong cách làm việc nhóm thì team học ĐH cũng ăn đứt => team tự học như em join vào cũng phải tự thích nghi theo => học được cách làm việc nhóm trong lập trình.

Khoá học tiếp theo là khoá research & present kiến thức vừa research. Mỗi người 1 chủ đề, bóc thăm hên xui. Em bóc trúng chủ đề về testing, hơi khoai vì lúc đó em hoàn toàn không có kiến thức về mảng này. Nhưng mà thế mạnh của team tự học sẽ nằm ở phần này, có thế team tự học research lâu hơn nhưng việc tự research đối với em là chuyện hiển nhiên. Còn đối với team học ĐH thì có vẻ hơi áp lực, vì mấy ông senior còn bắt phải tạo slide trình chiếu cho team mọi người xem và sau cùng sẽ đặt câu hỏi cho người trình chiếu trả lời.

Khoá học cuối là khoá viết app, có file design để dựng layout, có sẵn API đủ loại để integrate. Lúc này may mắn là mấy ông senior cho chọn team lại, em tranh thủ té sang team F.Gymer, F.Gamer, F.Japan, 3 đứa này làm việc chung em thấy dễ chịu. Team F. KHTN và F. Chém gió thì thu nạp cậu I. Ròm, ông F.KHTN có vẻ khoái chí vì là thằng gánh team + acting like leader
:sneaky:
. Thật không may, ở team em thì em cũng là người gánh, nhưng mà là gánh về việc hướng dẫn 2 cậu Gymer & Gamer chứ không làm dùm, 2 ông này đúng kiểu mới đi làm, nhưng mà kiến thức nền có sẵn, em chỉ cần hướng dẫn sơ sơ là làm được. Chứ còn ở chung team với ông F.Chém gió thì chắc em phải hướng dẫn mệt nghỉ, em nói mà ông ta không hiểu được em đang nói gì luôn ấy. Nói chung dựa vào phản ứng, response của người được mình hướng dẫn cũng biết người ta có hiểu hay không. Trong team em còn có F. Japan, cậu này siêng và chịu khó, cũng hay chia sẽ kiến thức với team, nghe đâu học trung tâm gì mà 50-60tr 1 khoá 3 tháng, chắc ku cậu xót tiền nên try-hard dữ lắm, đúng chất bọn Nhật cày ngày cày đêm.

Đọc đến đây có thể các bác sẽ thấy lạ là tại sao em lại có kiến thức để hướng dẫn các bạn khác, chính bản thân em cũng bất ngờ vì những đứa học ĐH ra nó chưa bằng mình ở 1 vài kiến thức cụ thể. Theo em chỉ có thể giải thích ở số dòng code mà em đã code và đã đọc vượt trội hơn + thói quen research đọc article chuyên ngành. Đúng là đi làm rồi mới biết trình độ mình đang ở đâu các bác ạ, những phần về logic, cú pháp viết code có vẻ em nhỉnh hơn nên sẽ hướng dẫn bạn nào yếu hơn. Còn những phần như chia task, estimate time, git thì em học hỏi thêm từ mấy đứa chung team. Học hỏi lẫn nhau là keypoint để tồn tại trong ngành này các bác ạ. "Standing on the shoulders of giants ", cùng nhau học hỏi và phát triển, nhờ những dự án open-source, những Library, Framework mà cộng đồng lập trình mới đi xa được như hôm nay
:)
.

P/S: Em confirm I. Biết tuốt không phải học BK nha, nhưng mà nó giỏi, nhiều vấn đề khó em không biết sẽ hỏi thằng này. Nó là đứa out cty sau em (tìm được job ngon hơn) và còn pm hỏi em lúc nghỉ việc có đền bù gì cho cty không + xin kinh nghiệm nghỉ việc mà không bị đền bù
:beat_brick:
.

Phần sau em sẽ nói về trải nghiệm khi làm dev, những điều tuyệt vời mà ngành khác ít có. Những trải nghiệm này chỉ được nhận ra khi đã đi làm cho công ty, những điều mà các bạn còn trên ghế nhà trường chưa cảm nhận được
:giggle:
.
(To be continue...)
KHTN this, KHTN that nha thớt. Như e là support tận răng nhóe. Giới thiệu lesor vozlit support x2 :shame:
 
Part 14: Pass thử việc, được vào project và ...quit.

Hi các bác, đã lâu em không ra bài mới. Sau chuỗi ngày phiền phức vì chuyện gia đình, cuối cùng em cũng đã giải quyết xong và sắp bước tiếp một hành trình mới.

Flashback về thời điểm em đi làm Fresher, sau 2 tháng thử việc (thực tế là được training), PM gửi email assign em vào project (outsourcing cho customer) với position là mobile developer:cautious:. Điều đặc biệt là chỉ có mình em được assign vào project đó, tất cả các bạn fresher còn lại được assign vào project nội bộ của công ty (làm web quản lý cv ứng viên phỏng vấn, xin nghỉ phép,... cho nhân viên công ty dùng). Em hỏi các bạn Fresher thì mới biết case của em khác biệt, mỗi đứa khi biết tin thì có phản ứng khác nhau, chúc mừng có, ghen tị có, và cộc cằn cũng có luôn ;). Mấy thằng đệ chung team lúc traning thì chúc mừng, còn lại im lặng, cá biệt có ông F.KHTN hơi cộc:cautious: . Ông F.KHTN này, đến last-day của em thì mới thú thật là có nguyện vọng làm mobile, và đã bày tỏ từ đầu, nhưng đến hết khoá training lại assign cho người khác. Và nó cũng là người duy nhất biết position mobile còn trống ở project đó, do nó có connection với dev trong team đó từ lúc còn làm intern (Lúc chưa ra trường nó đã làm intern ở đây rồi, sau xin vào fresher cũng dễ hơn).

Từ lúc nhận email đến ngày join project kéo dài khoảng 1 tuần. Lúc free-time ấy em tranh thủ research, đọc tài liệu về React-native, do vị trí em join là mobile developer (React-native dùng để code cho app mobile, cú pháp tương tự như React nhưng cũng có nhiều điểm khác về develop environment, tool). Time đầu em cũng hơi ức chế tâm lý, do goal của em là làm web, giờ chuyển sang làm mobile. Nhưng quả thực khi có base là React, các bác sẽ tiếp cận với React-native rất nhanh.

Hết 1 tuần đọc tài liệu và setup môi trường thì em cũng nhận task đầu tiên: update feature filter items cho các tag được select (như khi các bác lọc các món hàng trên các trang thương mại điện tử vậy). Bên backend đã viết sẵn các api, để trên swagger (kiểu trang liệt kê các api đang có kèm theo document) .Task này em làm mất 2 tuần, bao gồm cả thời gian ông lead review code. Đúng là làm thực tế thì mới biết thêm nhiều thứ, đa số là về quy trình làm việc, cách tương tác với các bạn trong team. Điều thú vị là mobile dev trong công ty đã nghỉ hết, nên em phải tự tìm cách resolve hầu hết các problem. Bế tắc quá thì hỏi ông lead, ổng có vẻ biết nhiều thứ từ mobile, front-end, back-end, devOps.

Nói về team mà em được join: 1 lead, 2 full-stack, 1 front-end, 1 manual tester và 1 mobile (chính là em). Trong đó có một full-stack kém hơn em 2 tuổi, và sắp lên senior (do vào công ty làm từ lúc còn đi học). Khi vào team này thì em thường đi làm trễ và về sớm hơn (follow theo anh em trong team thôi nha các bác:)), sáng vào thì đã thấy các bạn fresher, chiều về cũng thấy các bạn ấy còn ở lại nên em auto bị ghét:boss:.

Cho dù có đi trễ, thì buổi sáng em vẫn ngồi chơi, đọc article này nọ tầm 1 tiếng mới bắt đầu làm được. Do em chỉ làm bên android (mobile chia làm 2 nhánh là iOS và android) mà lại dùng iPhone, nên mỗi ngày phải lên phòng IT mượn điện thoại (hình như là điện thoại của Samsung) để code. Mà mấy ông trong phòng IT thì đi trễ thôi rồi, 8h làm thì khoảng 10h các ông ấy mới lên:LOL:. Ông lead thì thuộc team "đón con", tầm 4 giờ hơn là ổng về rồi, các anh em trong team cũng về theo nên em cũng follow thôi:shame:. Nói chung time em có mặt ở công ty tầm 7 tiếng, time làm việc thực tế tầm 4-5 tiếng. Quả thực với thời gian làm việc thoải mái, task thì 1 mình một project ( mã nguồn mobile đó chỉ có mình em động vào), lead có tâm (review code kỹ, mấy hôm ổng về sớm còn kêu em về luôn đi:beauty:), em cứ nghĩ sẽ gắn bó với công ty 1 thời gian dài.

Cho đến khi em nhận được offer từ công ty mà em phỏng vấn từ 3 tháng trước (trước khi làm fresher tại đây), mức Offer cao gấp đôi (16tr net với 8tr net), title là Junior. Em chỉ lấn cấn chỗ đền hợp đồng fresher ở đây, xem như mất toi tiền 3 tháng làm việc, nhưng sau khi suy nghĩ kĩ, em vẫn chấp nhận (tại được offer gấp đôi mà, nhanh huề vốn lắm). Đương nhiên em không nói lý do nghỉ việc thực sự cho công ty biết, em chỉ nói lý do là có việc gia đình ở quê, phải về quê gấp thôi.

Chính sách giữ người ở công ty cũng tốt, đầu tiên em báo với ông lead trước. Ổng mới hỏi lý do, đưa ra các option khác xem em có ngã về phương án nào không:
  1. Lương: Nếu anh đưa ra mức offer mới cao hơn, tầm 12-13tr, cho em lên junior thì em có ở lại không?:shame:
  2. Công việc: Có vẻ em không thích làm mobile, vì từ đầu em muốn làm web. Bây giờ anh chuyển cho em sang làm Front-end web thì em có ở lại không?:sexy_girl:
  3. Tình cảm: Trong công ty, em có ức chế với ai, không hài lòng chuyện gì? nói để anh resolve cho!:boss:
Các options ảnh đưa ra em đều reject nhẹ nhàng, về lương thì tăng như vậy cũng cao đấy, nhưng vẫn không bằng offer bên kia. Về công việc thì qua bên cty mới em cũng làm bên mảng web thôi. Về tình cảm thì cũng mới 3 tháng, chưa có conflict gì lớn để phải nghỉ việc.
Đến vòng HR giữ người, chắc do HR còn trẻ nên đưa chuyện đền hợp đồng ra hù em. Em nói thẳng là muốn em đền cũng được, vì hoàn cảnh bắt buộc em phải nghỉ chứ em cũng đâu có muốn!. Chắc do em kiên quyết cộng với đưa ra lý do hợp lý nên sau này họ cũng không bắt đền hợp đồng gì hết. Còn support cho em nghỉ sớm (theo luật là tối đa sau 30 ngày kể từ khi nộp đơn xin nghỉ).

Last-day của em tại cty, em mời các bạn fresher uống sinh tố. Mời các đồng nghiệp trong team uống Highland. Lúc uống sinh tố với các bạn fresher thì biết chuyện anh F.KHTN như em đã nói ở trên, cộng với hỏi lương từng đứa Fresher (khúc này hơi tạo nghiệp, vì chỉ có em được lương gross 9tr, tất các các bạn Fresher còn lại chỉ được 8tr gross). Còn đi uống với team mới vui, em biết được vài thứ hay ho:
  1. Em là thủ khoa đầu vào trong đợt tuyển fresher năm đó :beauty:(mỗi năm tuyển fresher 1 lần), dù phải cạnh tranh với các bạn mới ra trường và đúng chuyên ngành.
  2. Em là đứa có kết quả tốt nhất ở kì training (thủ khoa đầu ra:confident:), score của các anh mentors chấm gần như là tuyệt đối.
  3. Range lương cty cho Junior tầm 12tr, middle 15tr, senior cũng chỉ 20tr, nên có tăng lương cho em cũng chỉ nhảy một bậc lên junior được thôi.
Hôm đó em cũng hơi buồn, vì đây là job đầu tiên, họ đối xử cũng tốt với em. Vừa làm quen, bắt nhịp được với môi trường của công ty, của team thì đã nhảy việc. Nhưng mà cơ hội đôi khi chỉ đến một lần, nếu mà trì trệ không nắm lấy thì không biết đến khi nào mới gặp lại cơ hội tốt như vậy:(....

(To be continue...)
 
Part 14: Pass thử việc, được vào project và ...quit.

Hi các bác, đã lâu em không ra bài mới. Sau chuỗi ngày phiền phức vì chuyện gia đình, cuối cùng em cũng đã giải quyết xong và sắp bước tiếp một hành trình mới.

Flashback về thời điểm em đi làm Fresher, sau 2 tháng thử việc (thực tế là được training), PM gửi email assign em vào project (outsourcing cho customer) với position là mobile developer:cautious:. Điều đặc biệt là chỉ có mình em được assign vào project đó, tất cả các bạn fresher còn lại được assign vào project nội bộ của công ty (làm web quản lý cv ứng viên phỏng vấn, xin nghỉ phép,... cho nhân viên công ty dùng). Em hỏi các bạn Fresher thì mới biết case của em khác biệt, mỗi đứa khi biết tin thì có phản ứng khác nhau, chúc mừng có, ghen tị có, và cộc cằn cũng có luôn ;). Mấy thằng đệ chung team lúc traning thì chúc mừng, còn lại im lặng, cá biệt có ông F.KHTN hơi cộc:cautious: . Ông F.KHTN này, đến last-day của em thì mới thú thật là có nguyện vọng làm mobile, và đã bày tỏ từ đầu, nhưng đến hết khoá training lại assign cho người khác. Và nó cũng là người duy nhất biết position mobile còn trống ở project đó, do nó có connection với dev trong team đó từ lúc còn làm intern (Lúc chưa ra trường nó đã làm intern ở đây rồi, sau xin vào fresher cũng dễ hơn).

Từ lúc nhận email đến ngày join project kéo dài khoảng 1 tuần. Lúc free-time ấy em tranh thủ research, đọc tài liệu về React-native, do vị trí em join là mobile developer (React-native dùng để code cho app mobile, cú pháp tương tự như React nhưng cũng có nhiều điểm khác về develop environment, tool). Time đầu em cũng hơi ức chế tâm lý, do goal của em là làm web, giờ chuyển sang làm mobile. Nhưng quả thực khi có base là React, các bác sẽ tiếp cận với React-native rất nhanh.

Hết 1 tuần đọc tài liệu và setup môi trường thì em cũng nhận task đầu tiên: update feature filter items cho các tag được select (như khi các bác lọc các món hàng trên các trang thương mại điện tử vậy). Bên backend đã viết sẵn các api, để trên swagger (kiểu trang liệt kê các api đang có kèm theo document) .Task này em làm mất 2 tuần, bao gồm cả thời gian ông lead review code. Đúng là làm thực tế thì mới biết thêm nhiều thứ, đa số là về quy trình làm việc, cách tương tác với các bạn trong team. Điều thú vị là mobile dev trong công ty đã nghỉ hết, nên em phải tự tìm cách resolve hầu hết các problem. Bế tắc quá thì hỏi ông lead, ổng có vẻ biết nhiều thứ từ mobile, front-end, back-end, devOps.

Nói về team mà em được join: 1 lead, 2 full-stack, 1 front-end, 1 manual tester và 1 mobile (chính là em). Trong đó có một full-stack kém hơn em 2 tuổi, và sắp lên senior (do vào công ty làm từ lúc còn đi học). Khi vào team này thì em thường đi làm trễ và về sớm hơn (follow theo anh em trong team thôi nha các bác:)), sáng vào thì đã thấy các bạn fresher, chiều về cũng thấy các bạn ấy còn ở lại nên em auto bị ghét:boss:.

Cho dù có đi trễ, thì buổi sáng em vẫn ngồi chơi, đọc article này nọ tầm 1 tiếng mới bắt đầu làm được. Do em chỉ làm bên android (mobile chia làm 2 nhánh là iOS và android) mà lại dùng iPhone, nên mỗi ngày phải lên phòng IT mượn điện thoại (hình như là điện thoại của Samsung) để code. Mà mấy ông trong phòng IT thì đi trễ thôi rồi, 8h làm thì khoảng 10h các ông ấy mới lên:LOL:. Ông lead thì thuộc team "đón con", tầm 4 giờ hơn là ổng về rồi, các anh em trong team cũng về theo nên em cũng follow thôi:shame:. Nói chung time em có mặt ở công ty tầm 7 tiếng, time làm việc thực tế tầm 4-5 tiếng. Quả thực với thời gian làm việc thoải mái, task thì 1 mình một project ( mã nguồn mobile đó chỉ có mình em động vào), lead có tâm (review code kỹ, mấy hôm ổng về sớm còn kêu em về luôn đi:beauty:), em cứ nghĩ sẽ gắn bó với công ty 1 thời gian dài.

Cho đến khi em nhận được offer từ công ty mà em phỏng vấn từ 3 tháng trước (trước khi làm fresher tại đây), mức Offer cao gấp đôi (16tr net với 8tr net), title là Junior. Em chỉ lấn cấn chỗ đền hợp đồng fresher ở đây, xem như mất toi tiền 3 tháng làm việc, nhưng sau khi suy nghĩ kĩ, em vẫn chấp nhận (tại được offer gấp đôi mà, nhanh huề vốn lắm). Đương nhiên em không nói lý do nghỉ việc thực sự cho công ty biết, em chỉ nói lý do là có việc gia đình ở quê, phải về quê gấp thôi.

Chính sách giữ người ở công ty cũng tốt, đầu tiên em báo với ông lead trước. Ổng mới hỏi lý do, đưa ra các option khác xem em có ngã về phương án nào không:
  1. Lương: Nếu anh đưa ra mức offer mới cao hơn, tầm 12-13tr, cho em lên junior thì em có ở lại không?:shame:
  2. Công việc: Có vẻ em không thích làm mobile, vì từ đầu em muốn làm web. Bây giờ anh chuyển cho em sang làm Front-end web thì em có ở lại không?:sexy_girl:
  3. Tình cảm: Trong công ty, em có ức chế với ai, không hài lòng chuyện gì? nói để anh resolve cho!:boss:
Các options ảnh đưa ra em đều reject nhẹ nhàng, về lương thì tăng như vậy cũng cao đấy, nhưng vẫn không bằng offer bên kia. Về công việc thì qua bên cty mới em cũng làm bên mảng web thôi. Về tình cảm thì cũng mới 3 tháng, chưa có conflict gì lớn để phải nghỉ việc.
Đến vòng HR giữ người, chắc do HR còn trẻ nên đưa chuyện đền hợp đồng ra hù em. Em nói thẳng là muốn em đền cũng được, vì hoàn cảnh bắt buộc em phải nghỉ chứ em cũng đâu có muốn!. Chắc do em kiên quyết cộng với đưa ra lý do hợp lý nên sau này họ cũng không bắt đền hợp đồng gì hết. Còn support cho em nghỉ sớm (theo luật là tối đa sau 30 ngày kể từ khi nộp đơn xin nghỉ).

Last-day của em tại cty, em mời các bạn fresher uống sinh tố. Mời các đồng nghiệp trong team uống Highland. Lúc uống sinh tố với các bạn fresher thì biết chuyện anh F.KHTN như em đã nói ở trên, cộng với hỏi lương từng đứa Fresher (khúc này hơi tạo nghiệp, vì chỉ có em được lương gross 9tr, tất các các bạn Fresher còn lại chỉ được 8tr gross). Còn đi uống với team mới vui, em biết được vài thứ hay ho:
  1. Em là thủ khoa đầu vào trong đợt tuyển fresher năm đó :beauty:(mỗi năm tuyển fresher 1 lần), dù phải cạnh tranh với các bạn mới ra trường và đúng chuyên ngành.
  2. Em là đứa có kết quả tốt nhất ở kì training (thủ khoa đầu ra:confident:), score của các anh mentors chấm gần như là tuyệt đối.
  3. Range lương cty cho Junior tầm 12tr, middle 15tr, senior cũng chỉ 20tr, nên có tăng lương cho em cũng chỉ nhảy một bậc lên junior được thôi.
Hôm đó em cũng hơi buồn, vì đây là job đầu tiên, họ đối xử cũng tốt với em. Vừa làm quen, bắt nhịp được với môi trường của công ty, của team thì đã nhảy việc. Nhưng mà cơ hội đôi khi chỉ đến một lần, nếu mà trì trệ không nắm lấy thì không biết đến khi nào mới gặp lại cơ hội tốt như vậy:(....

(To be continue...)
Đọc trọn hết 14 phần và được inspired bởi bác, em cũng đang trong quá trình tự học html,css,js . Hi vọng con đường mình đi cũng sẽ thuận lợi :smile:
 
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?
:misdoubt:
). Đọ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
:beat_shot:
.
Ở 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
:cautious:
. 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á
8-)
). 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 đó
:censored:
) 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ứ
:shame:
?. 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
:doubt:
).

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
:whistle:
. 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à
:look_down:
). 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
:too_sad:
.

(To be continue...)
Trước gặp 1 case tương tự, công ty đầu tiên tôi làm, làm được 2 ngày leader gọi xuống phòng họp gáy, chiều đó tôi quăng đơn luôn. Rải cv kiếm đc 1 đống cty ngon hơn :LOL:)
 
Back
Top