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

đánh dấu để cố gắng, mình cũng trái ngành đang học lập trình. Mong bác chia sẽ thêm vd như nếu bác trở lại học lập trình từ số 0 thì sẽ khuyên bản thân nên theo các bước như thế nào để tối ưu tránh mất tg và sai lầm
 
Part 19: Các bác đã trở thành senior như thế nào?

Chào các bác, cũng đã ba tuần rồi em chưa viết chap mới, bận quá :). Chap này em không chỉ chia sẻ tiếp hành trình làm dev của em, mà muốn có feedback từ các bác senior trong ngành, bằng cách nào các bác được công nhận là senior (với thời gian bao lâu).

Ở cty các bác sử dụng thước đo gì để đánh giá năng lực của dev? ai sẽ là người được đánh giá? các bác làm thế nào để thăng tiến trong công việc?, liệu các bác có được trao quyền để đánh giá người khác?. Em nghĩ ở bất cứ công ty nào cũng sẽ có sự cạnh tranh ngầm giữa cách thành viên, chỉ khác nhau ở sự biểu hiện có lộ liễu quá hay không :confused: . Làm cách nào để là người giỏi, mang lại nhiều giá trị cho công ty và được thăng tiến quả thực là một câu hỏi khó!

Thử phân tích một chút, trong giai đoạn phỏng vấn giữa dev và interviewer, tuỳ theo level của position đó mà interviewer sẽ có cách hỏi khác nhau, em tạm chia làm 3 level (Entry, Intermediate, Expert):
  1. Entry level: intern, fresher và junior nằm trong nhóm này. Vì để giảm chi phí (lương của các bác ấy) họ mới chia làm nhiều title. Sinh viên còn đang đi học, thời gian không cố định thì hợp với intern, vừa ra trường thì hợp với fresher, còn đã động vào project thực tế của cty thì xem như junior (nên em hay khuyên các bác tay ngang là nên apply fresher, vì mình làm fulltime mà). Ở level này interviewer quan tâm về kiến thức cơ bản, học trường gì, GPA,... => dòng thời gian trong câu chuyện của em là đang ở level này :big_smile:
  2. Intermediate level: chính là developer, nhiều chỗ gọi là middle/mediator. Nằm ở khoảng này thì lương đã dư sống, bây giờ thị trường đã trả khoảng 1000$, nếu các bác sống 1 mình ở tp lớn như HCM, HN, ĐN thì cũng OK lắm rồi. Level này thì hay hỏi giải thuật (kiểu easy của codewars, codility, khó hơn tý thì leetcode), do dev cũng có kinh nghiệm rồi nên sẽ hỏi những project đã làm, achrive được gì, cách giải quyết conflict trong team, estimate,... (nói chung hỏi kinh nghiệm và cách làm việc) => Level của thực tại, khi đang viết chap này :)
  3. Expert level: chính là senior developer đấy các bác. Ở level này đi phỏng vấn cái gì thì em không biết :(, nhưng có nghe mấy ông senior kể là cũng hỏi loanh quanh trong projects, giải thuật khó hơn tý, cách encourgare các member trong team. Ở level này có thể nguời ta chỉ có 4,5 năm kinh nghiệm, cũng có thể hơn chục năm vẫn làm senior (cái này thuộc về tính cách có muốn theo hướng quản lý, hoặc học những chứng chỉ để nâng cấp bản thân hay không, chịu cải thiện tiếng anh để nói chuyện với sếp hay không). => level của tương lai, em cũng không chắc sau này sẽ được công nhận là senior như thế nào:rolleyes:
Em trở thành junior trong thời gian rất ngắn, chỉ sau 1 lần nhảy việc từ fresher lên junior (sau 3 tháng như đã kể). Nên góc nhìn về junior dev của em chỉ là một người đã có kinh nghiệm trong project thực tế thì đã có thể gọi là junior rồi.

Ở chap trước, sau khi dev.M (du học về) join team thì cty có tuyển thêm 1 dev nữa là dev.TH (học chính quy trường tư VN). Thời điểm đó team front-end cho project mới đã có 4 người ( 1 lead, 3 dev), title của em lúc đó là junior thôi, cũng không rõ 2 ông kia title gì nhưng khi làm việc với nhau thì không có phân biệt gì cả, đều dưới ông lead.T.

Nghĩ lại cũng may là dev.TH join team, anh này có gặp stuck gì cũng hỏi em hết, vì nếu hỏi dev.M thì hay bị khịa (vì 2 ku này ngang tuổi nhau). Nhờ vậy mới point out được khả năng chỉ dẫn người khác của em, mỗi khi giải thích, dạy ai một vấn đề mà em biết thì em cảm thấy rất vui, và sẽ hướng dẫn họ hết khả năng (có lẽ em viết series này cũng nhờ tính cách đó). Khi người khác thấy em thường xuyên hướng dẫn, giải đáp thắc mắc cho các team member (gồm cả FE lẫn BE) thì đó chính là lúc em đang đánh bóng tên tuổi (một cách tự nhiên mà em cũng không để ý). Dần dần em gây dựng được niềm tin với các team member khác và được contribute nhiều hơn. Ông lead bên backend (lead. L) cũng tôn trọng em hơn, vấn đề về high level bên frontend thì sẽ hỏi a lead.T, về implementation thì hỏi em. Em cùng a lead.T đã cùng build project này từ những dòng code đầu tiên, các structure, core implementation là do 2 người viết hết. A lead.T thì làm bên UI design system (tức là làm sao cho UI nó consistent ấy), em làm về project structure, config các library cho project, defined phần lớn các global type (type trong Typescript ấy).

Ở một chiều hướng khác, dev.M gây ấn tượng với sự xông xáo, thích ôm việc, sẵn sàng OT (chú ý là OT ở cty này không có lương nhá) và đặc biệt là giải quyết vấn đề rất nhanh. Đây cũng là tính cách của ông giám đốc công ty và ông lead backend lead.L (ông này chịu trách nhiệm cho project luôn, lead. T vẫn dưới quyền ổng). Vì đáp ứng được các mục tiêu của ông giám đốc (phải delivery nhanh để kịp demo cho khách hàng) nên dev.M được để ý ở hàng ngũ lãnh đạo hơn. Còn ở hàng ngũ dev thì vì ku dev.M code nhanh, delivery nhanh nên dễ bug hơn, mặc khác cũng vô tình làm cả team bị push deadline một cách rất vô lý nên riêng em không thích dev.M. Đỉnh điểm là lúc ông giám đốc muốn demo cho nhiều khách hàng khác nhau, thời điểm đó là sáng nhận requirement, tối demo luôn (demo theo giờ Canada). Ông lead.L và dev.M trong các cuộc họp thường sẽ accept các deadline vô lý, bào chữa bằng cách là code cho chạy trước rồi refactor sau (nhưng khổ nỗi thời gian để refactor là không có do bị dí deadline liên tục).

Trong công ty lúc này sinh ra 2 phe:
  • Phe 1: thích làm việc hết công sức, bào dev giùm giám đốc (đại diện là lead.L và dev.M),
  • Phe 2: quan trọng chất lượng hơn số lượng, làm giữ sức đúng 6h về (đại diện là lead.T và em)
Phe 2 thì thường hay fix bug của team 1 để lại, nên cũng không vui vẻ gì, mà có công cán gì thì những người anh em trong phe 1 nhận hết vào người. Kết quả là một hôm đẹp trời, ông Lead.L vào hỏi team frontend (lúc đó không có a Lead.T) về việc sẽ đào tạo 1 người phỏng vấn chung với a Lead.T khi tuyển front-end vào công ty vì lý do công ty sắp mở rộng quy mô, bla bla,... Em thì còn ngờ ngợ không biết chuyện gì đang xảy ra thì thanh niên dev.M đã xung phong trước ạ:censored:.
Đúng như các bác đoán, a lead.T sẽ nghỉ (để lại 1 team toàn junior, middle dev, không có nổi 1 người senior).

(to be continue...)
 
đánh dấu để cố gắng, mình cũng trái ngành đang học lập trình. Mong bác chia sẽ thêm vd như nếu bác trở lại học lập trình từ số 0 thì sẽ khuyên bản thân nên theo các bước như thế nào để tối ưu tránh mất tg và sai lầm
Ok bác, một chủ đề hay, em sẽ viết vào các chap sắp tới :D
@damadoko Cho e hỏi mấy môn như toán rời rạc và cấu trúc cơ sở dữ liệu bác có học không ạ?
Em chưa học ạ, hiện tại em đang làm front-end thấy cũng chưa động tới toán nhiều. Data structure thì em không chắc môn đó dạy cái gì, nếu High level như thiết kế Data cho hệ thống thì em chưa làm tới. Sau này nếu có expand qua bên backend chắc cũng sẽ học những kiến thức đó :)
 
