Kinh nghiệm Chi Tiết Tự Hoc Software Engineer (SE) không Qua Trường Lớp, Bootcamp và Tìm Được Việc Sau 8 Tháng Ngay Mùa Covid Với Chi Phí Học Chưa Tới $100.

Long Lu, 14/8/2020 [ Save And Earn In America ]

Updated: bạn nào đã click vào link resume xem không được thì click lại nhé. Mình đang đi vacation nên các bạn inbox minh sẽ trả lời sau.

Hello các anh chị em, hôm trước mình có đọc qua các post về kinh nghiệm học Bootcamp để làm Software Engineer rất là hay của anh Trung Vu. Thật sự là mỗi bạn sẽ có 1 hoàn cảnh và không có 1 công thức nào có thể áp dụng cho tất cả mọi người. Nên hôm nay mình xin chia sẻ thêm kinh nghiệm hoàn toàn tự học Programming không qua bootcamp cho những bạn không có điều kiện về thời gian cũng như tài chính. Và mình nghĩ hướng này cũng thích hợp cho những bạn đã có kinh nghiêm về Coding ở VN muốn tìm việc ở Mỹ mà không cần vào trường học lại lấy bằng.

* Pros and Cons của việc tự hoc:

Pros:

Chủ động về tgian, có thể học bất cứ lúc nào, cho những ai phải đi làm full-time, part-time, lo cho gia đình.

Không quá tốn kém, tùy vào kiến thức mình muốn học mỗi lớp chỉ có từ $15-$20. Mình học tổng cộng 3 lớp công thêm mấy thứ lẻ tẻ nữa chắc khoảng $100.

Cons:

Vì không có ai trực tiếp dạy nên nếu bạn có gặp vấn đề, có câu hỏi thì sẽ khó tìm câu trả lời hơn. Vấn đề này có thể làm nhiều bạn dễ bị nản.

Tự do về thời gian cũng là con dao 2 lưỡi, vì không có ai kềm cặp nên nếu bạn không tự thân cố gắng, không có ý chí thì cũng dễ bị xao nhãng và lãng phí tgian

Khó tìm việc hơn những người có trường lớp, bootcamp vì bạn sẽ không gặp mặt ai để mà network cả NẾU không tự tạo điều kiện, tự mình đi kiếm.

=> Tuy nhiên nếu bạn master được những skill như tự tìm kiếm câu trả lời, tự tạo kỷ luật cho mình trong việc học thì nó sẽ giúp bạn rất nhiều khi đi làm và cả trong cuộc sống.

* Background:

Minh tốt nghiệp ngành kĩ sư địa chất (Geological Engineer) năm 2016 và hoàn toàn không có kinh nghiệm gì về Programming ở trường. Sau đó mình đi travel trong khoảng 3 năm, và thời gian đó làm 1 số công việc online như viết blog, bán hàng shopify, Amz và trading. Đến khoảng tháng 9 năm 2019, mình muốn tìm một công việc nào đó ổn định hơn, vừa có thể làm remote vừa thỏa lòng đam mê đi bụi của mình nên mới chọn làm ngành Software Developer.

Mình đã cân nhắc rất kỹ giữa việc tự hoc và bootcamp vì thật sự rất sợ việc chưa biết gì cả mà cứ lao vô học thì biết học cái gì trước cái gì sau. Sau 1 thời gian nghiên cứu thì mình thấy kiến thức của bootcamp thật sự là “available for free” đầy trên mạng. Mình trả tiền là trả cho cái người hối thúc mình học, coi bài dùm mình thôi nên thấy không đáng mất hết mấy ngàn hoặc có khi lên cả gần 20k. Cho nên thôi quyết định tự chiến.

* Làm sao để không bỏ cuộc và nản chí khi phải tự bơi khi học coding? Câu nói “phải cố gắng không bỏ cuộc” thì ai cũng quá thuộc lòng rồi nhưng không phải là bí quyết để học. The key ở đây chính là learning how to learn, và mình nghĩ nó sẽ giúp các bạn thành công trong mọi lĩnh vực khác. Có 2 bí quyết chính đó là:

1/ Đừng “cày” quá nhiều nếu mình cảm thấy không muốn nữa. Nghe có vẻ nghịch lý nhưng nó dựa trên nhiều nghiên cứu khoa học về psychology. Nếu bạn đang coi 1 cái video mà không hiểu gì hết, đang code mà bị lỗi quái gì không biết làm sao … cảm thấy mệt mỏi chán nản thì bỏ ngay cái máy tính và đi tìm những cái khác vui hơn để làm: coi 1 clip hài, đánh 1 ván game, dạo FB ... Điều quan trọng nhất là đừng để não của bạn nghĩ coding là 1 gánh nặng và là 1 cái gì đó có hại cho mình. Chỉ khi nào tâm lý đang vui vẻ sẵn sàng thì hãy học. Khi mà não để gắn kết việc học với niềm vui rồi thì tự nhiên mình sẽ bị “nghiện” và lúc nào cũng muốn code 1 cái gì đó.

Nhiều người có tâm lý lúc nào cũng phải chơi tới bến nhưng được vài bữa là sẽ hết hơi. Lúc đầu bạn học chỉ cần 1 ngày 10 phút - 20 phút. Thấy mệt là bỏ liền không đụng tới nữa, nhưng ngày nào cũng làm thì từ từ nó sẽ thành thói quen. Lúc đó bạn có học cả ngày cũng chả thấy chán. Và đừng bỏ quên cuộc sống thường ngày của bạn như bạn bè gia đình thể duc6 vui chơi …. Muốn hiểu thêm về vấn đề này bạn có thể đọc thêm 2 cuốn sách về thói quen “The Power of Habit” của Charles Duhigg và “Atomic Habits” của James Clear nhé.

2/ QUAN TRỌNG NHẤT: Học cách hỏi đúng câu hỏi để tìm được đúng câu trả lời. Thật sự thế giới programming quá rộng và không ai có thể biết hết 100% cách code cho mọi vấn đề. Cho nên bạn cần phải tập Google câu hỏi của mình 1 cách chi tiết nhất có thể và người bạn đời sẽ giúp trả lời cho bạn mọi vấn đề chính là www.stackoverflow.com, 1 website kiểu Q&A for all programming problems. Có 1 câu nói vui trong giới SE đó là nếu 1 ngày stackoverflow bị sập thì chắc tụi mình sẽ thất nghiệp hết. Đó là vì mọi câu hỏi về code của bạn sẽ tìm được câu trả lời nếu bạn biết cách dùng đúng từ khóa, và chính mình đang đi làm cũng gần như phải lên đó tìm mỗi ngày.

* Mình lấy việc học là công việc full-time 6-8 tiếng/ngày, 5-6 ngày/tuần trong suốt 8 tháng. Vậy mình làm gì để kiếm tiền trong thời gian đó?

- Mình có một “Shop online” đã mở từ lâu trước khi học nên cũng có 1 ít passive income. Sẵn tiện quảng cáo anh chị nào có quan tâm đồ eco-friendly thì ủng hộ em nhé hehe http://ekotraveler.com/

-  Mình có 1 số kiến thức căn bản về trading, nên lâu lâu vào trade 1 phát kiếm tiền nhà. Mình không phải pro nên nếu các bạn muốn biết thêm về trading thì hỏi mấy anh chị trong group SEA toàn dân pro không.

- Chạy thêm grubhub, postmate, doordash nếu rãnh, nhưng mình sự mình không có đi nhiều vì code cả ngày đuối quá cũng không chạy xe nổi.

* Nên học coding language gì?

Trước tiên mình nghĩ là không nên chọn đại 1 language để học. Vì mình thấy đa số các bạn tự học vì muốn đổi nghề càng sớm càng tốt. Không có tgian đâu mà học 1 cái hết mấy tháng rồi lại đổi qua học cái khác nếu không đúng cái mình cần học hoặc là không thích nữa. Mỗi language sẽ có 1 thế mạnh khác nhau: Javascript để build web application (FB, Insta, linkedin …) , Python cho data science AI, Java cho Android App, Swift for IOS … Bạn nên research lý do bạn muốn code là gì để chọn hướng đi cho mình. Còn nếu khó quá thì nên bắt đầu từ Javascript (1st choice) hoặc Python (2nd choice) vì đơn giản là nó dễ nhất.

