Những điều trường đại học dạy bạn

Trường đại học Harvard là một trong những ngôi trường đại học danh giá, nổi tiếng nhất trên thế giới. Về mặt giáo dục và học tập thì thật sự không có gì để đánh giá thấp được. Tuy nhiên, dù một trường đại học nhỏ hay là một trường đại học danh tiếng như vậy thì vẫn có những điều hạn chế trong việc dạy những kiến thức đời sống.

“Những Điều Trường Harvard Không Dạy Bạn” đã đưa ra rất nhiều lời khuyên hữu ích đối với các bạn trẻ đang ngồi trên ghế nhà trường hay đã đi làm về những bí quyết để thành công trong cuộc sống.

Những kĩ năng như cách để hiểu một con người, cách biến giận dữ của đối tác thành cơ hội, cách đón nhận những thách thức… hoàn toàn không được dạy ở các trường đại học mà phải trải qua quá trình rèn luyện, va chạm với thực tế thì mới thấu đáo được.

Từng câu chữ trong cuốn sách thường đi vào đời sống hiện thực chứ không hàn lâm, uyên bác. Trong một môi trường cạnh tranh diễn ra khốc liệt trên nhiều lĩnh vực như hiện nay, những kiến thức ở trường học thực sự không đủ để bạn tự tin trở thành một con người thành công. Bạn cần tạo cho mình một khả năng đặc biệt, tích lũy những kinh nghiệm mà bạn tự tìm hiểu, học hỏi được từ cuộc sống. Đây là cuốn sách với những lập luận chắc chắn, những ví dụ tuy có chút hơi khó hiểu với vài bạn nhưng rất đúng đắn, nghiên cứu sâu sắc.

Những kiến thức trong sách, bạn có thể sẽ không học được ở trường đại học nên từng điều được đề cập đến trong sách đều rất đáng quý và cần được trân trọng nếu bạn muốn đạt được thành công.

X

This site uses cookies. By continuing, you agree to their use. Learn more, including how to control cookies.

Lang thang trên mạng đọc được một bài viết có tên là “Những điều trường học không dạy bạn”, bỗng dưng muốn viết một bài tương tự, dành cho dân developer tụi mình. Kinh nghiệm làm việc của mình cũng kha khá, có thể sẽ không đầy đủ, rất mong comment góp ý ủng hộ của các bạn.

Có rất nhiều điều chúng ta không được học ở trường [Nhưng lại vô cùng cần thiết], mình tạm chia ra làm 3 phần.

Đây là phần đầu trong series bài viết “Những điều trường đại học không dạy bạn”:

Ở phần 1 này, mình sẽ nói về kĩ thuật lập trình.

Ở Việt Nam, đa phần các bạn lập trình viên thường là sinh viên tốt nghiệp ngành Khoa học Máy tính [Computer Science] ở trường đại học, 1 số bạn tự học hoặc học qua 1 số trung tâm.

Mảng Khoa học Máy tính thường nặng về tính khoa học, nghiên cứu. Những kiến thức về hệ điều hành, thuật toán và cấu trúc dữ liệu v….v mà trường dạy là vô cùng cần thiết với các developer, mình không phủ nhận.

Tuy nhiên, code, ngôn ngữ lập trình và design lại khá bị xem nhẹ. Do đó, khi bắt đầu làm việc, đa phần các bạn sẽ thiếu những kĩ năng sau đây:

Cách đọc và viết code

Khi còn ở đại học, khi bạn viết ra code chạy đúng, chạy được, giải quyết xong bài toán tức là bạn giỏi. Trong các kì thi cũng thế. Trong công việc thì khác, chạy đúng là yêu cầu bắt buộc, nhưng code được viết ra còn phải dễ hiểu, dễ đọc, dễ bảo trì và sửa chữa.

Vì sao? Trong ngành này, code không phải chỉ viết 1 lần rồi bỏ đó, ta phải bảo trì, nâng cấp, sửa chữa thường xuyên. Như mình đã nói ở các bài viết trước, hãy chọn cách đơn giản, dễ hiểu, đừng chọn cách thông minh để rồi không ai hiểu.

Ngày xưa mình cũng từng là sinh viên giỏi, từng nghĩ mình code hay này nọ… sau khi đi làm hơn 1 năm rồi, đọc lại đống bùi nhùi trông như là code của mình mới nhận ra ngày xưa mình trẻ trâu thế nào.

Trường đại học dạy ta vô số thứ: lập trình hướng đối tượng, tính bao đóng, tính kế thừa v…v, nhưng chẳng ai dạy các bạn về SOLID – Những điều lập trình viên nào cũng cần nắm rõ; không ai dạy các bạn cách đặt tên hàm, tên biến, cách viết API cho dễ sử dụng; không ai dạy design pattern – một thứ để phân loại lập trình viên junior và senior.