dm chán đời mấy ông cứ hỏi tôi xx tuổi abcxyz thì có theo được ko
theo được không thì các ông phải thử,đéo ai biết dc iq ,sự kiên trì,cố gắng của các ông đến đâu.Có tiền thì dk 1 khóa boots camp tầm 20 củ là biết rồi,không có tiền thì self taught.Không thành công thì cũng thành nhân ít ra cũng không hối hận vì đã cố gắng đến tận cùng
Dm cái cuộc đời mình mà cứ đi hỏi thằng khác chán đéo chịu được dù có hỏi 100 thằng hay 1000 thằng thì cũng có thằng trả lời là theo được và có thằng trả lời là bỏ cuộc đi
Còn cái thằng nó đã quyết tâm thử(tôi chưa nói có thành công hay không) thì nó đã đéo đi hỏi
just do it now
 
dm chán đời mấy ông cứ hỏi tôi xx tuổi abcxyz thì có theo được ko
theo được không thì các ông phải thử,đéo ai biết dc iq ,sự kiên trì,cố gắng của các ông đến đâu.Có tiền thì dk 1 khóa boots camp tầm 20 củ là biết rồi,không có tiền thì self taught.Không thành công thì cũng thành nhân ít ra cũng không hối hận vì đã cố gắng đến tận cùng
Dm cái cuộc đời mình mà cứ đi hỏi thằng khác chán đéo chịu được dù có hỏi 100 thằng hay 1000 thằng thì cũng có thằng trả lời là theo được và có thằng trả lời là bỏ cuộc đi
Còn cái thằng nó đã quyết tâm thử(tôi chưa nói có thành công hay không) thì nó đã đéo đi hỏi
just do it now
tìm đươc mentor chưa fen, backend thì cho tui vào học chung, 2 ae share tiền, nhưng mà tui thích 4-5 năm exp, senior, chứ 1 năm mentor sao mà học được nhiều, 1 năm exp sợ có khi còn hiểu sai, mình học theo mình cũng bị sai theo á :sad:
 