Nếu bạn chưa biết gì về computer science, mình highly highly recommend là học lớp CS50: Introduction to Computer Science do chính Harvard dạy cho học sinh Harvard nên khỏi lo về chất lượng nhé (link phía dưới). Sau khi học lớp này bạn sẽ có 1 kiến thức căn bản về programming như C, Python, Javascript, HTML, CSS , SQL, Algorithm … Đừng lo nếu bạn không hiểu hết hoặc không làm được homework của nó vì thật sự là hơi khó nếu không có thầy để hỏi trực tiếp. Từ đó bạn có thể chọn cho mình 1 hướng đi phù hợp.

Hướng đi của mình là Full Stack Javascript MERN (MongoDB, Express, React, NodeJs) vì theo ý kiến cá nhân, Javascript (JS) dễ học và dễ kiếm việc làm nhất cho ai là beginner không có kiến thức nhiều về computer science so với những language còn lại. Hơn 90% web dùng JS và nó có thể dùng để build software cả front end và back end( cái này bạn tự nghiên cứu nhé). Cho nên không bao giờ sợ thiếu job hoặc lỗi thời. Thứ 2 nữa là có rất nhiều support online và libraries (code người khác viết sẵn) để bạn có thể dùng khi lập trình bằng JS.

* Thôi đi vào phần chính đó là từng lớp mình đã học theo thứ tự thời gian:

1/ CS50: Introduction to Computer Science https://online-learning.harvard.edu/course/cs50-introduction-computer-science

Kiến thức căn bản nhất để nhập môn cho những ai chưa từng đụng đến programming. Free!

2/ Freecodecamp:

https://www.freecodecamp.org/

Web nổi tiếng nhất cho những bạn tự học. Có đầy đủ nội dung từ căn bản đến nâng cao hoàn toàn free. Có 1 số người nói chỉ cần học cái này thôi cũng có thể kiếm việc. Mình không dám khẳng định, tuy nhiên mình bỏ giữa chừng vì thấy cách học hơi nhàm chán và không có ai để hỏi.

3/ Udemy: The Web Developer Bootcamp

https://www.udemy.com/course/the-web-developer-bootcamp/

Course rất hay nhưng có 1 số codes bị lỗi thời. Mình phải tự sửa 1 số phần. Bạn có thể chọn course khác như của Angela Yu updated for 2020.

4/ Udemy: The Modern Javascript Bootcamp Course (2020)

https://www.udemy.com/course/javascript-beginners-complete-tutorial/

Học thêm lớp này vì lớp trên hơi bị outdated 1 số chỗ. Tuy nhiên căn bản thì vẫn như nhau.

5/ Udemy: Modern React with Redux [2020 Update]

https://www.udemy.com/course/react-redux/

Phần Front End cho đầy đủ full stack vì các lớp trên không có cover. Ngoài React, bạn có thể học Angular hoặc Vue.

Mình là fan của Udemy vì giá các khóa học chỉ từ 10-20$ tùy thời điểm. Kiến thức rất thực tế có thể áp dụng vào sử dụng và thấy kết quả mình code ngay. Ngoài ra sau khi học xong bạn có projects để cho vào portfolio (sẽ nói thêm bên dưới) và có TA hoăc ngay cả instructor trả lời những câu hỏi của mình. Quá đáng đồng tiền bát gạo!

Mình đã học qua những lớp trên và chắc chắn kiến thức hữu dụng đã dùng cho job mình đang làm. Tuy nhiên mình không dám khẳng định được nó là the best vì mình chưa từng học những khóa khác để mà so sánh.

Ngoài ra mình còn học thêm những lý thuyết căn bản của Comp Sci như algorithm, data structure, … Rồi đến advanced như blockchain, C++ tất cả đều free trên Coursera hoặc Edx, để biết thêm. Trong tgian tìm việc thì học những khóa luyện interview cho programmer trên Udemy.

* Làm thế nào để chuẩn bị tốt nhất khi nộp đơn xin job?

1/ Hãy bắt đầu ngay khi bạn nghĩ mình CHƯA sẵn sàng. Nếu bạn thấy mình chưa biết hết mà cứ đợi rồi coi hướng dẫn hoài (tutorial hell) thì có job là điều không bao h xảy ra. Bởi vì không ai có thể hoàn hảo cả, đã có 1 số projects cho portfolio rồi thì bạn cứ bắt đầu quăng resume.

