Chia sẻ về con đường phát triển nghề nghiệp của bản thân (edit)

Những từ viết tắt:

  • JavaScript: JS
  • DEV: Developer

Chia sẻ của Viết Anh về việc học JavaScript (JS): Trước anh có dịp được đi cafe với CTO Hiển Nguyễn của Zen8Labs số 1 Thái Hà - author blog https://gurunh.com/ và cuốn sách rất hay về Agile, đồng thời cũng là giảng viên của nhiều khóa học về IT tại VN. Anh ý có nhiều phân tích về điểm yếu điểm mạnh của anh em developer Việt Nam mình. Trong đó có 2 điểm yếu mà anh rất để ý (và thấy nó khá là đúng). Đại thể:

1. DEV mình thông minh, nhưng không học bài bản

Dev mình thông minh, nhưng mà không thích / không đầu tư học hành bài bản; phần lớn khả năng chỉ dựa vào kinh nghiệm làm việc; tích lũy qua thời gian.

Nói đơn cử việc @Việt hay anh học PHP, phần lớn là do 2 người mở đầu bằng những bài toán có PHP (làm 1 web đơn giản chẳng hạn), sau đó tìm hiểu PHP basic và làm những công việc phức tạp hơn kết hợp với "quá trình Google" để tích lũy kinh nghiệm cũng như nâng cao "năng lực chuyên môn".

Điều này vô tình dẫn đến 2 hệ quả không hay là cả 2 sẽ nắm vững tầng application (1 cách không có hệ thống) hơn là tầng logic và tầng máy; nôm na là biết ứng dụng ngôn ngữ 1 cách máy móc và thường kém hiệu quả hơn là hiểu sâu về ngôn ngữ đó; - làm coder thì hợp hơn làm Tech Lead, kiểu vậy. Và hệ lụy tiếp theo là không ghi được điểm trong mắt nhà tuyển dụng Quốc tế - những người không hề coi trọng đào tạo hàn lâm tại Việt Nam nhưng lại rất quan trọng những International Certifications (chứng chỉ quốc tế) với ứng viên họ mong đợi.

2. DEV mình kỹ năng mềm thường rất kém

Kỹ năng mềm ở đây là nói chung - từ giao tiếp, họp bàn, đưa ra ý kiến, tiếp nhận ý kiến, hiểu vấn đề, giải thích vấn đề ... đến TIẾNG ANH. Tất nhiên không phải ai cũng yếu kém như vậy; cũng không có nghiên cứu thống kê cụ thể nào để chứng minh DEV ta THƯỜNG kém như vậy luôn. Nhưng theo cảm quan của anh thì đúng là như vậy. Anh đã gặp nhiều trường hợp các chú dev mới rất chi là... ngô nghê (nếu không muốn nói là chả biết cái mịe gì - kể cả dạ vâng lúc anh phân tích yêu cầu)... Có lẽ kỹ năng mềm cũng có phần nào đó tỉ lệ thuận với trình độ chuyên môn (kiểu biết nhiều hơn thì chém gió cũng mạnh hơn ý); nhưng cơ bản là 1 từ: KÉMMM.

Vì vậy, khi quyết định muốn theo / học 1 ngôn ngữ lập trình nào đó nói riêng (hay học cái gì đó nói chung), hãy đầu tư học bài bản để hiểu từ bản chất của chúng hiểu lên Với "bài bản" ở đây thường ý chỉ 1 / nhiều khóa học từ cơ bản đến nâng cao (free hoặc trả phí - tất nhiên trả phí thì tốt hơn, có cấp chứng chỉ hoặc không cấp chứng chỉ, online hoặc offline...).

Vậy thì cơ bản nên đi thế nào?

Phần này là ý kiến chủ quan của anh thôi; có thể áp dụng hoặc không; nhưng theo anh là hợp lý. (Giải thích kèm theo)

1. Tự học căn bản

Anh @Manh lớn đã nói nhiều về khả năng tự học, tự nghiên cứu. Rất rất cần thiết cho DEV khi cần triển khai hoặc tiếp cận 1 cái mới trong công việc. Điều đó rất có ích trong phần này. Hãy đọc và thực hành theo các tài liệu căn bản nổi tiếng như https://www.w3schools.com/ (JS: https://www.w3schools.com/js/), https://www.geeksforgeeks.org/ (JS: https://www.geeksforgeeks.org/javascript-tutorial). @Việt chắc đã hòm hòm kiến thức về PHP / HTML / CSS / JS căn bản của W3 Schools rồi: Good!

Việc học căn bản trước sẽ giúp mọi người tiếp thu các khóa học tốt hơn; cũng như hiểu về syntax cũng như các thứ căn bản nhất của ngôn ngữ mình sắp tiếp cận; nên anh cho rằng đây là bước quan trọng đầu tiên.

