Chuyện phỏng vấn: "Em đang ở level nào?"

Chuyện phỏng vấn: "Em đang ở level nào?"

Tin ngắn hàng ngày dành cho bạn
  • Void - cái tên mình đã nhắc đến từ cách đây khá lâu. Từ đợt mà continue.dev mới nổi lên á. Nó tương tự như Cursor và Windsurf, mới hôm nay họ đã phát hành phiên bản Beta và cho phép mọi người tải xuống.

    Điểm mạnh thì đây là nguồn mở, miễn phí, dùng các mô hình miễn phí cục bộ trên máy qua Ollama hoặc LM Studio... Không thích thì cắm API của bên khác vào cũng được. Mình vừa dùng thử thì thấy khả năng gợi ý và khung chat khá tương đồng với Cursor, có cả tính năng Agent luôn nhé 👏. Hoạt động ổn định hơn continue.dev (lần cuối dùng), việc còn lại là chọn mô hình xịn xịn tí 🤤

    » Xem thêm
  • Zed mới đây đã giới thiệu thêm tính năng Agent - tương tự như Agent trong Cursor hay Write trong Windsurf và họ gọi nó là The Fastest AI Code Editor.

    Cũng nhanh thật đấy vì Zed viết bằng Rust. Cơ mà chiến lược của họ có vẻ thay đổi, tập trung vào AI thay vì phát triển kho tiện ích mở rộng vốn đang có rất ít, không thể cạnh tranh được với VSCode 🥶

    Zed: The Fastest AI Code Editor

    » Xem thêm
  • Ngay sau thông tin OpenAI đạt được thoả thuận mua lại Windsurf với giá 3 tỉ đô thì ngày hôm nay Cursor đã miễn phí 1 năm dùng bản Pro cho sinh viên. Chaaaaà 🤔

    OpenAI Reaches Agreement to Buy Startup Windsurf for $3 Billion

    Cursor for Students | Cursor - The AI Code Editor

    » Xem thêm

Vấn đề

Lần gần đây nhất tôi đi phỏng vấn tìm việc là khoảng 4-5 tháng trước. Như bao người khác, đi nhiều nơi, mỗi nơi là một trải nghiệm thú vị và nhận thấy một điều là không ai hỏi giống ai. Tôi chuẩn bị cho mình một tâm lý thoải mái và đặt ra những tiêu chí về môi trường làm việc mới, không quá quan trọng lý thuyết mà sẽ trả lời dựa trên kinh nghiệm làm việc thực tế của mình.

Một ngày nọ, có một anh CTO hỏi tôi một câu "Em tự nhận thấy mình đang ở level nào?". Tôi không chần chừ mà trả lời luôn: "Thực ra em chưa để ý nhiều đến level của mình, mục tiêu trước mắt là không ngừng học hỏi...". - "Em chưa xác định được level của mình thì cũng cần phải xem xét lại nhé!"

Dễ nhận thấy là người phỏng vấn đang muốn tôi lựa chọn giữa 3 mức Junior, Mid-Level và Senior. Với một người có hơn 5 năm kinh nghiệm, có thể tôi sẽ lựa chọn mình ở mức Senior, bởi vì đây là một điều có thể chấp nhận được khi thị trường tuyển dụng trong nước thường hay cho rằng người có từ 5 năm kinh nghiệm trở lên có thể coi là Senior. Nhưng tôi nghĩ, hiện tại mình vẫn chưa đạt được cấp độ này, có thể mình chỉ đang ở mức Mid-Level. Nhưng vì quan niệm và thị trường đang có mâu thuẫn về sự phân biệt các cấp độ, hay nói cách khác 3 cấp độ này còn phụ thuộc vào suy nghĩ của mỗi người, cho nên tôi phân vân và không đưa ra được câu trả lời chính xác cho mình.