2/ Resume: phần nhiều người thắc mắc nhất là nếu không có experience về programming thì cho vào resume thế nào? Nếu bạn đã làm việc gì đó liên quan đến IT computer rồi thì hãy cho vào còn không thì để những projects mình đã làm trong lúc học (hoàn toàn legal không bị copyright). Đây là resume mình dùng để nộp (cái này là bản cũ mình dùng để nộp, not the best. Mình nghĩ cần update bớt màu mè hơn):

https://drive.google.com/file/d/1Uyw1BS-qpfPlV-J3BBMDcocbIb1vJn57/

3/ Linked-In: phải làm cho nó là bộ mặt professional nhất của bạn. không để profile hình đi chơi. Chú trọng phần cover photo, about me cho biết mình là ai và thể hiện mình có passion về coding.

- Education thì để là mình self taught đang học những gì.

- Skills: chỉ để những skill liên quan tới công việc SE.

- Accomplishments: add những projects bạn đã làm

Đây là Linked-In của mình cho các bạn tham khảo: https://www.linkedin.com/in/lucasludev/

4/ QUAN TRỌNG NHẤT! Portfolio website và GitHub. Trong resume không thể nào show hết bạn làm được những gì cho nên bạn cần phải có 1 personal website để show projects, và show code trên Github. Nếu có thời gian tự build toàn bộ website from scratch thì càng tốt, không thì bạn có thể sử dụng wordpress và mua 1 theme có sẵn giống như mình. Khi mình post bài này lên 1 số forum thì có vài người chỉ trích việc này. Riêng mình thì thấy không sao cả, mình không phải lấy theme để apply cho công việc Website Designer mà dùng nó để show cái mình làm được là software và web application. Đây là personal website của mình:

https://lucaslu.dev/ (Wordpress Theme: Kerge Resume)

https://github.com/blocks-master (GitHub)

* Làm sao để tạo sự khác biệt so với vô vàng self taught developers khác cũng học giống mình?

1/ Tự add 1 số features cho projects của mình không có trong khóa học. Ví dụ course đó dạy làm 1 web để review về những phòng dạy yoga, thì mình có thể add vô thêm chức năng tìm trên google map, gọi điện để lấy hẹn, add rating cho teachers ….

2/ Có vài projects gì đó của riêng mình. Vi du. trường hợp của mình: 1 shop online đang hoạt động, travel blog, code trên Bitcoin

3/ 1 số skills khác ngoài coding nhưng cũng có hơi liên quan. Ví d của mình : project management, Photoshop/ Lightroom, Video Editing, Digital Markụeting /SEO, Shopify, Wordpress, Ecommerce …