tìm đươc mentor chưa fen, backend thì cho tui vào học chung, 2 ae share tiền, nhưng mà tui thích 4-5 năm exp, senior, chứ 1 năm mentor sao mà học được nhiều, 1 năm exp sợ có khi còn hiểu sai, mình học theo mình cũng bị sai theo á :sad:
tui đi học boots camp rùi fen ạ fen cứ cố xin đi thực tập không lương đi chứ tui thấy fen tự học code ở voz này dc 3 năm rùi đó ko thì fen cố bỏ 22m sang bên techmaster học đi chứ để thêm 1 2 năm nữa là càng khó đó fen
 
tìm đươc mentor chưa fen, backend thì cho tui vào học chung, 2 ae share tiền, nhưng mà tui thích 4-5 năm exp, senior, chứ 1 năm mentor sao mà học được nhiều, 1 năm exp sợ có khi còn hiểu sai, mình học theo mình cũng bị sai theo á :sad:
tôi nói thật ông già mà ngu vcl java,python vs c++ vs backend nó ít tuyển fresher lắm ,nó toàn tuyển những thằng 5 6 năm kinh nghiệm ông còn đéo chịu làm pet project để show cho nó xem thì ông khác gì thằng grab đâu
xem link này để bớt ngu
 
tôi nói thật ông già mà ngu vcl java,python vs c++ vs backend nó ít tuyển fresher lắm ,nó toàn tuyển những thằng 5 6 năm kinh nghiệm ông còn đéo chịu làm pet project để show cho nó xem thì ông khác gì thằng grab đâu
xem link này để bớt ngu
nó cũng có ý đúng nhưng mà ở vn nhiều công ty nhỏ cũng tuyển java, python,C++ chứ không phải công ty lớn như FPT. Mà FPT FA nó cho fresh học 4 tháng bootcamp đi làm việc có sao đâu

