Mới ra trường nên xin vào công ty nào để học hỏi nhiều hơn?

Chào mọi người
mình xin viên năm cuối, còn chờ bằng, đang không biết nên xin vào công ty lớn hay startup, công ty tư nhân hay nhà nước?
mục đích của mình học dc nhiều công nghệ mới càng tốt, lương fresher đủ sống ạ?
hiện tại mình focus vào VNPT ko biết Ai làm ở đó rồi, cho mình hỏi fresher có nên làm ở đó ko?

Google, Facebook, Apple, Tesla.

4 Likes

mình ở Việt Nam Bạn ơi

Tớ sẽ cho cậu một số thông tin về các công ty lớn/startup product nha. Các công ty tư nhân/nhà nước thì tớ sẽ tránh bình luận.

Công ty lớn

Điểm mạnh

  • Process ở các công ty này được định nghĩa rõ ràng và được cải thiện qua thời gian. Điều đó có nghĩa là cậu không phải tốn thời gian suy nghĩ về những lỗi quy trình nhỏ nhặt, hay sự thiếu gắn kết khi teamwork, tài liệu,… dẫn tới cuối dự án mọi người múa với nhau :smile:
  • Management ở các công ty lớn thường tốt hơn các công ty nhỏ. Cậu cũng sẽ bớt phải suy nghĩ về những quyết định tồi nhỏ nhặt của manager.
    Đây thực ra là lý do lớn để rất nhiều người giỏi ở công ty lớn.
  • Cậu sẽ dễ dàng hòa nhập vào các công ty này hơn, do quy trình onboarding hay các thủ tục, tài liệu đầy đủ hơn nhiều.
  • Dự án ở các công ty này thường có độ phức tạp lớn hơn, bài toán phải giải quyết lớn hơn, ở quy mô lớn hơn. Cậu sẽ học được rất nhiều nếu cậu chăm chỉ.
  • Nếu may mắn gặp được leader tốt (ở các cty to sẽ có nhiều người như vậy hơn), cậu sẽ học được rất nhiều tính cách và kỹ năng tốt từ người này (đặc biệt là các kỹ năng như ownership, problem solving, professional).
  • Cậu sẽ học được rất nhiều qua code review. Lúc này, các leader/senior sẽ chỉ cho cậu best practice để implement một thứ nào đó khi cậu raise PR.

Điểm yếu

  • Cậu sẽ rất khó có “đóng góp to lớn” cho một dự án nào đó ở giai đoạn đầu, đặc biệt khi cậu là fresher.
  • Information overhead. Cậu sẽ phải làm quen với rất nhiều khái niệm, rất nhiều vị trí, con người, cách tìm kiếm thông tin, bla bla.
  • Cậu sẽ chỉ được làm những thứ nhỏ nhặt ban đầu, trong khoảng thời gian dài. Nếu cậu không chăm chỉ trau dồi, cậu sẽ chỉ được làm những thứ nhỏ nhặt mãi mãi.
  • [Về công ty product] Rất có thể cậu sẽ phải làm việc với các công nghệ từ thời T-rex. Họ sẽ quan trọng sự ổn định của sản phẩm hơn bỏ công để cải tiến công nghệ mới.
  • Cậu khả năng cao sẽ chỉ được làm mỗi cái móng chân của bức tượng :sweat_smile:
  • Cậu sẽ phải trả rất nhiều technical debt của người khác.
    Source code cậu làm việc được gọi là legacy code, do một ai đó viết vội để release chức năng.

Công ty startup

Điểm mạnh

  • Công ty ít người, nên mọi người sẽ rất vui.
  • Các công ty này thường hướng tới văn hóa hơn sự chuyên nghiệp.
  • Cậu sẽ được động tay vào giải quyết mọi vấn đề khi bắt đầu xây dựng một thứ gì đó.
  • Cậu có cơ hội được làm những thứ đơn giản nhưng “to tát” hơn, tức là thay vì chỉ làm một cái nút đơn giản, cậu được làm cả một sản phẩm đơn giản.
  • Cậu có cơ hội học hỏi trực tiếp từ CEO/CTO/CxO.
  • Nếu startup ăn nên làm ra, cậu sẽ được đẩy lên các vị trí cao hơn rất nhanh, kể cả khi cậu chưa đủ năng lực đảm đương.
  • [Về công ty product] Cậu sẽ có cơ hội làm việc với cutting-edge technology ở đây.

