Chia sẻ kinh nghiệm khi học CNTT cùng Bà Na

59
7367

Ta thường có nhiều cách để học 1 điều mới , nhưng chung quy lại vẫn là tiếp thu bằng cách: nhìn nhận và lặp lại vấn đề.

Ngặt nỗi ta ngại tiếp thu – lại hay bỏ xó kiến thức khi không dùng tới, nên trong bài viết này, mình sẽ cố gắng truyền lửa cho anh em đam mê và chia sẻ anh em kinh nghiệm để giúp anh em bớt buồn phiền hơn khi học CNTT. Đã lâu rồi không type 1 dòng code nào từ khi chuyển qua làm Web bằng WordPress. Cũng khá là chăm xem Medium, Github Trends hay Kipalog như 1 thói quen, cũng ồ lên khi thấy 1 repo thú vị để rồi qua loa xem readme.md, nhanh tay Star để bookmark rồi lại bỏ xó.

Đây là list nhạc cho người hay xao nhãng, bấm play để nghe và xem hết bài. Nếu nản, đừng bookmark trên Chrome mà hãy note ra giấy hoặc note trên Stickynote. Bởi: bookmark trên Chrome là công cụ mình hay thêm, ít khi xoá và hem bao giờ xài.

Là 1 dev, kinh nghiệm của bạn là gì?

Tiện đây chia sẻ cách học cũng như làm việc của mình và nói luôn nó tỏ ra khá hữu ích – ít nhất là với mình:

1. Sách và cách đọc:

Chăm xem sách xíu, mình đang đọc quyển Everybody Lies: Big Data, New Data….. cũng khá cuốn. Mình chọn nó đơn giản vì review cao trên Amazon, không dày, tầm 200 trang. Lâu lâu cũng nên cho mình vài thú vui, với mình là đọc mấy quyển truyện, ngày 2 ván liên minh để đời nó sinh động.

Đọc tuts, document,…. bằng tiếng anh:

Trên máy tính rất dễ cài từ điển:

Sau khi cài từ điển, không hiểu từ nào thì double Click, tránh việc kéo cả đoạn để dịch.  Và mình không cố gắng để nhớ, vì mình chỉ cần em nó lúc đó, dịch hoài thì tự vô đầu. Nếu bài viết hoặc sách nào khó hiểu thì thường 6-8 dòng mình sẽ kéo 1 đoạn và dịch để hiểu tổng quát. Hãy để mọi thứ tự nhiên vô đầu bạn.

Trên Kindle: mình ít đọc sách IT trên này. Còn sách đọc cho biết với ngta thường mình sẽ đọc tiếng Việt trước. Do Kindle có từ điển tiếng Việt nhưng dùng chuối nên mình dùng từ điển Oxford giải nghĩa Anh – Anh hay hơn. Thường mình sẽ đọc bất chấp, không hiểu cũng kệ và đoán nghĩa. Cách này khá nản nếu chưa đọc bản Việt.

2. Tiện ích gối đầu cho anh em dev:

A. Github – nguồn tài nguyên vô hạn:

Có 1 thú vui là mỗi ngày mình đều lướt Github Trends nên hay bắt gặp nhiều repo thú vị, mình sẽ star và có 1 thói quen nhỏ là hay xem lại star của Github cũng như Bookmark của Medium. Repo JS hoặc PHP, Python mình clone trực tiếp về chạy test thử, và…… “biến nó thành của mình”. Kaka.

Bạn có thể thấy trong ảnh, star tận 1k1 nhưng repo chỉ có 67 vì đa số mình folk lại chứ cũng không đóng góp được gì. 

Một mẹo nhỏ khác: dùng từ khoá “awesome + điều bạn muốn tìm hiểu”. Ví dụ: awesome javascript trên thanh tìm kiếm của Github. Những repo này tổng hợp nhiều điều vui vẻ về công nghệ bạn muốn tìm hiểu.

B. Tìm hiểu về Stackoverflow:

Nếu bạn mới bắt đầu, hãy hỏi thật nhiều bởi vì:

  • Bạn sẽ học được cách tạo nick mới mỗi ngày.
  • Làm quen với cách Stackoverflow hoạt động.

