Friday, February 2, 2018

BỨC XÚC CHUYỆN NGHỀ – PHẦN 2: TRÔNG NGƯỜI LẠI NGHĨ ĐẾN TA?

Ở bài trước, mình có bày tỏ bức xúc về những gạch đá mà lều báo và xã hội dành cho ngành IT Việt Nam, cũng như giải thích về những chuyện lương bổng, nhảy việc.
Kì này, chúng ta cùng tìm hiểu xem những chuyện này có phải là lỗi của lập trình viên không? Trình độ lập trình viên Việt Nam không thua nước ngoài mấy, nhưng ngành IT Việt Nam lại thua ngành IT của các nước khác khá xa, nguyên nhân vì đâu?
Bài viết gồm 3 phần:
Cùng đọc phần này để biết nhé.

Lập trình viên không biết tự học là tại… ngành giáo dục??

Nhiều người đổ lỗi lý ngành IT Việt Nam chưa phát triển cho … bản thân lập trình viên; lập trình viên lười, lập trình viên không biết tự học, lập trình viên ảo tưởng sức mạnh. Mình thì nghĩ ngược lại, mình nghĩ nguyên nhân chuyện này phần nhiều bắt nguồn từ ngành giáo dục và đào tạo.
Bạn nào theo dõi blog cũng đều biết, mình rất hay khuyên các bạn sinh viên là muốn phát triển trong ngành này thì phải chịu khó tự học đi, kiến thức trong trường không đủ đâu. Ở Việt Nam, từ mẫu giáo tới cấp 3 chúng ta quen thói đọc chép, dạy gì học nấy, nên lên Đại Học vẫn thế. Do đó lập trình viên Việt Nam chưa có tính tự học.
Dẫu biết rằng, tình trạng trẻ trâu lười biếng thì ở đâu cũng có, nhưng mình nghĩ lỗi vẫn do sự đào tạo của nhà trường. Mới vào Đại Học mà đã nhồi ngay một đống Toán Lý Hoá đại cương vô bổ vào đầu sinh viên. Mình toàn nghe các bạn kể là thầy dạy một đống, giao 1 đống bài tập rồi để các em tự bơi, học xong mà chẳng hiểu học làm gì.
Học lập trình mà cứ ngồi đọc chép, cày bài tập thì làm sao mà giỏi?
Sao các thầy không chịu khó khuyên có tâm như Code dạo, khuyên các em tự học, sau đó vẽ đường và chỉ cách học nhỉ? Thay vì dạy những kiến thức cũ (trước sau gì cũng lỗi thời), sao không dạy căn bản trước, sau đó dạy cách tự học, tư vấn lộ trình học, chỉ ra con đường để các bạn tự đi. (Như mình chẳng hạn, cuối mỗi bài viết mình đều thêm 1 số link để các bạn tìm hiểu kĩ hơn).
Đó cũng là lý do mà nhiều bạn sinh viên phải ra cúng tiền cho các trung tâm. Họ biết mình thiếu kiến thức, nhưng không biết tự học như thế nào, học những gì nên đành ra học ở trung tâm (Son xấu trai gì đó chẳng hạn).
Trung tâm không dạy là coi như không biết luôn. Nếu được dạy cách tự học ở trường, các bạn ấy sẽ tiết kiệm được nhiều thời gian và tiền bạc rồi.

Tiếng Anh không tốt, tạo rào cản lớn về ngôn ngữ

Ở nước ngoài, sách công nghệ hay rất nhiều và đủ thể loại. Có sách chuyên sâu về ngành lập trình, ngôn ngữ lập trình, về thiết kế, về kĩ nghệ viết code, hoặc qui trình làm việc. Khi có công nghệ mới ra đời, một thời gian sau cũng sẽ có vài cuốn sách hay về công nghệ đó được Appress, O’reilly ra mắt.
Muốn theo kịp công nghệ, phải chịu khó theo dõi và học từ sách nước ngoài.
Ngoại ngữ chính là lý do lập trình viên Việt Nam, nhất là sinh viên, chịu nhiều thiệt thòi hơn so với dev nước ngoài. Tiếng Anh của sinh viên VN phần lớn không giỏi (lại lỗi của hệ thống giáo dục), ngồi nghe mấy khoá học hoặc đọc sách 100% tiếng Anh thì làm sao mà tiếp thu?
Những quyển sách gối đầu của Developer thế giới: Clean Code, code Complete, Design Pattern v…v không hề có bản tiếng Việt

