Bạn ghé thăm diễn đàn lần đầu? hãy đăng ký ngay bây giờ để tham gia.
  • Đăng nhập:

Chào mừng bạn đến với ITVNN FORUM - Diễn đàn công nghệ thông tin.

Nếu đây là lần đầu tiên bạn tham gia diễn đàn, xin mời bạn xem phần Hỏi/Ðáp để biết cách dùng diễn đàn. Để có thể tham gia thảo luận bạn phải đăng ký làm thành viên, click vào đây để đăng ký.


  • Partner Area
    • ITVNN HOSTING - Thiết kế website, Cung cấp Domain, Hosting, VPS Việt Nam Anh Hùng - Thông tin truyền thông
kết quả từ 1 tới 2 trên 2
Tăng kích thước phông chữ Giảm kích thước phông chữ
  1. #1
    nguyensinhhung's Avatar

    Trạng thái
    Offline
    Tham gia ngày
    Mar 2017
    Thành viên thứ
    109489
    Giới tính
    Bài gởi
    31
    Level: 25 [?]
    Experience: 79,933
    Next Level: 100,000
    Cảm ơn 0
    Cảm ơn 1 lần / 1 Bài viết

    Default Những điều trường đại học không dạy bạn – phần 1  



    Tôi tình cơ đọc được bài viết “Những điều trường đại 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. Kinh nghiệm làm việc của mình cũng kha khá, có thể sẽ không đầy đủ, rất mong các bạn comment góp ý ủng hộ. 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 sẽ 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”


    1 Kĩ thuật lập trình


    2 Cách nâng cao giá trị bản thân


    3 Thành công và thăng tiến trong môi trường làm việc


    Ở phần 1,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 thường là sinh viên tốt nghiệp ngành khoa học máy tính ở đạ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... mà nhà trường dạy là vô cùng cần thiết với các Dev,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 ở địa học, 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 khi 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 khi 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ức những chẳng ai dạy 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 cai dạy bạn cách đặt tên hàn, tên biến, cách viết API cho dễ sử dụng


    Testing, unit test


    Trong chương trình học của 1 số trường có môn kiểm thử phần mềm. Tuy nhiên, nhiều sinh viên 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ẽ nói: tối đi code chứ có phải đi làm test đâu. Để 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 tra 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é).


    Mình sẽ viết viết phần 2 sau, và mình sẽ nói tới một điều quan trọng nữa không thua kém gì kĩ thuật lập trình: Cách nâng cao giá trị bản thân.

  2. Thành viên sau đây nói lời Cảm ơn tới nguyensinhhung cho bài viết hữu ích này:

    thanhhaichau (13-06-2017)

  3. #2
    thanhhaichau's Avatar

    Trạng thái
    Offline
    Họ tên
    thanhhaichau
    Tham gia ngày
    Jun 2017
    Thành viên thứ
    111681
    Đến từ
    194/17 Tân thới hiệp 22, KP3, P.TTH, Quận 12, HCM
    Tuổi
    34
    Giới tính
    Bài gởi
    1
    Level: 12 [?]
    Experience: 2,502
    Next Level: 2,912
    Cảm ơn 1
    Cảm ơn 0 lần / 0 Bài viết

    Default

    Chuẩn rất chuẩn, bài viết hay !


 

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Quuyền Hạn Của Bạn

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể chỉnh sửa bài viết
  •