1 vài mẹo trong Editor của Stackoverflow nếu bạn là người mới:

  • Format code: chọn vùng code, nhấn Ctr+K nếu code >3 dòng.
  • Nếu <3 dòng, hãy dùng dấu ‘’

Ban đầu không được đăng ảnh cũng như vote, vì vậy hãy học cách trả lời, kiếm vote từ câu hỏi thì khó chứ từ việc trả lời khá là dễ dàng.

Xem: https://meta.stackexchange.com/questions/17204/six-simple-tips-to-get-stack-overflow-reputation-fast

Nếu được, hãy quay ảnh động gif vấn đề bạn đang mắc phải để người giúp hiểu vấn đề dễ hơn.

Sau khoảng 3 tháng kinh nghiệm, hãy trả lời kèm hỏi. Sau 6 tháng, hãy dành thời gian đọc những câu trả lời hay, thêm câu trả lời thú vị vào Favorite.

Mình đã thêm câu: Dùng curl để lấy file từ Google Drive (mình đã viết 1 bài hướng dẫn trên Share Ngay) vào mục Favorite của Stackoverflow và liên tục xài nó bởi mình hay upload source lên Google Drive và lên con VPS ghẻ để curl về VPS chứ xài FTP tới tết công gô cũng chưa upload xong.

C. Ứng dụng thú vị để học:

Mình cũng có thói quen nhỏ là đọc code trên iPad bởi tính tiện dụng của nó. Cái này chắc nhiều anh em chê cười, nhưng kệ, chia sẻ anh em 1 app rất thú vị tên là Working Copy.

Nhấn để cài đặt trên iOS.

D. Hạn chế việc tải, cất và bơ luôn, không bao giờ xem.

Thường ae lên J2Team hoặc lên sharengay get khoá học Udemy về xem. Mình cũng từng 1 thời cài cắm torrent hay tải nguyên đống video trên Youtube. Thời gian tải còn nhiều hơn thời gian bỏ ra để xem hoặc học. Đây là trái đắng thực tế mình đã trải qua, mình tải 1 đống khóa học về làm game trên Unity, asset, scene các kiểu nhưng chưa bao giờ đụng. Ổ hơn 256GB này tồn tại từ năm nhất tới ra trường, sau 2 năm ra trường thì ổ cứng tự hỏng. Trước đó mình có mở ra xem vài lần, do quá nhiều nên nản.

E. Cách research trên google:

  • Về 1 mã lỗi: copy nó và dán thẳng lên google, đừng quá dài.
  • Về 1 vấn đề: ghi thẳng vấn đề, nên thêm hậu tố ví dụ như tên công nghệ vào sau: Elixir, Rust, JS, Python, C#,…

F. Thói quen xem tin:

Tập làm quen với việc xem blog để học hỏi, danh sách website mình vẫn cuồng tới giờ:

  1. https://github.com/trending
  2. https://medium.com/top-stories
  3. https://kipalog.com/posts
  4. https://reddit.com/r/programming
  5. https://codepen.io
Trong 5 site này thì:
  • 2 site đầu ngày nào mình cũng ghé.
  • Kipalog tuần ghé 2 lần.
  • 2 site cuối thì tuỳ hứng.

G. Học cách chia nhỏ vấn đề và tìm giải pháp khác khi gặp khó.

Nếu làm chung với team thì có thể trao đổi cùng anh em. Mình thường tìm trước trên Stackoverflow, nếu không ra mình dành 20 phút để hỏi. Nếu không được mình mới hỏi anh em trong team.

H. Nên: tạo 1 blog nhỏ, dành chút thời gian, ghi những điều vui vẻ và quảng bá nó.

Tuy nhỏ nhưng nó sẽ lớn trong tương lai. Kiến thức của bạn, kinh nghiệm của bạn, các bạn trẻ đọc, các bạn hem hiểu nhưng chắc thấm (:troll). Bạn không nhận được gì? Đúng rồi, bạn chẳng nhận được gì ngoài niềm vui nhỏ khi thấy có người xem hay comment. Mình làm trang sharengay.com vs mục đích là 1 trang web nhỏ như thời xtgem, nơi có quyetdaika,.. vui vẻ với ae là chính, nhưng mình rất hi vọng nó sẽ lớn lên.