Điểm yếu

  • Process là điểm yếu chí mạng của các công ty này. Họ không có thời gian xây dựng điều này, dẫn tới việc càng tới cuối dự án, họ càng gặp rất nhiều khó khăn.
  • Management là điểm yếu thứ 2 của các công ty này. Họ sẽ chỉ có một số nhân sự chủ chốt (thường rất tốt), nhưng các middle level manager thường sẽ là trở ngại cho họ về sau, khi những người có đóng góp ban đầu được đưa lên vị trí này không phải do năng lực của họ.
    Nếu các công ty startup không giải quyết được sớm điều này, rất khó để cho họ bứt lên, khi những cá nhân giỏi sẽ rời công ty vì sự yếu kém của các manager. (Ở các công ty lớn cũng có điều này, cơ mà như tớ nói, họ có nhiều manager/leader giỏi hơn).
  • Cậu sẽ tạo ra rất nhiều technical debt.
    Sẽ có rất nhiều TODO trong code của cậu, có rất nhiều thứ “để làm sau” ở đây, để ưu tiên làm những thứ thiết yếu nhất, và thường là không có code review.
    Sau này, source code cậu viết sẽ được gọi là legacy code.

Cậu có thể tự cân nhắc các điều trên nha, vì bọn tớ chẳng biết cậu là ai, nên không thể nói được cậu sẽ thích hợp hơn với bên nào, chỉ cậu có thể quyết định được cậu thích bên nào hơn thôi.


[Off-topic] Mà tớ thấy các fresher ở VN hay có câu này:

Không rõ câu này được lấy từ đâu mà ai cũng nói vậy ha :sweat_smile:

8 Likes

3 posts were merged into an existing topic: Topic lưu trữ các post off-topic - version 3

Anh có thể gợi ý em 1 bài post hoặc 1 phân tích nên làm công ty outsource hay product lúc mới ra trường được ko ạ?

Hì, sao cậu không thử tự tìm nhỉ? :smile: Tớ tin là có rất nhiều bài nói về vấn đề này rồi. Nếu cậu muốn tìm tài liệu, cậu nên tự tìm, và đọc hết tất cả các tài liệu đó. Nếu cậu muốn bọn tớ tư vấn gì, cậu nên tìm hiểu các tài liệu liên quan trước rồi đưa ra câu hỏi cụ thể cho bọn tớ (sẽ rất tốt nếu như cậu có thể tổng hợp luôn những gì cậu đã biết, ít nhất tránh việc bọn tớ nói những gì cậu đã biết rồi).

Ngoài ra, tớ không thể nói được in general tất cả các bạn mới ra trường nên vào công ty nào. Tớ tin không ai làm được điều đó, vì:

  • Mỗi người có một mục tiêu riêng. Ví dụ, một người nào đó “muốn học được nhiều công nghệ mới càng tốt, lương fresher đủ sống” thì hẳn nhiên sẽ ưu tiên làm các dự án ngắn hạn, yêu cầu trung bình và được làm mới (có thể nhận được dễ dàng ở đa số các công ty outsource).
  • Mỗi người có một skill set riêng. Mỗi người nên chọn các công ty hợp với mình về các kỹ năng và định hướng, hơn là chọn một công ty product quá to, hoặc quá nhỏ để làm.
  • Mỗi công ty có quy mô, nhu cầu riêng. Ví dụ: một người mới ra trường, không có khả năng gì đặc biệt kể về kỹ năng lẫn mindset, thì khó có thể clear nổi vòng phỏng vấn của các công ty quy mô trung bình và lớn với nhu cầu về nhân sự fresher có tiềm năng lớn. Khi đó, người này nên target các công ty nhỏ hơn.

Vậy nên:

2 Likes

e chỉ muốn làm hệ sinh thái và tech liên quan python, js thôi, thì em nên xin vào công ty product phải ko ạ> vì vào đó sẽ chuyên sâu về ngôn ngữ và tech hơn , outsource thì nay ngôn ngữ này mai ngôn ngữ khác e thì chỉ muốn chuyên sâu sau còn giỏi đi dạy học

Cậu thực ra vẫn có thể làm công ty outsource với yêu cầu chỉ làm 1 vài ngôn ngữ. Lượng dự án python & js thường khá dồi dào, nên tớ không nghĩ cậu sẽ gặp vấn đề gì nếu cậu muốn là chuyên gia python/js.
Vậy nên, đó không phải lý do để cậu “nên xin vào công ty product hơn” :smile:

Điều này tớ e là myth :smile: Thực ra, có rất nhiều chuyên gia 1 stack kỹ thuật ở công ty outsource, và tớ nghĩ không ai có thể bắt cậu đi làm một stack mà cậu không muốn được.

Thêm một myth nữa: cậu không nhất thiết phải chuyên sâu để đi dạy học, nếu như cậu muốn đi dạy học. Cậu chỉ cần nắm chắc cơ bản thôi :smile:

On bottom line, cậu nên cân nhắc thêm về việc chọn công ty của cậu trước khi quyết định. Lý do hiện tại của cậu không đủ thuyết phục để cậu quyết định phải chọn công ty product, vì thế, nếu cậu vẫn stick với lựa chọn này, cậu có thể sẽ mất đi rất nhiều cơ hội phát triển, đặc biệt là khi cậu muốn “học nhiều công nghệ mới”, và hẳn nhiên, cậu là người chịu trách nhiệm cho việc đó.

Chia sẻ ở trên của tớ về product company là ở trải nghiệm của cá nhân tớ, nên hi vọng cậu không hiểu nhầm sang việc tớ recommend công ty product hơn outsource, hay có bất cứ so sánh gì về 2 công ty này. Tớ chỉ không ở vị trí để phát biểu thay cho các kỹ sư bên đó thôi :smile:

Just a reminder:

2 Likes

Bạn đặt câu hỏi này từ tháng 4, bây giờ tháng 6, tức là 2 tháng qua bạn không tự tìm hiểu gì hả :slightly_smiling_face:?
Cuộc đời của bạn, hãy tự mình đưa ra quyết định đi

4 Likes

A có cho e hỏi có phải làm công ty product sẽ ko được làm dự án từ đầu , vào đó chỉ maintain, phát triển thêm tính năng phải ko ạ?

Tùy từng trường hợp bạn nhé, có khi bạn sẽ được làm từ đầu, có khi vào maintain. Mặc dù vậy mình nghĩ bạn phải là người có khả năng thích ứng với mọi tình huống. Ở công ty mình đây, có những đội tập hợp những chuyên gia rất giỏi, những dự án nào mà sắp cháy thì những chuyên gia ở đội này sẽ nhảy vào chữa cháy. Đấy bạn thấy đấy, người ta vào maintain giữa chừng mà người ta vẫn làm được, thậm chí còn làm rất tốt. Về tâm lý ai cũng muốn làm từ đầu, nhưng vào maintain làm giữa chừng mà vẫn làm được mới gọi là giỏi, mới gọi là cao thủ.

Câu hỏi này bạn hỏi khi đi phỏng vấn, cuối buổi phỏng vấn người ta có cho bạn hỏi vài câu. Tuy nhiên, nên tìm hiểu rõ công ty định nộp đơn và kết bạn với một vài người trong đó, nếu có thể, kết bạn ngay với người mà sẽ là đồng đội của bạn trong tương lai, cùng team với bạn.

Kinh nghiệm của mình: vì mình là dân học văn nên không có bất cứ văn bằng chứng chỉ gì về IT nhưng lại muốn vào làm cty IT. Cách làm: mình đã bỏ ra 2 tháng ngày nào cũng lân la trước công ty dự định nộp đơn, buổi trưa đợi nhân viên cty đi ăn cơm ngoài quán, đi theo họ vào ngồi cùng bàn trò chuyện, kết bạn được vài người. Khi mình chia sẻ ước mơ được vào làm chung, mới đầu người ta nhìn mình mắt tròn mắt dẹt vì họ nghe mình học về văn học (không cổ điển cũng chẳng hiện đại), nhưng rồi thì họ cũng nói là nếu có vị trí nào thích hợp sẽ báo ngay cho biết để nộp đơn. Sau 60 ngày “lăn lộn” đó => mình đã hình dung rất rõ mình sẽ làm gì. Khi được gọi phỏng vấn, chỉ mới chào hỏi vài câu đã chắc đến 90% có nhận mình vào làm hay không.

Túm lại là vào làm cty, được giao việc gì làm nấy, không ai giao thì thấy việc gì cần làm thì làm, kể cả ngủ ngáy cũng xem là một việc đáng làm :upside_down_face: . Dù sao, bạn đã tìm hiểu rõ công ty, nơi bạn sẽ “bán thân” vào nên chắc chắn không còn cọc cạch/ lăn tăn gì nữa (vì nó khác với mong đợi của bạn) bởi bạn đã gần như “đi guốc trong bụng” cái team mà mình cùng chiến đấu kề vai sát cánh.