P/S: để có tool code JS; mọi người có thể tải RunJS software (https://runjs.dev/), anh sẽ có bài nói riêng về tool này sau.

2. Tham gia các khóa học từ cơ bản đến nâng cao

Tùy vào sự đầu tư, mọi người có thể học các khóa học đắt tiền để lấy chứng chỉ quốc tế. Nhưng theo a thì cứ học những khóa từ dễ đến khó, từ free đến trả phí đã. Sau khi hành nghề, dựa vào nhu cầu thì mới quyết định có học / thi để lấy chứng chỉ hay không.

Anh suggest đọc bài này trước: https://medium.com/@samanthaming/my-top-3-favorite-free-javascript-courses-for-beginners-ef8cd20d7c0d

Mọi người sẽ start bằng vài khóa học online free (tự tìm trên mạng). Sau đó sẽ bắt đầu học sâu hơn bằng những khóa học trả phí của Udemy hoặc Frontend Masters.

Anh có tài khoản trả phí cho cả 2 (của sếp). Anh sẽ cân nhắc rồi share cho anh em kèm theo 1 số điều kiện trong thời gian tới.

Lời khuyên chân thành của anh là, PHP, JS, .NET, JAVA... hay thậm chí là HTML CSS; ngôn ngữ lập trình nào cũng đều có thể giúp mọi người kiếm xiền (hoặc rất nhiều xiền); miễn là chuyên môn phải đủ tốt và tiếng Anh phải đủ siêu. Đừng đắn đo quá (và hỏi bọn anh) về việc học cái gì thì giàu nhé. :D

Anh sẽ tiếp tục chia sẻ về seri học JS trong những bài sau.

Tham khảo:

https://github.com/phuoc-ng/

https://github.com/nghuuphuoc/

HTML

Common tasks of managing HTML DOM with vanilla JavaScript

https://github.com/phuoc-ng/html-dom/

JavaScript

How to Build a Light REST Client With JavaScript

https://dzone.com/articles/how-to-build-a-light-rest-client-with-javascript

What's your favorite JavaScript single LOC (line of code)?

https://github.com/phuoc-ng/1loc

https://github.com/torokmark/design_patterns_in_typescript

https://github.com/trekhleb/javascript-algorithms

https://github.com/nghuuphuoc/javascript

https://github.com/nghuuphuoc/awesome-javascript

https://github.com/nghuuphuoc/tocjs

https://github.com/nghuuphuoc/Validation

Generate fake, valid numbers. Check if a number is valid. Support a lot of different numbers: Credit card, EAN, ISBN, RTN, VIN, etc.

https://github.com/phuoc-ng/fake-numbers

CSS

A collection of popular layouts and patterns made with CSS. Now it has 90+ patterns and continues growing!

https://github.com/phuoc-ng/csslayout

Test responsive layout, powered by AngularJS and Bootstrap 3.

https://github.com/nghuuphuoc/responsivetest

https://github.com/nghuuphuoc/solved-by-flexbox

https://github.com/thedaviddias/Front-End-Design-Checklist

https://github.com/andrew--r/frontend-case-studies

30 seconds of Interviews

https://github.com/30-seconds/30-seconds-of-interviews

PHP

https://techtalk.vn/huong-dan-viet-code-php-chuan-psr-tieu-chuan-khi-lap-trinh-php.html

https://viblo.asia/p/coding-conventions-va-cac-chuan-viet-code-trong-php-naQZRbrGZvx

https://code.tutsplus.com/vi/tutorials/10-principles-of-the-php-masters--net-721

Con đường sự nghiệp:

Đơn giản hóa con đường phát triển sự nghiệp với 6 bước

https://blog.topcv.vn/don-gian-hoa-con-duong-phat-trien-su-nghiep-voi-6-buoc-sau/

21+ con đường sự nghiệp (career path) cho Developer

https://itviec.com/blog/con-duong-su-nghiep/

Chia Sẻ Về Con Đường Phát Triển Sự Nghiệp Của Một Developer

https://ybox.vn/ky-nang/youth-confessions-chia-se-ve-con-duong-phat-trien-su-nghiep-cua-mot-developer-5c62cb28fd78927c17fd632c

Chia Sẻ Về Con Đường Phát Triển Nghề Nghiệp Của Bản Thân: Đi Dọc Hay Đi Ngang

https://ybox.vn/ky-nang/youth-confessions-chia-se-ve-con-duong-phat-trien-nghe-nghiep-cua-ban-than-di-doc-hay-di-ngang-5ce4dc3c5617f459e49ceb21

30 thói quen phát triển sự nghiệp trước tuổi 30

https://careerbuilder.vn/vi/talentcommunity/30-thoi-quen-phat-trien-su-nghiep-truoc-tuoi-30.35A5136B.html

Chia sẻ về con đường phát triển nghề nghiệp của bản thân: đi dọc hay đi ngang

https://www.firstjob.asia/tin-tuc/chia-se-ve-con-duong-phat-trien-nghe-nghiep-cua-ban-than-di-doc-hay-di-ngang-416.html