Biết tự học ở đâu khi mà tài liệu khan hiếm, nhất là tài liệu hay? 

Ở Việt Nam, đa phần sách là về thuật toán, về các ngôn ngữ như C, C++, sách công nghệ cũ, hoặc sách bài tập, đa phần là từ giáo trình của các trường Đại Học.
Thật lòng mà nói, mình chưa thấy cuốn sách tiếng Việt nào mang tính thực tiễn, gần gũi với công việc code hàng ngày, cũng không thấy cuốn nào đào sâu về ngôn ngữ như C# in Depth, Thinking in Java, Eloquent JavaScript,…. Sách tiếng Việt phần lớn mang tính chất “dạy code” hơn là “đào tạo lập trình viên”.
Dạo qua các forum, thấy nhiều bạn sinh viên muốn đọc sách lập trình, hỏi sách hay thì toàn được chỉ cuốn giải thuật gì đó của thầy Lê Minh Hoàng. Sách hay, và giải thuật cũng quan trọng thật đấy. Nhưng khi đi làm đa phần chẳng cần dùng đến mấy thứ cao siêu đó đâu!
Sao không chỉ các em tìm đọc những thứ thật tế, gần gũi với nghề nghiệp hơn như Code Complete, Clean Code, Refactoring… Tiếc thay, những cuốn này cũng không hề có tiếng Việt cho sinh viên đọc.
Sách về lập trình hay thì mình giới thiệu cuốn này, ahihi: https://tiki.vn/code-dao-ki-su-p580509.html
Đây một phần là lỗi của lập trình viên chúng mình, khi không chịu bỏ tiền ra mua sách (Đừng lo, nước ngoài cũng vậy, nghe đồn là trung bình một lập trình viên đọc chưa đến một cuốn sách mỗi năm). Nhưng mình nghĩ (lại nghĩ) một phần lỗi là do các nhà xuất bản chỉ chú trọng lợi nhuận.
Sách kĩ thuật rất khó bán so với sách ngôn tình, sách kinh tế nên phải đội giá lên cao. Đây là lý do cuốn Code Dạo Kí Sự giá đến 160k, trong khi tiểu thuyết hay sách về quản lý cùng độ dài chỉ khoảng 80k. Giá cao thì không bán được, lại lỗ, hậu quả là chúng ta lại không có sách mà đọc!

Phát triển chuyên môn kiểu gì? Môi trường và dự án đâu mà học?