Buổi tối về thay vì đi chơi với bạn trai/ gái (cuối tuần đi 1-2 giờ là đủ) thì “nuôi thú cưng” bằng một dự án chuyên sâu mà bạn định làm lâu dài. Rồi thi… “bỗng nhiên một ngày đẹp trời”, bạn sẽ được bốc sang vị trí đó khi cần người liền à. Hồi đó mình có biết tí gì về IT đâu, xin vào công ty công nghệ chủ yếu là để viết tài liệu hướng dẫn sử dụng phần mềm, nhưng rồi sau đó được bốc sang làm triển khai, cài đặt cấu hình server Windows, RedHat, Sun Solaris các kiểu con đà điểu, rồi cài đặt, chuyển giao mấy cái Xe Boi, rồi thì WebSphere, Lifefray, Plone,… blah blah gì đó dài lê thê như một hồi chiêng trong sử thi Đam San :D. Sau đoạn trường đó, giờ đây mình chủ yếu làm về Perl, viết dặm những đoạn code nho nhỏ khi cần bổ sung gì đó. Đời không là mơ!

3 Likes

em thấy Anh cao thủ iT thế mà Anh bảo Anh học văn, e ko tin đâu.
e có cũng một số người quen , hay bạn bè đang làm sẵn ở công ty rồi, có phải e nên xin vào đó sẽ có cơ hội pass phỏng vấn hơn đúng ko ạ?
khi hỏi phỏng vấn, có cơ hội em sẽ nói em có bạn bè , người quen đang làm ở đây rồi, liệu họ có có đắn đó cân nhắc cho em qua ko

Nên tìm công ty lạ, người ở đó toàn là người lạ mà bạn làm quen được trên con đường đi tìm việc hơn là xin vào công ty đã có người quen bạn sẵn biết. Mấy cái quen biết mới đầu thì thoạt nhìn có vẻ giúp ta lợi thế, nhưng về lâu dài đó là một sự chua xót đắng cay mang tính Á Đông, bị trả giá rất cao.


Niềm tin của bạn không ảnh hưởng đến kỹ năng về văn học hoặc IT của mình :smiley: đó là sự thật, và mình vẫn học mỗi ngày. Hôm nay đây, mình vẫn đang vò đầu bứt tóc với JavaScript ES 6, mấy cái closure, callback, lambda (hay Lambada nhỉ? :upside_down_face: ) làm mình cảm thấy hoang mang tột độ đây này chứ cao thủ cái gì.

5 Likes

Hì hì, nếu vậy, ai là người làm cái dự án cho mọi người maintain? :smile:
Và nếu đúng là như vậy, cậu có nghĩ công việc này không “thượng đẳng” dành cho cậu, người vẫn chưa có việc sau 2 tháng không? :smile:


Có lẽ cậu nên dừng việc trì hoãn đi xin việc, và bắt đầu thực sự phỏng vấn thôi. Việc dành ra 2 tháng chỉ để nghĩ xem mình nên vào công ty startup, tư nhân hay nhà nước, rồi product hay outsource, rồi thắc mắc nên vào công ty có bạn bè/người quen hay không, có vẻ sẽ không hiệu quả lắm cho việc xây dựng sự nghiệp của cậu (Tớ thậm chí không chắc cậu có thể clear được vòng phỏng vấn không - không phải tớ underrate cậu, chỉ là tớ chẳng biết khả năng của cậu thôi :sweat_smile:).
Nếu cậu tiếp tục trì hoãn, có lẽ còn rất lâu nữa chúng ta mới biết cậu có vào được một công ty product “chỉ maintain, phát triển thêm tính năng”, hay vào một công ty outsource “có thể làm một dự án hoành tráng từ đầu, không phải chỉ ngồi maintain và phát triển thêm tính năng” :wink:

3 Likes

nói là maintain e cũng chả biết maintain thực sự là như nào, trước giờ e toàn tự học thì làm từ đầu đến cuối.còn maintain hay làm từ đầu, thì mỗi cái có cái hay riêng, cái này nhờ các ANh Chị tiền bối đi trước phân giúp ạ, nếu sẵn lòng

Có lẽ bạn thuộc “thế hệ gấu bông” nên mấy việc thuộc loại tự thân vận động không mạnh bằng các thế hệ trước. Vì thế, mình dám cho rằng khó có khả năng bạn lọt vào số ít người đã/ đang và sẽ tự sửa xe đạp/ xe máy/ hoặc ô-tô đang đi khi nó có biểu hiện hư hỏng <= đây khá giống với việc maintain phần mềm hoặc PC khi bạn đi làm ở môi trường công ty.