Lời của anh CTO nói là đúng, việc không xác định được Level của mình thì quả là nguy cấp, nhưng do không nói ra suy nghĩ cho nên bị hiểu nhầm là không xác định được mình ở đâu. Vì thế, bài viết ngày hôm nay chúng ta hãy thử bàn luận về 3 cấp độ Junior, Mid-Level và Senior để xem thực chất phải làm thế nào thì mới có thể coi là một Senior "xịn" nhé!

Junior, Mid-Level và Senior

Hãy thử tìm kiếm Google với từ khóa "Junior, Mid-Level và Senior developer" sẽ có rất nhiều kết quả được tìm thấy, chứng tỏ đây là một chủ đề được rất nhiều người quan tâm. Đa phần chúng ta vào đọc để xem mình đang ở đâu và cần phải làm thêm gì thì mới có thể đạt được cấp độ tiếp theo.

Trong số đó, nhiều bài liệt kê ra số năm kinh nghiệm để đánh giá được một người đang ở cấp độ nào. Ví dụ, mới ra trường sẽ là Junior, 3-5 năm sẽ là Mid-Level, từ 5 năm trở đi thì thành Senior...!? Quả thật mà nói trước kia tôi cũng từng tin sái cổ vào những con số này. Cho rằng càng làm lâu thì "bậc" của mình cũng sẽ tự tăng.

Hoặc cũng có bài viết chỉ ra rằng số năm không hoàn toàn quyết định level của một người, mà dựa vào khả năng giải quyết vấn đề của người đó. "Họ biết cách tổ chức mã, quan tâm đến khả năng bảo trì sau này, cách đặt câu hỏi và cách giải quyết..." Nghe thì hợp lý, nhưng có lẽ vẫn chưa đủ. Đối với tôi, một lập trình viên không chỉ biết mỗi code. Do đó để đạt được cấp cao nhất trong lập trình thì phải vượt qua cả việc code và làm được nhiều điều hơn nữa.

Tình cờ tôi tìm thấy một bài viết nói rất chi tiết về những thứ có thể đạt được ở cả 3 cấp độ. Hơn nữa nó còn rất đầy đủ và chi tiết cũng như đưa ra lời khuyên làm sao để tăng được level. Bạn đọc có thể xem tại Levels of Seniority.