Developer Việt cũng hay bị chê là… thiếu kinh nghiệm, trình độ chuyên môn không cao. Cá nhân mình nghĩ yếu tố này phụ thuộc vào môi trường, và công ty. Để nâng cao khả năng chuyên môn, cách tốt nhất là thực tập hoặc đi làm.
Chỉ có trải qua quá trình làm việc, học hỏi qua dự án thì mới nâng cao trình độ được. Đó cũng là lý do mà người đi làm 3,4 năm, có nhiều kinh nghiệm hơn sẽ giỏi hơn, lương cao hơncác bạn mới ra trường.
Lại một thực trạng nữa, ở Việt Nam phần lớn các công ty lập trình là công ty outsource. Vào những công ty này, bạn sẽ học được nhiều về qui trình, cách làm việc nhóm. Tuy vậy, bạn sẽ thiếu tư duy sản phẩm, tư duy thiết kế hệ thống, cách làm việc với khách hàng.
Thử nghĩ xem, các dự án quanh đi quẩn lại chỉ có bảo trì, outsource, code theo design sẵn có thì phát triển kĩ năng vẹo gì nữa bây giờ?
Hoặc ở các công ty vừa và nhỏ, bạn học được gì khi ngồi cắt file PSD ra HTML/CSS suốt 2,3 năm? Học được gì khi suốt ngày build đi build lại web tin tức, code web bán hàng cho mấy doanh nghiệp cò con?
Dân biết cắt PSD thành HTML, CSS rất nhiều, canh tranh nhiều mà lương thấp. Hãy cày JS cho giỏi để thành front-end developer!
Tất nhiên, cũng có khá nhiều công ty lớn có product như VNG, TGDD, NCT, Tiki, …  Nếu tham gia build web tin tức cho VNExpress, web bán hàng của tiki hay thegioididong thì lại khác. Các sản phẩm này phục vụ hàng triệu người dùng, nên sẽ có những vấn đề kĩ thuật rất hay để giải quyết
Nhiều công ty cứ muốn ăn sẵn mà không chịu khó tự đào tạo. Sao ko kiếm junior dev về rồi đào tạo người ta? Sợ nhảy việc thì cứ cho lương cao bằng với thị trường đi!
Lấy Fsoft làm ví dụ, mặc dù nó bị chê nhiều vì lương thấp, bóc lột, bản thân mình lại thấy nó cũng có vài cái khá hay như: có lớp Fresher đào tạo sinh viên mới ra trường, tài trợ tiền thi chứng chỉ, lâu lâu có các khoá đào tạo chứng chỉ miễn phí cho dev.

Trách nhiệm của chính developer

Tất nhiên, việc tự học, tự trau dồi kinh nghiệm cũng là trách nhiệm của developer, tức là chính các bạn!
Cùng làm một công việc, có người được giao gì làm nấy, xong việc thì vỗ đùi tự cho là mình giỏi, sẽ chẳng học được gì cả. Ngược lại, vừa làm việc, bạn vừa cố gắng tìm hiểu kĩ việc mình đang làm, quan sát và học hỏi những cái hay của những người xung quanh thì sẽ nhanh phát triển hơn nhiều.
Học hỏi từ sếp, từ đồng nghiệp để bản thân tiến bộ hơn
Một công ty tốt, môi trường tốt sẽ cho ta cơ hội để học hỏi, nhưng có tận dụng được cơ hội đó hay không còn tuỳ thuộc vào chính chúng ta nữa!

Tạm kết

Những phân tích trên cũng đủ thấy rằng: Ngành lập trình VN chưa bằng nước ngoài, lập trình viên VN còn chưa giỏi đa phần là do các yếu tố khách quan chưa không phải là lỗi của một mình lập trình viên.
Tất nhiên, chê thì ai cũng chê được, chửi thì ai cũng chửi được. Dân Việt Nam mình chỉ giỏi chửi, giỏi chê, chứ không biết cách làm gì để thay đổi. Thay vì chửi, sao chúng ta không góp sức gì đó để ngành mình tốt hơn, để các em sinh viên, các lập trình viên tương lai đỡ khổ nhỉ?
Cùng đọc phần cuối để xem chúng ta có thể làm gì để nâng cao vị thế của lập trình viên, giúp ngành IT phát triển, để những sinh viên IT đời sau sẽ đỡ vất vả như mình nhé!

BỨC XÚC CHUYỆN NGHỀ – PHẦN 1: GẠCH ĐÁ BỦA VÂY NGÀNH IT VÀ DEVELOPER

Gần đây, đọc báo đài mình bỗng thấy ngành IT bị trù dập dữ dội. Bản thân sinh viên IT, lập trình viên Việt Nam đã chịu đủ mọi thứ thiệt thòi, nay lại còn bị báo chí trù dập, cấp trên chèn ép.
Do khá bức xúc nên hôm mình viết bài này, vừa để chửi và xả cho bớt ức chế, vừa để bênh vực anh em developer và góp vài ý kiến cá nhân giúp ngành tốt hơn. Các anh em cứ thoải mái vừa uống trà vừa đọc nhé!
Bài viết gồm 3 phần:

Gạch đá tới tấp vào đầu ngành IT!