Thêm 1 kinh nghiệm nữa, đó là hãy bắt tay làm 1 dự án thực tế vì bạn chỉ động não khi đụng việc mới tìm hiểu, việc bổ sung kiến thức là rất quan trọng.

I. Hãy bắt tay vào làm cái gì đó, nếu dừng bạn mãi mãi ở đó thôi.

Dành thời gian 1 chút để tìm hiểu những công nghệ mới vui vẻ, Machine Learning là gì mà dân tình đồn rần rần hay làm sao để viết 1 ứng dụng nhỏ dùng GraphQL?

Khi hứng thú, hãy bắt tay vào làm, từ những cái nhỏ, khi làm sẽ phát sinh. Buộc bạn phải tìm hiểu. Nếu bạn nghĩ những cái bạn làm vô ích? Vậy hãy dành chút thời gian chọn cái mà bạn nghĩ rằng có ích trước khi làm. Thực tế những lợi ích trong tương lai mình có thể kể ra như:

  • Thêm vào CV xin việc.
  • Kiến thức bạn học được khi làm nó.

J. Sử dụng ghi chú:

Mình hay dùng ghi chú build-in của trang web. Ngoài ra thường dùng StickyNote để note nhanh và xoá nhanh. Ghi chú quan trọng mình sẽ dùng Google Sheet cho cá nhân hoặc Trello với nhóm.

Mình sẽ kết thúc bài viết này bằng 1 ví dụ thực tế về 1 dự án vui vẻ và những điều mình học từ nó.

Công ty mình có cái framework để build những web app dạng quản lý như: vé máy bay, quản lý khách hàng. Công việc bọn mình là thiết kế database và viết query theo điều kiện khách hàng đưa ra.

Hôm đó nhận được 1 dự án bán hoa, khách hàng yêu cầu:

  • Web quản lý khách hàng, hoa hoè các kiểu.
  • Viết con app trên Android tương tác với web quản lý trên cho nhân viên ổng xài để ghi âm cuộc gọi và lưu lại thông tin khách hàng.

Mục đích là: ông muốn biết khách đó tên gì, mua gì, mua bao nhiêu lần trong tháng, thói quen mua hoa gì, địa chỉ ở đâu, có hay đặt để gửi tới địa chỉ nào,..

Yêu cầu là: khi ngta gọi tới, trên điện thoại lập tức send 1 request lên server gồm tên(nếu có), số điện thoại, thời gian bắt đầu. Lúc này server luôn luôn lắng nghe, luôn luôn kết nối sẽ nhận được request này và ngay lập tức trang web hiển thị popup có người gọi, khi nhân viên nghe thì app ghi âm làm nhiệm vụ chính là ghi âm. Sau khi ngắt cuộc gọi, mới kết nối được mạng và gửi file ghi âm lên server của trang web. Nhân viên sẽ update thêm thông tin. Cái này lúc đó với mình khá lạ vì mình nghĩ nhân viên có thể tự ghi được, đâu cần thiết. Mà kệ, cứ yêu cầu thì làm.

Mình đã học được gì qua dự án trên?

Android là 1 thế giới phân mảnh, nơi bạn còng lưng ra fix hết mớ phân mảnh. Do nhân viên của ông khách dùng điện thoại Gionee nhòn giống mấy con Samsung Galaxy Y nhỏ xíu, mua hẳn 10 cái chắc cho rẻ, chạy Android 4.1 hay 4.4, không hỗ trợ hàm hay api gì đấy mình không nhớ rõ, nhưng lúc sau fix được. Còn ông khách dùng Android 6 trên con Galaxy S6 thì bị Google chặn việc ghi âm y chang trên iOS, nói chung mình mới lú đầu vô thế giới Android cũng không rành lắm và không fix được. Thật đau đầu khi mình test trên đống Android device của mấy ông anh trên công ty đều hoạt động hoàn hảo.

