Chia sẻ hành trình học lập trình sau 6 năm

Chào các bạn .

Hôm mình rảnh rỗi , nên muốn chia sẻ một chút về hành trình học lập trình của mình . Hy vọng bài viết này sẽ giúp đỡ cho một số bạn đang bị bấn loạn trong việc học lập trình .

Phần 1 : Trình bày hoàn cảnh

Thời cấp 2-3 mình chơi game khá là bá . Cúp học , nghỉ học thêm nguyên tháng , đục tiền bố mẹ , nói dối học phí để có thể được đi chơi game . Từ đó mình có suy nghĩ mình sẽ đi theo ngành IT ( easy thinking ) .

Cuối cấp 3 đi thi FPT , may mắn sau lọt vào cái vòng vay vốn . Chém gió vay được 70% . Gia đình mới gật đầu cho học . Căn bản ko học FPT thì đi nghĩa vụ vì đại học mình thi có 14 điểm thôi . ko đậu trường nào cả .

Vào FPT tưởng với kiến thức cái win + tải phần mềm + crack này nọ là đủ xưng bá võ lâm . Ai ngờ vào môn đầu tiên căn bản lập trình là môn C . Rớt cái ạch . Thật ra là mình roda khá tốt giai đoạn đầu ( helloworld , các cú pháp if else , xuất ra màn hình mình khá xuất cmn sắc : )) ) nhưng tới giai đoạn lập trình thưc sự như mảng 2 chiều , 2 vòng for lồng nhau rồi đặc biệt function mình bắt đầu bơi , nhưng vẫn tự huyễn hoặc bản thân về nhà tự tìm hiểu thêm ( về nhà cũng chơi game ) . Đa số bài tập về nhà toàn lên mạng search hoặc lấy source từ mấy anh khóa trước . Tới phần pointer thì bỏ cuộc ko thể hiểu được cái gì cả . Đây là bước ngoặc cuộc đời thật sự , khi rớt môn mình mới nhận ra mình sẽ là thằng loser mãi mãi nếu vẫn giữ cái cách suy nghĩ như vậy .

Phần 2 : Học lại

Sau khi rớt môn C . Mình đã tự bỏ tiền ra để học lại ( ko hề xin ba mẹ nhé ) . Lúc đó mình thực sự nghiêm túc . Lên lớp nghe giảng kĩ về nhà làm lại . Quyết tâm tự làm . Code và code . Lúc đầu mình cũng thắc mắc , fucntion làm cái mẹ gì viết mỗi vào hàm main được rồi , rồi return và void làm cái gì , rồi làm sao có thể in ra mảng hai chiều. Sau một hồi tìm hiểu thì cũng chả hiểu mẹ gì thôi cứ code đã cứ gõ lui gõ tới như học thuộc bài vậy . Điều kị diệu đã tới tự nhiên não mình được thông ra . mọi thứ tự nhiên cứ đến từ từ bắt đầu là mình biết sử dụng loop , rồi loop in loop , rồi function . Và qua môn với điểm khá bình thường 7.0 ( pratical thì 9.0 nhưng có mấy bài quiz mình tự làm thì thấp vì có mấy phần mình vẫn chưa hiểu như pointer chẳng hạn )

----** Bí Quyết **—

Cứ ngồi gõ tới gõ lui vừa code vừa suy nghĩ mọi thứ sẽ tích tụ dần dần trong não cho đến khi đủ thì bạn sẽ tự hiểu nhé ( đủ lượng thì nó sẽ chuyển hóa thành chất nhé ) . Đừng hy vọng sẽ hiểu trong một sớm một chiều hay đọc một bài viết hay sẽ hiểu được vấn đề .

Điều này diễn ra tương tự với mọi thứ mình thắc mắc ( OOP , class là gì tại sao cần class , toString() tại sao cần toString , tại sao cần getter setter , tại sao cần private , public … ) . Cứ code và suy nghĩ mọi thứ tích tụ dần dần và chuyển hóa thành thứ bạn cầu hiểu . Xin nhắc lại đừng sợ và hoang mang khi gặp một đống code hay một bài toán mà mình không hiểu gì cả . Cứ tiếp tục code và tìm hiểu .

P/s : Ở giai đoạn này mình chỉ ăn ngủ và code thôi nhé . Ít nhất 8h mỗi ngày chỉ để code và tìm hiểu những thứ rối rắm .

Phần 3 : Lên level mới
Mai viết

16 Likes

2 posts were split to a new topic: Con trỏ dùng làm gì và ứng dụng của nó

1 Like

nghe sai sai nhỉ :smiley:

đúng rồi . Mình nhầm :smiley:

A post was merged into an existing topic: Con trỏ dùng làm gì và ứng dụng của nó

1 Like

Hi joe,

Mình biết bạn từ lúc ở cộng đồng java :smiley: . Cảm ơn những lời khuyên quý giá cả bạn .

“Mr. Bumbum, you make the same mistake. You don’t start to learn the basics before you climb up the highest IT-level: OOP”