Ngành IT và developer chịu khá nhiều gạch đá từ báo chí cho tới… chị em HR:
  • Làm việc đến còng lưng, OT đến mỏi mắt để nhận đồng lương ba cọc ba đồng, chả đủ tiền mua bỉm sữa cho con thì bị báo chí đôn là lương bong bóng, lương trung bình vài nghìn.
  • Công ty trả lương thấp, trù dập, chuyển công ty khác thì bị chê là hay nhảy việc, thiếu trung thành!
  • Các công ty tuyển cho nhiều, xong vắt chanh bỏ vỏ, không chú trọng vào đào tạo, cho nhân viên làm mấy dự án cũ kỹ chả học được gì, xong lại than nhân viên thiếu khả năng chuyên môn. Chuyên môn trên trời rớt xuống à?
  • Vài thanh niên mở được công ty thì bắt đầu chê trình độ và mặt bằng chung của developer Việt. Tiền ít đòi hít … chồn thơm, không offer được mức lương, title người ta mong muốn, bắt đầu chê để dìm hàng.
Làm dev ở Việt Nam đã vất vả còn dễ ăn nhiều gạch đá
Tất nhiên, trong chuyện này, cũng có 1 phần là lỗi của bản thân lập trình viên. Tuy nhiên, đa phần là do lỗi của hoàn cảnh, của công ty nhiều hơn. Cùng đọc phần dưới để biết rõ hơn nhé!

Lương có thật sự là cao, hay đang bị thổi phồng quá đáng?

Các bạn lều báo rất thích lôi chuyện lương cao lương thấp ra mà nói. Gần đầy, có khả nhiều bài viết về chuyện lương ngành IT, đa phần đều giật tít câu view, thổi phổng sự thật:
Chả biết sao chứ mình nghe nhiều nơi lương công nhân, bảo vệ còn được 5-9 triệu. Sinh viên IT vừa ra trường có bằng ĐHmay mắn thì được khoảng 7-8 triệu, còn thử việc thì chỉ được 2,3 triệu hoặc không lương! Công nhận là cao thật đấy! Bạn nào có các mức lương 2000$, trăm triệu như trong bài báothì comment cho mình biết nhé.
Báo chí cứ gieo tư tưởng rằng ngành này lương cao, lương không tương xứng với khả năng mà… quên nhu cầu thị trường. Theo quy luật cung-cầu, khi nhu cầu thị trường cao, lượng cung cấp không đủ, giá cả sẽ tăng. Là lập trình viên, chúng ta phải tranh thú lúc sức lao động mình giá còn cao để bán cho được giá chứ nhỉ?
Tranh thủ bán sức lao động cho được giá chứ nhỉ?
Nhiều nhà tuyển dụng chống chế: Lương của lập trình viên quá cao so với giá trị đem lại cho công ty! Ơ hay, lương cao hay thấp là do thị trường quyết định. Giả sử bạn vào ăn nhà hàng, giá cao chót vót nhưng lượng thức ăn ít, giá trị đem lại ít. Bạn có thể không ăn, hoặc tìm cách tận hưởng các giá trị khác như phục vụ, không gian.
Nếu công ty cảm thấy vậy thì công ty có thể không thuê, hoặc tìm cách đào tạo và khuyến khích để nhân viên đem lại giá trị cao nhé!

Lý do khan hiếm nhân sự và nhảy việc