> Cho nên học được việc tối ưu code của bạn và có 1 timeline rõ ràng về các thiết bị sẽ được hỗ trợ cũng như phiên bản Android. Code sẽ càng lúc càng phình to vì 1 đống phụ code để hỗ trợ nhiều Android device cũng như Android version.


Khi người dùng ghi âm dưới 5s thì không send lên server.

> Làm cái gì cũng phải check điều kiện, kiểm tra null, đặt try catch rõ ràng.


Bạn phải lưu file ghi âm cả trong app bởi dữ liệu gửi lên server không phải lúc nào cũng toàn vẹn.

> Dữ liệu người dùng rất quan trọng, nên hãy cẩn thận khi xử lý hoặc xoá.


Tuỳ chọn không sync, khi nào về có mạng mới sync, vì ông sếp này cũng dùng app và thường ra ngoài, không phải lúc nào cũng có mạng như nhân viên trực nghe điện thoại. Ông yêu cầu tính năng này và khi sync lên thì dữ liệu bị conflic, trùng thì ghi đè. Khi sync thành công thì hiện icon nhỏ mỗi file tick xanh là hiểu.

> Học được cách tăng trải nghiệm người dùng, vì mình code mấy cái kia tốn nhiều thời gian, nhưng tính năng thông báo icon màu xanh khi sync thành công tốn rất ít thời gian thì lại được ông khách bo thêm 500k. Lương tháng 4tr với mình đó là 1 số tiền lớn.


Mình không nói sâu về quá trình xây dựng vì đây là dự án Android đầu tiên của mình và cũng cách đây 3.5 năm rồi, hiện tại source và demo đã đi theo gió. Trước đó mình chỉ code C# và nhảy trực tiếp qua Java và thấy không khó lắm trong việc tiếp cận. 

Vì vậy việc research và tư duy rất quan trọng, mình không nói bạn học được ngôn ngữ này sẽ nhai được ngôn ngữ khác, nhưng nó là bước đệm rất tốt để bạn bắt đầu với 1 điều mới mẻ.

Hi vọng là bài viết của mình sẽ truyền “lửa” cho anh em dev cũng như hi vọng anh em dành chút thời gian ghé thăm website sharengay.com, comment gì đó vui vẻ cũng được để nhiều người biết tới website của mình hơn.

4.8/5 - (56 bình chọn)
Bài trướcTư vấn build máy PC theo nhu cầu cá nhân miễn phí
Bài tiếp theoXây dựng web app thời tiết với Angular 6 từ A đến Z – P1: Thiết Kế
Tui là 1 con người cả ngố đó mấy bạn, thật may tui được thằng Tín tà tưa (bạn cùng phòng) nhờ làm cái web mà nó không viết gì, tui cũng không biết viết nhưng mà bỏ phí domain tốn xiền. Share Ngay ra đời lãng xẹt z đó. Blog này tui viết hồi cuối tháng 3/2018, có thể thấy độ trẻ trâu qua từng năm của tui không hề giảm. Nói thiệt nha, tui quý mấy bạn đọc cái blog này dù cho nó có mang lại giá trị cho mấy bạn không, nhưng mà tui thực sự cảm ơn mấy bạn. Hông giống Youtube, đăng lên phát là có vài chục ngàn view, tui đăng lên 1 phát có chục view là: "Ơ, dm, sao bữa này nhiều ng đọc dị. Tui dzui. Mấy bạn comment, tui đọc. Tui dzui. Đơn giản dậy thôi". Tui quỡn lắm, lâu lâu đọc lại những gì mình viết rồi thấy trẻ trâu mà không dám sửa. Thôi cứ để nó là 1 kỷ niệm. Ờ, nói nhiều là dậy, vì tui muốn mấy bạn thoải mái nhất khi đọc những dòng này nên viết có hơi dài dòng. Đoạn giới thiệu dễ thương này dành tặng tất cả những ai yêu mến Share Ngay. Sharahero!!!
Theo dõi
Thông báo về
guest
59 người bình luận
mới nhất
cũ nhất like nhiều nhất