==> Giáo trình ở FPT nó vậy ( bạn chỉ có 3 tuần để học căn bản C và sau đó sẽ được học OOP và sau 3 tuần học OOP bạn sẽ tiếp tục học java ) . Nhưng mình tự biết mình thiếu căn bản rất nhiều nên mỗi lần mình code có gì thắc mắc mình không ngại quay lại tìm hiểu . Mình tự làm một số project ( 1 console application dùng để crawler, 3 web service, 1 android học tiếng anh ) khi rảnh rỗi . Những dự án đó đã giúp mình có cơ hội tìm hiểu lại kiến thức căn bản rất nhiều . Sau khi đi làm mình tiếp tục bổ sung kiến thức nền tảng như compiler , java bytecode , và một số công nghệ + under the hood . Bây giờ mình đang tìm hiểu lại jvm , cách tối ưu GC . Sự khác biệt giữa 32bit và 64bit java . Và sau chục năm nữa mình sẽ tìm hiểu tới phần cứng không biết chừng .

Thế nên đối với mình ( quan điểm cá nhân ) . Ngành IT rất rộng lớn , đừng quá khăng khăng phải hiểu một thứ gì đó ngay tức thì . Kiến thức sẽ tới với bạn theo thời gian . Đừng bỏ cuộc là được .

3 Likes

Quay lại lập trình ở tuổi 26 và thấy OOP nó thật là khoai khi bắt đầu có quá nhiều thứ đơn giản đọc cái hiểu ngay nhưng chỉ khi code , code và code … Thì bản thân mình cảm thấy thấm nhuần theo năm tháng từ đó hiểu được sâu hơn . Biết tổ chức code cho những module đơn giản hơn . Biết lúc nào nên dùng private , protected , public , static … Thật sự giờ mới đi làm được vài tháng nhưng tổng kết lại nó phải bằng hơn 1 năm tự cày quốc ở nhà . Môi trường thực tế rất hữu ích cho những người muốn học ở tốc độ cao ! Ở đây mình không nói những người có khả năng nghiên cứu sâu , base quá chắc hoặc thiên tài…

bác giống e vãi chưởng : D

Em hiện dg chuẩn bị thi ĐH, rất mong sẽ học dc kinh nghiệm từ đàn anh cho con đường sắp tới của mình :v

Bạn ơi bạn chia sẻ thêm về các project của bạn cho các bạn mới như mình được mở rộng tầm mắt nhé. Bạn có thể nói rõ ơn đc không :slight_smile: "Mình tự làm một số project ( 1 console application dùng để crawler, 3 web service, 1 android học tiếng anh )"

Nói chung là cứ phải code nhiều. Nhiều ở đây là va chạm nhiều với các bài toán thực tế, các case study … Là lập trình viên thì đừng nên sợ code :joy:

1 Like

bác trả hết nợ cho Fpt chưa bác em còn đang nợ vài môn đây

Cũng không có gì bạn .

  • Mình thích truyện tranh nên mình viết app lấy hết data (dùng thư viện jsoup ) của izmanga về nhét vào mongoDB ( vì muốn học mongoDB ) . Rồi build webservice publish ra một số API cho đám bạn call từ angular app .
  • Đa số webservice mình viết bằng spring framework . từ năm 2015 trở về trước mình viết bằng spring mvc bình thường , cũng ra gói war rồi deploy tomcat . cấu hình xml ( lúc đầu đánh vật với nó lắm -_-) . Tại vì có nhiều khái niệm khó hiểu như IOC , Dependency Injection , AOP . Sau cỡ 3 project thì bắt đầu hiểu ra gần hết . Từ 2016 trở đi mình thành thạo spring hơn với lại docker đang lên nên những project sau mình dùng spring boot .
  • Android thì do mình thất tình nên ngồi học , làm một cái app học anh văn , có publish lên google play rồi :smiley:
  • Sau này mình rảnh nên có học thêm Neo4j để làm recommendation , Những vẫn ở mức sử dụng được .
  • Hiện tại đang nghiên cứu Machine learning . ( tự nhiên thấy thích và tò mò về cái này ) :smile:

Ra trường được 2 năm rồi bác :smiley: . Nợ môn nào ấy , Đã làm đồ án chưa .

em nợ khoảng 3 môn có gọi là nhiều ko nhỉ bác trả hết nợ tiền mặt chwua ấy viết tiếp đi bắc

Không nhiều đâu bác . Tiền mặt thì mình vẫn chưa trả hết ,kể từ lúc đi làm một tháng mình gửi đều đặn cho fpt 4tr . Đợi mình rảnh mình viết tiếp . Đang ngồi xem lại kiến thức đi phỏng vấn : ))

mình thấy lãi hình như cũng khá cao đấy

6% một năm đó bạn . MÌnh không rành về vụ này lắm , nhưng ba mẹ nói vậy là không cao .

đùa với c cách mạng cho học sinh vay tiền đi học mà lãi cao như là cho doanh nghiệp vậy

bác đang làm FPT hay ở đâu bác

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