Nhiều công ty cũng rất là kì, tiền ít đòi hít … chồn thơm. Họ muốn tuyển lập trình viên giỏi kĩ thuật, nhiều kinh nghiệm, giỏi tiếng Anh mà chỉ trả mức lương “phải chăng” (còn gọi là lương chết đói), rồi lại than không tìm được ứng viên, hoặc ứng viên không đủ trình độ.
Xin lỗi nhé, tuổi gì, dev có khả năng thật sự thì nó không ngu mà làm việc với mức lương “phải chăng” đó đâu! Mà cũng chẳng cần phải là dev, thử ra Trần Duy Hưng tìm một em chân dài, ra trắng, dáng ngon, mặt người mẫu với giá 2-300kxem! Có mà tìm đến già cũng không ra đâu
Một số khác lại chê nhân viên hay nhảy việc, độ trung thành thấp! Đây một phần cũng là lỗi của developer chúng ta, mới làm được vài tháng đã nhảy việc vì… chán công ty, muốn lương cao hơn. Tỉ lệ này ở ngành IT nước ngoài cũng na ná vậy.
Đa phần các công ty rất ghét điều này, vì họ sẽ bị lỗ khi bỏ công đào tạo bạn. Tuy nhiên nhảy việc nhiều sẽ giúp bạn mau lên lương, lên chức hơn so với việc… ngồi lỳ tại một công ty. Nhưng nhớ cẩn thận đừng nhảy việc nhiều quá, người ta xem CV sẽ sợ không dám tuyển đâu.
Chuyện nhảy việc có những lợi ích và tác hại của nó

Chuyện chê bai developer Việt Nam và ngành IT

Ngoài ra, gần đây còn có một trò khác là… chê bài trình độ developer Việt Nam. Các bác này nọ cứ khoái lôi nước ngoài ra so sánh rồi chê trình độ IT Việt Nam. Sao không so sánh môi trường làm việc và mức lương luôn đi!
Điển hình như cách đây vài tháng, có một bài chê bai cách đặt title của developer Việt Nam (Bài viết có tính xây dựng, khá hay và đáng đọc, chỉ có đôi chỗ mình không đồng tình):
Bác Quốc Nguyễn đã có một bài phản pháo khá hay về vụ này, các bạn có thể đọc thử tại đây.
Gần đây, mình cũng vừa thấy một bài ném đá developer trên linkedin với cái tựa rất kêu Ngành IT VN đang đẻ ra một lũ ngông nghênh ảo tưởng về năng lực của mình (Vậy mà còn được nhiều like share mới chết).
Mình nghĩ chắc thanh niên này chỉ trả nổi lương 8-10 củ, tiền ít đòi hít … chồn thơm, không offer được mức lương và title người ta mong muốn nên mở mồm chê để dìm hàng.
Thú thật, từng làm việc và phỏng vấn trong và ngoài nước, mình cảm thấy khả năng technical của developer Việt ko thua gì các nước khác. Nếu có, chắc chỉ vài mặt như tư duy sản phẩm, kĩ năng mềm, định hướng nghề nghiệp. Đây lại là lỗi của hệ thống giáo dục, của hệ thống chứ đâu phải hoàn toàn là lỗi của lập trình viên?

Tạm kết

Phù, xả một hồi thì mình cũng bớt ức chế rồi. Tuy vậy, chỉ một bài viết là không đủ để bày tỏ hết sự bức xúc và nỗi lòng của mình nên phải viết bài phần. Các bạn đón đọc phần 2 – Trông người lại nghĩ đến ta nhé!
Ở phần sau, chúng ta cùng thảo luận xem lý do vì đâu mà ngành IT Việt Nam lại chịu nhiều điều tiếng, thua kém hơn so với ngành IT ở các nước tân tiến!

junior, senior, expert là khỉ gì ?

Dạo gần đây thấy dư luận lăng tăng về vụ phân chia title như thế nào cho đúng.
Nhiều ý kiến cho rằng dev Việt Nam dùng title vô tội vạ, rằng 1 senior dev mà ko biết cách hiển thị file dump database của vietnam delayline trên iOS là ko senior, lý luận như thế cá nhân mềnh thấy không mang tính xây dựng lắm.
Nhẽ senior phải biết hiển thị file dump 2GB phỏng ? Thế hiển thi dc file 20GB thì lên expert ? 200GB thì lên miracle ? còn 2TB thì ultra-super-atomic !?
Trong khi đó những title trên đâu phải chỉ áp dụng vào dev, mà các ngành nghề khác cũng áp dụng dc.
Chúng ta sẽ lấy ví dụ là 1 bạn đi phòng vấn, vị trí là chuyên gia máy lạnh, để tìm hiểu về 3 vị trí trên cần những kiến thức gì.