Hai là, ông đọc hết các tâm sự của ông tay ngang này thì thấy ông ý có tư tưởng là cứ apply vào, chỉ cần có cảm giác làm được là apply chứ không quan trọng requirement. Tui tâm sự với em gái quen trên mạng, nó còn chuyển từ dev java sang devops được cơ, ảo diệu lắm, hỏi nó tại sao làm được thì nó bảo là, chỉ cần "thích", thế thui
 
nó cũng có ý đúng nhưng mà ở vn nhiều công ty nhỏ cũng tuyển java, python,C++ chứ không phải công ty lớn như FPT. Mà FPT FA nó cho fresh học 4 tháng bootcamp đi làm việc có sao đâu

Hai là, ông đọc hết các tâm sự của ông tay ngang này thì thấy ông ý có tư tưởng là cứ apply vào, chỉ cần có cảm giác làm được là apply chứ không quan trọng requirement. Tui tâm sự với em gái quen trên mạng, nó còn chuyển từ dev java sang devops được cơ, ảo diệu lắm, hỏi nó tại sao làm được thì nó bảo là, chỉ cần "thích", thế thui
Rồi cuối cùng mục đích là gì để bào chữa cho mình?
 
nó cũng có ý đúng nhưng mà ở vn nhiều công ty nhỏ cũng tuyển java, python,C++ chứ không phải công ty lớn như FPT. Mà FPT FA nó cho fresh học 4 tháng bootcamp đi làm việc có sao đâu

Hai là, ông đọc hết các tâm sự của ông tay ngang này thì thấy ông ý có tư tưởng là cứ apply vào, chỉ cần có cảm giác làm được là apply chứ không quan trọng requirement. Tui tâm sự với em gái quen trên mạng, nó còn chuyển từ dev java sang devops được cơ, ảo diệu lắm, hỏi nó tại sao làm được thì nó bảo là, chỉ cần "thích", thế thui
ông phải hiểu giữa "thích" và "phù hợp".Ông có biết tại sao 100% những mentor đều khuyên dân tay ngang học web frontend ko vì nó dễ tiếp cận dễ làm ra pet project để đi xin việc còn khi ông vào làm dc fresher rồi ông làm 6 tháng 1 năm ông thích cl gì thì ông đi mà học lúc đấy cơ hội vẫn có cho ông
trên thực tế việc biết đủ(tôi ko nói master vì nó vô cùng) giữa html css và c++ để đi làm nó gấp nhau phải 10 lần time và iq
Tôi cũng thích thuật toán, thích backend nhưng sau khi tham khảo vài người tư vấn thì tôi đã chọn khóa frontend boost camp vì thấy nó THỰC TẾ nhất với hoàn cảnh của mình
Ngay như cái việc tìm mentor tôi đã thấy tư duy của ông nó ngu rồi, mấy hôm trước t tìm mentor backend 6 tháng vs 1 năm exp còn đỏ mắt ko thấy cuối cùng phải dk 1 khóa học boost camp,đây ông còn đòi tìm mentor 4, 5 năm exp cái người có 4,5 năm exp người ta làm freelance cũng gấp 10 lần cái tiền mentor cho ông rồi cớ sao người ta phải bỏ time nắng nóng đi dạy cho 2 thằng già đần độn như ông và tôi ????
Ông cứ đòi hỏi những cái nó đéo có thật,tôi nói có thể hơi nặng lời nhưng ông nên lớn hơn 1 tí
 
nó cũng có ý đúng nhưng mà ở vn nhiều công ty nhỏ cũng tuyển java, python,C++ chứ không phải công ty lớn như FPT. Mà FPT FA nó cho fresh học 4 tháng bootcamp đi làm việc có sao đâu

Hai là, ông đọc hết các tâm sự của ông tay ngang này thì thấy ông ý có tư tưởng là cứ apply vào, chỉ cần có cảm giác làm được là apply chứ không quan trọng requirement. Tui tâm sự với em gái quen trên mạng, nó còn chuyển từ dev java sang devops được cơ, ảo diệu lắm, hỏi nó tại sao làm được thì nó bảo là, chỉ cần "thích", thế thui
thế ông đi học FA 4 tháng boost camp đi mà làm back end
 
Back
Top