Các bạn hãy đọc 2 cuốn: Code Complete và Clean Code, chỉ cần hiểu và áp dụng khoảng 30-50% những điều trong sách này, các bạn đã giỏi hơn 50% số developer còn lại rồi đấy

Sử dụng IDE, debug

Mình không vơ đũa cả nắm, nhưng một số trường vẫn còn sử dụng phương thức kiểm tra giấy cho các kì thi lập trình. Sau đó giáo viên sẽ đọc code của từng học sinh, thật là cực cả thầy lẫn trò. Sinh viên code C, C++ trên notepad, hoặc 1 số ide, sau đó thì chạy code.

Đến khi đi làm, nhiều bạn không biết sử dụng IDE như Eclipse, Visual Studio,… không biết dùng Nuget, Maven .. Mình thì may mắn hơn, thời gian code chiếm 70% thơi gian học, được sử dụng VS khi học C++, dùng NetBeans khi học Java, cơ mà cũng tới năm 3 mới bắt đầu biết set breakpoint để debug chương trình.

Do đó mình thấu hiểu nỗi khổ của nhiều bạn học lập trình theo kiểu học thuật, không được code đủ.

Testing, unit test

Trong chương trình học của 1 số trường vẫn có môn Kiểm thử phần mềm. Tuy nhiên, nhiều sinh viên CS vẫn ngáo ngơ không biết test case là gì, thế nào là black-box, white-box testing.

Một số câu khoai hơn như: NUnit, JUnit, Jasmine là gì … làm sao sử dụng mock, stub, dùng IoC càng không ai biết. Có người sẽ chu môi: Dào, tao đi code chứ có phải đi làm test đâu.

Điều này hoàn toàn sai nhé! Để làm một developer giỏi, phải chắc rằng code mình viết ra không lỗi. Để đảm bảo code không lỗi, phải có suy nghĩ của một tester, nghĩ ra những case để kiểm thử nó.

Agile Development

Ở trường đại học, chúng ta được học về “quy trình phát triển phần mềm”, học về waterfall, agile v…v [Một số trường không có]. Tuy nhiên, chúng chỉ là những kiến thức nhàm chán trên giấy mà ai cũng quên ngay sau khi thi.

Đến khi bắt đầu làm việc, bạn sẽ ngáo ngơ khi vào daily meeting, planning meeting, ko rõ quy trình … vì không biết Scrum, XP là cái khỉ gì [Hồi vào FSOFT mình cũng ngáo ngơ, phải lên scrumtraining để học thêm.

Source code control system

Đây là một thứ khá đơn giản nên nhà trường cho rằng các bạn có thể tự học được. Hãy nhìn cách các nhóm SV năm nhất, năm 2 khổ sở làm bài tập lập trình nhóm: Mỗi người làm một phần, sau đó họp cả team ghép code lại, mất code là mất luôn [Mình cũng từng trải qua cảnh ấy, cũng may về sau đỡ hơn].

Hậu quả là các SV mới ra trường phải được training lại về cách dùng SVN, dùng Git, hoặc TFS [Quảng cáo tí, chương trình Fresher của Fsoft có training cái này]. Cuộc sống SV của bạn sẽ dễ thở hơn nếu bạn tự trang bị kiến thức về cách dùng Git, SVN cho mình.

Cách dùng thư viện và framework

Do bản chất của chuyên ngành Computer Science, các trường chỉ dạy 1 số ngôn ngữ như C++, Java để dạy các môn còn lại. Nhiều sinh viên ra trường vẫn không biết dựng 1 trang web như thế nào, ngôn ngữ này có framework gì hay, làm sao để hiểu và sử dụng API của 1 thư viện nào đó.

Các trường chỉ dạy 1 vài mô hình MVC, MVP, MVVP trên giấy, còn cách dùng những thư viện, framework nổi tiếng như: Struts 2, ASP MVC, Ruby on Rails, jQuery … còn tùy vào khả năng tự học của sinh viên. [Bài viết này không nói tới vài bạn có khả năng tự học giỏi, tự tìm hiểu và đã rành rọt vài ba framework khi mới ra trường nhé].

Hẹn gặp lại các bạn ở phần 2, mình sẽ nói tới 1 điều nữa quan trọng không thua gì kĩ thuật lập trình: Cách nâng cao giá trị bản thân.

30s quảng cáo

Đây là một bài viết được trích dẫn từ cuốn sách “Code dạo kí sự – Lập trình viên đâu phải chỉ biết code” do mình viết. Quyển sách bao gồm những kĩ năng từ mềm đến cứng mà mỗi developer phải có, đảm bảo sẽ rất có ích cho các bạn sinh viên hoặc lập trình viên đã đi làm. Các bạn xem thông tin và đặt mua sách tại đây nhé: Sách Code Dạo Ký Sự.

Video liên quan

Chủ Đề