4/ Mình không có ý định dừng việc học ở đây mà sẽ tiếp tục học thêm về lập trình blockchain và lấy bằng Master MCITr của UPenn (https://www.coursera.org/degrees/mcit-penn). Bằng này cho những người không có bằng bachelor của Computer Science nhưng muốn đổi nghề qua làm SE. Trường Upenn thuộc Ivy League nên chất lượng và danh tiếng không phải bàn cãi, và có cả network với các cty lớn nhất của Mỹ nữa. Recruiter sẽ ưu tiên hơn những bạn có ý chí cầu tiến, và bằng Master cũng cho bạn cơ hội thăng tiến nhiều hơn là không có gì cả. Giá 26k hơi chua nhưng thật sự không đáng gì so với giá trị mà nó đem lại cả.

* Tìm việc ở đâu?

1/ Bạn nên tham dự những buổi hiring events, social meetups (tìm trên meetup.com) nhiều nhất có thể. Networking is the key! không cần phải giỏi nhất nhưng quan trọng là bạn biết ai!

Tuy nhiên trường hợp của mình là ngoại lệ vì học xong ngay mùa Covid T_T nên chẳng có đi gặp được ai cả. Mình rải resume trên Indeed, LinkedIn và Glassdoor và 1 số web nhỏ khác. Bạn không cần phải biết 100% yêu cầu có trong job description vì có thể tự học thêm bất cứ lúc nào, và có rất nhiều người HR post việc không biết gì về Tech nên cứ post tùm lum skills hết (yup). Keywords: entry level, junior software engineer, web developer, software developer, full stack developer. Cứ thấy là apply không mất gì cả.

2/ Lúc đó mình ở OC nhưng tìm việc ở tất cả những thành phố lớn về tech như: Seattle, Austin, Atlanta, Raleigh và sẵn sàng move ngay ngày mai nếu tìm được job :D (không chơi Bay Area vì không thích high cost of living). Nếu có điều kiện thì bạn nên open mind về việc chỗ ở để tạo thêm cơ hội cho mình cũng như cho recruiter thấy được mình sẵn sàng làm mọi thứ để có job.

Tất nhiên việc tìm job cho 1 người tự học, không có network rồi lại cộng thêm con covid quái quỉ nữa là điều không hề dễ dàng. Sau khi hoc xong hết 6 tháng là tháng 4 thì mình bắt đầu thì thả resume. Sau đó là vừa học thêm vừa nộp đơn mỗi ngày. Cứ thấy posting mới ra là apply. Mặc dù xin hơn cả 100 chỗ trên mọi miền nước Mỹ 97% là reject nhưng mình vẫn cứ tin tưởng vào bản thân là sẽ làm được và tiếp tục làm thêm projects để cho vào portfolio.

Sau hơn 1 tháng thì mình nhận được 2 interviews ở Los Angeles. Tuy nhiên interview xong thì họ lại im lặng, follow up cũng không thấy trả lời. Thôi thấy không được rồi quyết định bỏ xứ qua Austin tìm đường cứu nước dù cho không biết làm gì ở đâu luôn, chỉ có niềm tin là qua đó chắc sẽ có việc. Trớ trêu thay là mình đang trên đường qua Austin đã tới El Paso rồi thì cái chỗ ở LA mới gọi kêu đi thử việc T_T. Thôi vẫn quyết đinh bỏ và tiếp tục hành trình. Ngày mình vừa tới San Antonio lên thử Craiglist Austin kiếm việc thì ngày hôm sau nhận được ngay cuộc interview qua phone. Sau đó họ cho mình bài test làm 1 cái app nhỏ ngay trong ngày hôm đó. Mình làm xong tới khuya thì nộp và ngày hôm sau nữa thì họ quyết định nhận luôn. Hell yeah!

Lúc đó là thứ 5, mừng quá nhận việc thứ 2 luôn dù chưa tìm được chỗ ở trên Austin phải ở tạm nhà dì ở SA. Ngày nào mình cũng chạy 2 tiếng đi tới Cedar Park (Bắc Austin) rồi 2 tiếng về đuối phờ râu nhưng cũng phải ráng. Sau hơn 1 tuần mình cũng đã tìm được nhà thuê.

Hiện tại mình đang là Software Engineer cho 1 công ty Mortgage tầm trung và làm phần mềm process loan.

Cảm thấy thật sự vui và tự hào sau 8 tháng cày cuốc!

Bài viết khá dài, cám ơn các bạn đã quan tâm theo dõi. Nếu có câu hỏi hay thấy mình có nói gì không đúng thì comment bên dưới mình sẽ trả lời cho mọi người cùng thấy. Nếu các bạn đã có hướng đi rồi thì inbox mình hỏi thêm cũng được, nhưng mình không nhận inbox hỏi những câu như “giờ mình muốn học IT thì phải làm sao”, “mình đang làm hãng giờ phải làm sao” ... Vì mình bị 1 người gọi qua hỏi rồi _*_.  Bạn nào ở Austin và có ý tưởng kinh doanh gì cần phần mềm thì add mình nhé.

P/S: Mini scholarships cho ace group SEA: 4 bạn đầu tiên pm cho mình lý do vì sao thích học SE, và bạn có ý tưởng build 1 phần mềm gì đó mà chưa ai làm ko? (2-3 câu thôi không cần essay đâu :D) mình sẽ share cho account Udemy của mình có gần 200 courses các kiểu: từ programming cho đến digital marketing, SEO, E-commerce, self-development…. + thêm 1 số chương trình Nanodegrees của Udacity nếu cần.

Xin 1 chút quảng cáo nhẹ: Mình cũng có nhận làm website cho cơ sở kinh doanh, tiệm nail, shopify store cho những bạn muốn mở shop online bao gồm cả hướng dẫn sử dụng nhé (còn bán gì thì mình chịu =]]).

#softwareengineer #bootcamp #programming #coding

Nguon: https://www.facebook.com/groups/379454242450614/permalink/1078361359226562/