Mình ở thời điểm viết bài hiện tại đang là 1 developer full stack tại 1 công ty ở Việt Nam và đang kiêm desktop-developer :D.

Khi nhìn tiêu đề thì các bạn cũng đã mường tượng mình trước khi biết code là thế nào: mình thích chơi game, thích chơi với những người cùng chơi game, thích xem chơi game và lạp tiền vào game :)).

ok giới thiệu sơ qua vậy để các bạn biết rõ hơn về mình thôi nha, bây giờ mới đi tới lộ trình của mình nè.

Từ cái duyên tới cái nghề

  • Mình bắt đầu thích lập trình khá sớm (so với bạn đồng trang lứa xung quanh) là vào khoảng kì 2 lớp 11. Các bạn biết đấy, mình nghiện điện tử từ hồi cấp 2 đến tận lớp 10 là khoảng 5 năm ròng rã, chơi hoài cũng chán.
  • Rồi tức nước vỡ bờ, đến một ngày thấy rằng ai cũng phải có cái nghề, thế là với tính cách suốt ngày ở nhà chơi game thì mình thấy hợp với mình là lập trình( thì chỉ thay vì ở nhà chơi game thì ở nhà lập trình :)) ). Và mình "đòi" bố mẹ mua máy tính rồi học lập trình từ đó.

Vạn sự khởi đầu nan.

  • Thật sự mình cũng chả có tố chất cũng như người kinh nghiệm xung quanh để học lập trình. Mình thì bắt đầu khá đơn giản, việc đầu tiên sau khi mình quyết định học lập trình là:
    • Lên facebook và tìm kiếm từ khoá nhóm lập trình.
  • Sau khi join vào rất nhiều nhóm thì mình tìm thấy 1 số người có kinh nghiệm cũng như đã đi làm trong nghề mà hay chia sẻ như anh Hoàng hay kteam
  • Ở trong nhóm thời gian đầu mình không tìm kiến thức về lập trình mà mình tìm lộ trình đầu tiên, đại loại mình tìm những từ khóa như:
    • Học lập trình bắt đầu từ đâu
    • Những tố chất để học lập trình
    • Tại sao nên học lập trình
    • Học lập trình căn bản.
  • Và kết thúc sự khởi đầu này là mình tìm được 3 cuốn sách gối đầu giường mà hiện nay mình vẫn còn đọc đó là:
    • Nhập môn lập trình
    • Kĩ thuật lập trình
    • Lập trình hướng đối tượng

Thật sự mình cảm ơn nhóm tác giả rất nhiều, tất cả tư duy hiện có về ngành lập trình của mình bắt đầu từ 3 cuốn sách này.

Tạm biệt cấp 3, chúng ta tới cao đẳng.

  • Thật sự thì mình cũng từng có suy nghĩ bồng bột khi thời gian mình trước khi bước chân vào cao đẳng, kiểu như:
    • Đằng nào mình cũng chả giỏi mấy môn toán lý hóa, thời gian ôn thi toàn học lập trình, hay mình không học đại học nhỉ, mình học lập trình được khá nhiều rồi, học thêm chút nữa rồi đi làm thôi.
  • Rồi vào cao đẳng bách khoa cùng chuyên nghành lập trình máy tính mình như thuyền buồm gặp gió, bài tập của thầy thì hầu hết mình đã xem trong sách và các ví dụ có trong sách, học lại khiến mình vững trãi kiến thức hơn. Thời gian thừa chỉ đi kiếm bạn giao lưu học hỏi, xem bạn nào có kiến thức sâu rộng thì học hỏi người ta.

Chào Java, em tới đây.

  • Vâng, lúc này thì tôi muốn kể cho các bạn mấu chốt khiến tôi đam mê cái nghề và cái tư duy của nghề tới tận bây giờ, đó là thời gian mà tôi được tiếp xúc với ngôn ngữ java
    • Vào một ngày đẹp trời vẫn còn loay hoay chưa biết con đường tiếp theo trong những thứ mình sắp học thì đột nhiên tôi làm quen được một người bạn tên Tân. Và rồi Tân kéo tôi vào học java từ bao giờ không hay. Mấu chốt tôi chọn là do thấy Tân đã lập trình android và đã có sản phẩm nên tôi mê quá theo Tân luôn. Phải thật sự cảm ơn Tân rất nhiều, giúp tôi nắm vững java cũng như biết về android.
    • Sau những lần call video, tạo nhóm học với nhau và nhờ Tân chỉ bảo cùng với ngành học của mình cũng có môn lập trình java thì mình nắm sâu hơn và muốn làm nhiều điều hơn với java.
  • uầy, các bạn không biết, chứ mình thần tượng java như những cô gái mê xem nhóm nhạc exo vậy. Vẻ đẹp với lối code chặt chẽ, chạy đa nền tảng, xuyên thiết bị, cộng đồng hỗ trợ đông đảo, cấu trúc dễ nhìn và đặc biệt là thuần hướng đối tượng khiến mình đã từng ghi khẩu hiệu lên cv ở Topcv: "Yêu java và muốn làm mọi thứ với java"

Con đường tới Web-Dev

  • Mình tìm trên mạng thấy java làm rất nhiều điều như nhúng, android và web.
  • Tuy nhiên, kể từ lần google trực tiếp và khuyến khích cũng như chính thức hỗ trợ kotlin (một ngôn ngữ lập trình) để lập trình android thì mình bắt đầu thấy java cho android sẽ dần không còn hỗ trợ và có tương lai. Từ đó, mình chuyển sang dev web với java.