Vấn đề ở đây đó là cần lập trình ngôn ngữ tư duy của bạn theo hướng “tối ưu hoá toàn cục”. Chắc bạn đã từng đọc câu chuyện về những chiếc kim đồng hồ hoặc các bộ phận của cơ thể con người. Từ đó, ta rút ra bài học gì trong cuộc sống? Rút ra là ta phải biết được ta đang có đủ năng lực để đứng/ hoặc ngồi ở vị trí nào trong xã hội, trong công ty, trong gia đình,… blah blah. Khi biết được rồi thì ta vui vẻ mà chấp nhận làm tốt ở vị trí đó để tích luỹ kỹ năng, kinh nghiệm từ từ tiến lên trên con đường sự nghiệp.

Vậy, cái bạn “mới ra trường” đây, tự đánh giá xem mình đủ sức ở mức nào bằng cách đi nộp đơn, ứng tuyển để người ta phỏng vấn, đậu rớt bao nhiêu líệt kê, phân tích kỹ là biết ngay thôi mà. Nếu vẫn chưa/ không tự đánh giá được thì kiếm mấy cái bài test dành cho kỹ sư (tự Google làm theo chuẩn Nhật Bản xem) làm thử xem mình ra sao. Thử làm mấy cái thử thách khác cũng miễn phí đầy trên mạng để đánh giá tiếp.

Một khi nhận ra thực sự ta đang ở mức độ nào (nói vui theo ngôn ngữ “văn mạng” hiện nay: không trong trạng thái… hút cần & không ATSM :smiley: ) thì hãy yên tâm, vững vàng mà đi làm ở vị trí đó, dẹp bỏ ngay và luôn tâm lý đứng núi này trông núi nọ/ cỏ bên kia đồi xanh hơn, cũng VỨT NGAY VÀ LUÔN TƯ TƯỞNG dựa dẫm vào gia đình để rồi không thèm đi làm ở đâu hết, chờ đợi vị trí thơm ngon/ yêu thích/ kích thích đam mê <= chờ tới mùa khoai nhé cưng.

Túm lại, đi làm việc từ vị trí thấp nhất khi kiếm được chỗ để làm (đừng vào mấy cty quá độc hại là được - dễ biết nó độc hại hay không khi đã từng đi ăn cơm cùng các “ma cũ” ở đó), ăn cơm chan nước mắm/ nước tương gì đó để rồi đời nó nhào nặn ta nên người. Mấy “tên” sống trong môi trường của tủ kính trong “trò chơi gắp thú bông” để cho em Misthy gắp tới gắp lui chừng 2 năm là xem như những gì học ở cao đẳng/ đại học trả về hết cho trường => đánh mất luôn sự nghiệp chuyên môn từng học.

Do đó, không có lời khuyên nào tốt, chi bằng ta cứ thử dấn thân như cái bà COO này xem sao.

5 Likes

:man_facepalming:
Vậy thì cậu dựa vào đâu để nói câu này vậy?


Software maintain là công việc cậu cải thiện một phần mềm đã có. Việc này bao gồm:

  • Sửa các lỗi của phần mềm: bug, memory leak, etc.
  • Cải thiện hệ thống: performance optimization, refactoring, etc
  • Xóa các tính năng, dữ liệu không còn dùng nữa để dọn dẹp code base/database
  • Migration: version up library, migrate sang nền tảng mới, etc
  • Quản lý software configuration, etc
  • Các operation có thể tính vào việc maintain software, như release, error troubleshooting và error recovery, manual operation để vận hành hệ thống…

Tớ không chắc còn sót việc gì không :smile: Cơ mà có vẻ khá đầy đủ rồi.
Thường với fresher mới vào công ty, cậu chắc chỉ được implement một số tính năng mới nho nhỏ, hay fix các bug nho nhỏ thôi (các công việc maintain có thể được các kỹ sư có kinh nghiệm và kỹ năng hơn). Nếu cậu thể hiện tốt sau vài năm, có lẽ lúc đó cậu mới được thực sự làm công việc maintain.

Tớ nghĩ cậu chỉ được học tới lúc bàn giao sản phẩm thôi, chứ không được học những gì xảy ra sau khi bàn giao sản phẩm. Tớ cũng đoán cậu cũng không được học software deployment, mà chỉ học tới mức test và viết document cuối cùng.

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?