Nếu title là Junior

Bạn chỉ cần nắm rõ cách dùng máy lạnh, quơ remote chỉ hướng máy lạnh bấm nút, remote có nút nào bạn phải biết nút đó làm dc gì, cách kết hợp các nút với nhau. Anh HR phỏng vấn bạn chỉ dc hỏi về các tính năng mà trên remote có. Nếu gặp câu hỏi nhảm như : tại sao tôi hướng remote về phía các bạn gái đẹp của cty bấm không ăn ? thì bạn có quyền dập vỡ cần-remote-của-anh-HR.

Nếu title là Senior

Để vỗ ngực đồm độp xưng danh senior bạn phải hiểu nguyên lý hoạt động của máy lạnh từ bên trong ra bên ngoài. Tụi mẻo gọi là inside-out. Rằng remote máy lạnh dùng hồng ngoại mà hồng ngoại thì phọt theo đường thẳng, bạn cũng cần biết bluetooth có thể phát đa hướng để có thể đi tắt đón đầu, dù máy lạnh dùng remote bluetooth có khi chỉ mới có phiên bản beta, cách ngày release còn xa xa lắm.
Bạn cũng phải biết event loop của máy lạnh, cục nóng chạy thế nào, cục lạnh chạy ra sao, lúc nào chạy-lúc nào nghỉ. Cơ chế trao đổi nhiệt độ giữa 2 bên, những thành phần trong máy giao lưu hợp tác với nhau thế nào, nếu có bất kì lỗi phát sinh trong quá trình đấy, thì làm sao debug, giới hạn từng phần, dump log file v..v..
Bạn cũng phải biết cấu hình từng loại máy lạnh theo yêu cầu thực tế làm sao cho tiêt kiệm điện nhất, vd máy mua của Chị Na đầu hẻm chạy ở 21 độ là đẹp, vì ở mức đó cục nóng giải phóng bộ nhớ nhanh, ít hao điện.
Bạn cũng có thể benchmark và nói cho user số liệu rõ ràng: máy chị chạy 1 tháng hao 3 chai tiền điện, chị hãy để chế độ giọt nước là sẽ giảm dc ngay 1 chai.
Tóm lại cứ cái gì nằm bên trong máy lạnh, bạn điều phải biết.

Nếu title là Expert

Một senior hiểu rõ máy lạnh cũng sẽ bó tay trong một môi trường production đầy thử thách: điện yếu. Máy chạy nhưng hiệu năng giảm, mặc dù máy ko có bug. Khi đó với bản lĩnh của 1 expert, bạn ko chỉ biết rõ máy lạnh mà còn biết rõ những yếu tố bên ngoài cần thiết để máy lạnh chạy tốt, điện trong trường hợp này- là một ví dụ điển hình.
Do nắm dc nguyên tắc yêu đương của các electron, bạn có thể phát minh ra, hoặc áp dụng công nghệ có sẳn để nâng cấp đường điện, ví dụ npm i -g maybienap chẳng hạn, dù môi trường thực tế có thế nào đi nữa thì hệ thống của bạn cũng chạy ổn định hết mức có thể.
Tóm lại bạn ko chỉ hiểu về máy lạnh mà còn hiểu về điện, môi trường, ánh sáng, phong thuỷ ( dựng cục nóng ở đâu cho tiếc kiệm điện, tránh ẩm ) gạch lót tường v.v... thậm chí cục gạch kê máy lạnh chiều cao bao nhiêu để cách điện tối ưu, lỡ may gia chủ có lè lưỡi lếm cũng ko giựt chết người.

Friday, December 29, 2017

TOP 6 “TRƯỜNG DẠY CODE” CHO CÁC DEVELOPER