Java: từ học cho tới có việc làm đầu tiên.

  • Thời gian mình học java thì không khác gì thời gian đầu khi mà mình được tiếp xúc với lập trình, Mình không có ai pro xung quanh để hỏi, không có môn học web về java lúc này trên trường, và chưa có tư duy về back-end web.

  • Mình bắt đầu đơn giản với đống slide và bài tập tải trên mạng về môn lập trình servlet của đại học fpt. Rồi làm theo tới gần như thuộc các bài tập ở slide nào.

  • Sau đó mình được tiếp xúc với một trang rất nổi về java-web việt nam đó là laptrinhjavaweb. Ở đó, ngoài học được java mà mình còn được học các server hoạt động thế nào, http ra sao, restapi thế nào và cơ bản hơn như phương thức get khác post thế nào, khác put, delete ra sao. Rồi cấu trúc thư mục thế nào cho chuẩn, config thế nào thì web chạy được … Nói chung, cảm ơn anh Trương Tùng Lâm rất nhiều, từ đây mà mình có được cái căn bản về web.

  • Sau khi biết căn bản thì mình vươn xa hơn đó là học nâng cao về java web. Tài liệu thì rất nhiều, mình tham khảo nhiều nơi từ tiếng việt tới tiếng ngoại. Nhưng nơi mà mình để tâm vào cũng như có được cái sản phẩm đầu tiên đó là khóa học của anh Chế Công Bình. Ở đây mình được học rất nhiều thứ mà mình có thể tự tin đi phỏng vấn doanh nghiệp như:

    • Spring core hoạt động thế nào,
    • Spring mvc hoạt động ra sao
    • cấu trúc của mvc thế nào
    • spring data thì trông như thế nào
    • Và cái quan trọng nhất là sau khi học xong khóa học thì mình thấy sự quan trọng của font end developer. Vì khóa học là viết hoàn thiện cả trang web nên mình thấy hơi chậm và yếu phần font-end.

Khóa học font-end đầu tiên.

  • Với cái tư duy back-end thì các bạn biết rồi đấy, nghe thấy pixel chứ cả biết pixel là gì.
  • Khi học khóa học từ cơ bản đến nâng cao, tạo 1 trang web hoàn chỉnh với html, css, bootstrap và cắt ảnh bằng html, css thì mình hiểu hơn và bắt đầu biết code giao diện web.

Lần đi làm đầu tiên.

  • Với quá trình liên tục và mệt thì nghỉ rồi đứng dậy thì vào khoảng kì 1 năm 2 mình có đi phỏng vấn tại 1 công ty kiêm product & outsourcing. Và mình được nhận vào vị trí testting của team outsour với đầu vào phỏng vấn là java-back-end.
  • Và bạn thấy đấy, mình được training liên tục về vấn đề testing cho api, khiến cho mình biết nhiều hơn cũng như rộng hơn về back-end dev.
  • Tại đây thì mình học về testing, nên cũng chưa biết được sâu về server side.

Hiểu rộng hơn nhờ "hackathon"

  • Từ trước tới giờ thì cũng như mình kể bên trên là mình chỉ biết tới code, viết code và xem người khác code :)). Tuy nhiên từ cái lần tham gia vào Cuộc thi Online Hackathon, mình có cái nhìn rộng hơn về cái ngành mà mình đang làm, mình có thêm một chút về kĩ năng làm việc nhóm cũng như trình bày ý tưởng.
  • Thứ 2 là mình bắt đầu biết sâu hơn về khái niệm start-up và đồng cảm hơn về khó khăn với những người start-up( từ đây mà giúp mình có được mối quan hệ giúp mình phát triển sâu hơn về tech mà sẽ nói phía dưới)

khóa học front-end thứ 2

  • Tại đây mình được học rất nhiều thứ, ngoài code như:
    • tư duy dựng front-end như xây nhà và xây các phòng của ngôi nhà.
    • hiểu sâu hơn về html-css
    • Và nơi học chính là ngôi trường mình học bây giờ: Cao đẳng nghề bách khoa.

Tham gia vào start-up và kinh nghiệm code xương máu.

  • Cũng như kể trên thì mình thấy được start-up có độ rủi ro và người đứng đầu phải có ý trí cũng như đam mê ở mức nào đó mới quyết định khởi nghiệp.
  • Mình theo Start-up và học được rất rất nhiều kinh nghiệm viết server-side từ đây. Từ cách viết code tới cách thiết kế api, thiết kế data base, Đa phần mình học được từ leader review code.
  • Ngoài ra khi làm việc tại đây mình được tiếp xúc nhiều với js nên mình khá tự tin về js và code của mình thoáng hơn rất nhiều.

Công việc hiện tại.

  • Ở cty, Mình đang phát triển tính năng mới(nếu có) và sửa những lỗi phát sinh của một hệ thống quản lý bằng web và đương nhiên không có khái niệm là back hay front ở đây. Vì hệ thống đã phát triển rồi nên bắt buộc là full-stack để có thể làm việc.
  • Cùng với phát triển back-end cho hệ thống iot
  • Ngoài ra, mình đang xây app desktop với công nghệ Electron js, react, redux. Nên mình vẫn còn task chưa hoàn thành, vì thế mình phải dừng bài viết tại đây rồi, tính chủ nhật trải lòng tý chứ mai là thứ 2 lại đi fix bug rồi :)).

Chúc mn có buổi cuối tuần vui vẻ.