Để tóm tắt, bài viết tập trung nhất vào cấp độ Junior, nêu ra khái niệm, biểu hiện và những điều cần làm để tiến bộ hơn. Một vài ý nổi bật như là:

  • Câu thần chú chính của họ là "làm cho nó hoạt động" mà không chú ý nhiều đến giải pháp. Đối với họ, một phần mềm hoạt động được và một phần mềm tốt là tương đương nhau.
  • Họ không biết về khía cạnh kinh doanh của công ty, tức là không quan tâm hoặc không biết mình làm việc này cho công ty để làm gì.
  • Đổ lỗi cho người khác (Somebody else's problem) khi cho rằng ai đó phải chịu trách nhiệm cho vấn đề của bạn.
  • Họ không tham gia thảo luận nhóm.
  • ...

Sau đó, tác giải đưa ra những lời khuyên cho Junior như sau:

  • Đọc nhiều mã, không chỉ mã trong các dự án mà bạn đang làm việc, mà cả mã nguồn của các thư viện, Framework, mã nguồn mở...
  • Tự làm các dự án cá nhân.
  • Ngừng đổ lỗi.
  • Đừng để bản thân bị giới hạn bởi chức danh mà bạn có. Làm nhiều việc và chủ động hơn.
  • Tránh nói "nó hoạt động trên máy của tôi", ý chỉ hãy đi tìm hiểu nguyên nhân tại sao ứng dụng không hoạt động ở đâu đó, vì chắc chắn người khác đang gặp phải vấn đề chứ không phải là bạn. Câu nói trên chẳng khác nào phủ nhận trách nhiệm vậy.
  • Tiếp xúc với các nhà phát triển cấp cao hơn, xem họ làm việc, nếu có thể thì tìm một người hướng dẫn mình. Không ai thích một người biết tất cả mọi thứ, nhưng hãy kiềm chế cái tôi của mình và khiêm tốn để tiếp thu những bài học từ những người có kinh nghiệm.
  • ...

Một Mid-level bao gồm tất cả những yếu tố của Junior, kèm theo đó là khả năng tự giải quyết vấn đề. Họ có nhiều hiểu biết hơn Junior tuy nhiên còn lúng túng trong việc áp dụng chúng. Tác giải nhấn mạnh rằng Mid-level là rất phổ biến và đôi khi họ bị nhầm với "Senior". Tuy nhiên, họ cần được cố vấn thêm để trở thành một Sernior "chính hiệu".

Senior là cấp độ tiếp theo sau Mid-Level developer. Họ là những người có thể tự mình hoàn thành công việc mà không cần bất kỳ sự giám sát nào và không tạo ra bất kỳ vấn đề nào trong quá trình thực hiện. Một số điều mà một Senior làm được như:

  • Họ thực dụng trong công việc, không bị ảnh hưởng bởi một công cụ tốt nhất.
  • Họ có một bức tranh toàn cảnh về lĩnh vực này, biết đâu là công cụ tốt nhất cho công việc trong hầu hết các trường hợp.
  • Họ biết họ đang ở trong một đội. Họ coi đó là một phần trách nhiệm của họ trong việc hướng dẫn người khác.
  • Họ có hiểu biết sâu sắc về lĩnh vực đang làm.
  • Họ nghĩ nhiều hơn là chỉ viết mã.
  • Họ biết cách đưa ra phản hồi mà không làm tổn thương bất cứ ai...
  • ...

Hay nói tóm lại, ngoài việc viết mã, một Senior có thể hướng dẫn, làm cố vấn cho người khác, hiểu biết sâu sắc về doanh nghiệp, lĩnh vực kinh doanh và cả yếu tố con người.

Tổng kết

Junior, Mid-Level và Senior là ba cấp độ của một lập trình viên, cấp độ Junior là thấp nhất cho đến Senior là người có hiểu biết sâu rộng. Việc xác định được mình đang ở cấp độ nào cũng như cần làm gì để đạt được Level tiếp theo là một điều hết sức quan trọng trong con đường sự nghiệp của mỗi người.

Cao cấp
Hello

Tôi & khao khát "chơi chữ"

Bạn đã thử viết? Và rồi thất bại hoặc chưa ưng ý? Tại 2coffee.dev chúng tôi đã có quãng thời gian chật vật với công việc viết. Đừng nản chí, vì giờ đây chúng tôi đã có cách giúp bạn. Hãy bấm vào để trở thành hội viên ngay!

Bạn đã thử viết? Và rồi thất bại hoặc chưa ưng ý? Tại 2coffee.dev chúng tôi đã có quãng thời gian chật vật với công việc viết. Đừng nản chí, vì giờ đây chúng tôi đã có cách giúp bạn. Hãy bấm vào để trở thành hội viên ngay!

Xem tất cả

Đăng ký nhận thông báo bài viết mới

hoặc
* Bản tin tổng hợp được gửi mỗi 1-2 tuần, huỷ bất cứ lúc nào.

Bình luận (2)

Nội dung bình luận...
Avatar
Anh (Daniel) Le1 năm trước
Senior theo mình thì, đơn giản thôi, bộ phận khác đưa ra 1 idea, họ có thể validate, process, và turn nó thành 1 sản phẩm có thể dùng được.
Trả lời
Avatar
Xuân Hoài Tống1 năm trước
Vâng, họ có thể làm được nhiều thứ và biết cách tìm ai để hoàn thành nó 🤝
Avatar
Triết Trương1 năm trước
Đồng tình vì nếu ai hỏi mình ở level nào thì mình cũng trả lời ở Mid Level hơn là Senior, vì không có thang đo phổ quát cho cấp bậc này mà mỗi công ty đang tự định nghĩa.
Trả lời
Avatar
Xuân Hoài Tống1 năm trước
Vâng, nhiều khi cũng rất khó trả lời hoặc giải thích cho họ hiểu được nỗi lòng mình.