Là một developer, việc học 1 ngôn ngữ, công nghệ mới là “chuyện thường ở huyện”. Mình đã từng chia sẻ một số hướng tiếp cận ngôn ngữ, công nghệ ở bài trước. Bài viết này sẽ giới thiệu 1 số “trường code” online. Các trường này cung cấp bài giảng online dưới dạng video (có hoặc không có phụ đề), cho phép ta code trực tiếp trên trình duyệt. Bảng xếp hạng này dựa theo độ nổi tiếng của web trên google, cũng như trải nghiệm của mình khi sử dụng.
Các “trường code” này đều là tiếng Anh nhé, vì mình không có thói quen học hay tìm tài liệu bằng tiếng Việt. Không phải mình kì thị tiếng Việt hay đâu, vì trước giờ tiếng Việt không bao giờ cung cấp đủ tài liệu cho mình học cả. Không tin thì các bạn thử tìm tài liệu tiếng Việt đầy đủ về Ionic Framework hay Caliburn.Micro xem :'(.

Code Academy

1
Web nổi tiếng nhất trong danh sách. Giao diện của trang khá trực quan, đơn giản, lại miễn phí. Bạn có thể học HTML, CSS, JS, jQuery, … ở đây. Code Academy dạy theo kiểu: Ra một số task, chúng ta thực hiện từng task (Bằng cách code), sau khi hoàn thành các task ta sẽ chuyển tới bài sau. Theo ý kiến cá nhân, các bạn mới nhập môn HTML CSS có thể học trang này.
Khuyết điểm: Số lượng các công nghệ/ngôn ngữ mà web dạy hơi ít.

Pluralsight

2
Tuy chỉ đứng thứ nhì trong bảng xếp hạng, nhưng trong cộng đồng developer, pluralsight lại nổi tiếng hơn codeacademy nhiều. Bạn có thể học được hầu như mọi ngôn ngữ, mọi framework (C#, Java, PHP, MVC, AngularJS, …) trên pluralsight. Tác giả các khóa học đều là những lập trình viên chuyên nghiệp, danh tiếng (MVP), chất lượng khóa học cũng rất cao.
Pluralsight có thu phí đăng ký. Giá dao động khoảng 30-50USD/tháng. Các bạn sinh viên có thể dùng tài khoản trường để được free 2 tháng. Dân đi làm như mình có thể xin ké tài khoản của cty để vào. Mình học được vô số thứ hữu ích từ trang này: AngularJS, định hướng sự nghiệp, Dependency Injection,…. Bạn nào cần giới thiệu 1 số course hay cứ liên hệ mình.
Khuyết điểm: Học qua video, không thực hành. Tốn phí, phải dùng tài khoản VIP mới download được bài tập.

Code School

3
Một website khá mới mẻ, đang gây được sự chú ý trong thời gian gần đây (Vừa được Pluralsight mua lại).
Codeschool dạy khá nhiều: Ruby, Python, AngularJS, Javascript, một số course miễn phí, nhưng phần lớn là thu phí >.<. Hình thức học cũng na ná code academy, bạn sẽ được giao một số task nhất định. Bằng cách hoàn thành từng task, chương trình sẽ chấm điểm và cho bạn qua màn mới.

Tuts+

4
Website này không chỉ dạy code mà còn có 1 số course về đồ họa, thiết kế. Mình chưa dùng bao giờ nhưng nghe nói là trang này dạy dưới dạng bài giảng hoặc ebook, thôi xin kiếu.

Udacity

5
Trang web này khá nổi tiếng trong cộng đồng lập trình viên nước ngoài. Số lượng course không nhiều, nhưng được tập trung thành các pathway, bổ trợ kiến thức cho nhau. Udacity còn có hệ thống nanodegree, tương đương với những chứng chỉ-mini dành cho các lập trình viên. Có điều cái giá hơi cao, tận 200USD/tháng, do đó mình không khuyến khích các bạn học trang này.

Skillshare

6
Mình chưa xài trang này bao giờ, nhưng đọc qua review thì thấy nó cũng khá tốt. Trang web dạy thông qua các bài giảng dạng video, có bài tập và giáo viên chấm điểm. Giá khá rẻ so với Udacity phía trên, chỉ 10$/tháng.
Còn các bạn thì sao? Hãy chia sẻ những “trường code” mà các bạn hay học trong phầm comment của bài viết nhé.