Chào các bạn! Hôm nay cafedev chia sẽ cho các bạn một con đường, lộ trình và một trong nhiều hướng đi từ con số 0 để trở thành một developer chuyên nghiệp. Để làm được điều có bạn có thể tự học trên mạng, tham gia khoá học online, học tại trường, trung tâm về CNTT… tất đều giúp bạn làm được điều đó nhưng trước hết bạn phải có một kế hoạch và một mục tiêu kiên định.
Nội dung chính
1. Tại sao bạn lại chọn học CNTT?
Theo xu thế hiện nay ngành công nghệ thông tin đang cực kỳ hot và hấp dẫn đơn giản vì:
- Không sợ thiếu việc làm
- Lương ngàn đô trở lên cho những ace chỉ mới kinh nghiệm 1 năm mà thoy
- Có thể kiếm thêm tiền từ nhiều nguồn khác như làm freelancer, nhận dự án ngoài, làm app, web, game…Tự cho lên store mà kiếm tiền, kiếm tiền quảng cáo, hay dịch vụ nào đó..
- Kinh nghiệm chuyên sau có thể tranning người khác..
- ….
Và hạn chế của ngành này là:
- Tuổi đời làm việc tầm 40 đổ lại, khi đó bạn có thể làm quản lý không cần code nữa hay ở nhà hưởng các thành quả bạn đã tạo ra trong những năm trước….
- Áp lực – ngành nào cũng có rồi sẽ quen thoy
- Bệnh nghề nghiệp – hãy học cách rèn luyện, thể dục, gym, bánh bóng… nâng cao sức khoẻ, tạo tinh thần thoãi mái…
- Nghề nghiệp chỉ có ở các thành phố lớn như HCM, Hà Nội….bạn có thể lên trang tìm việc mà xem sẽ rõ.
Hạn chế trên chẳng là gì nếu bạn có đam mê, mục đích để trở thành developer.
Còn đợi gì nữa hãy bắt đầu ngay bây giờ hãy tự học ngôn ngữ lập trình cơ bản nhất như c/c++, java, python…
Nếu bạn muốn tự học qua video thì có thể truy tại đây.
Nếu bạn còn phân vân hãy đọc hết bài này hoặc inbox trực tiếp với Ad. Đừng chờ để đăng ký trường này, trung tâm nọ rồi mới học. Tất nhiên muốn học nhanh, có người hướng dẫn thì bạn có thể đăng ký học, nhưng hãy chuẩn bị trước dù ít nhiều một vài kiến thức mà mình muốn trở thành như kiến thức về lập trình C/C++, Java, Web, Backend, Frontend, Fullstack, Mobile…. Từ đó khi được tư vấn bạn có thể tự biết chỗ này ok hay chỗ kia phù hợp với mình.
Và tự học, tự mò trước sẽ giúp bạn thử xem mình hợp với ngành này không, chứ không lại bỏ tiền chục triệu cho trường lớp thì phí quá…
Trong quá trình tự học trước có thể bạn sẽ nản nhưng hãy cố gắng vì đam mê và mục tiêu của mình, không biết gì cứ lên google hay facebook mà hỏi tới, kệ người ta nói gì mình không biết thì hỏi, cứ vậy là bạn sẽ lên trình nhanh thôi. Bạn đang học và tìm hiểu nên không sợ sai, thiếu sót.
Ok, trước khi lên một kế hoạch. Bắt đầu tự tìm hiểu từ đâu? Rồi đăng ký học cái gì? Trường nào sẽ phù hợp với mình?…Khoá học nào, tài liệu nào cần tìm hiểu?.. Bạn cần phải xác định mục tiêu của mình trước tiên, 3-6 tháng sau bạn muốn trở thành gì?
- Web developer
- Frontend
- Backend
- Mobile IOS
- Mobile Android
- Nhúng
- Bảo mật
- Big data
- Game
- Tester
- .Net
- Fullstack cái gì đó…
- …….
Lời khuyên ở đây là bạn nên master cái gì đó rồi hãy làm fullstack hoặc học thêm. Ví dụ như làm web developer rồi hãy fullstack bên đó, hay làm iOS developer rồi hãy học qua Android.. rồi đa nền tảng…
Lưu ý đừng thấy cái gì cũng học, học 1 thứ kiếm cơm trước đã rồi, học lên bạn nhé hay ít nhiều cũng xem nó hợp với bạn không đã.
2. Lập kế hoạch
2.1. Học ngôn ngữ ngữ lập trình
Học một ngôn ngữ không chỉ học cú pháp rồi làm bài tập mà bạn phải học thêm cách viết code, đọc code, cách fix lỗi… cái này sẽ có bài viết riêng sau này.
Hãy chọn học ít nhất một ngôn ngữ cơ bản sau:
– C/C++
– Java
– Python
Các ngôn ngữ nâng cao:
- Swift
- Kotlin
- Javascript
- PHP
- HTML/CSS – Học tại đây
- PHP
- Ruby
- C#
- ….. các ngôn ngữ khác tuỳ theo mục đích của bạn
Các framework:
Các bạn lưu ý:
Không đi đường tắt được, phải học ngôn ngữ cơ bản trước, ít nhất 1 ngôn ngữ, Cafedev khuyên bạn nên học C/C++ trước vì nó hầu như chứa mọi kỹ thuật lập trình cơ bản, cú pháp và kiến thức cơ bản nhất để bạn có thể học và áp dụng nó trong việc tìm hiểu các ngôn ngữ nâng cao khác một cách nhanh nhất. Bạn học nó càng kỷ thì học các ngôn ngữ khác càng nhanh. Đồng thời rèn tư duy và kỹ năng lập trình với khá nhiều thuật toán, cấu trúc dữ liệu và giải thuật…Thực hành, làm bài tập nhiều vô.
Nhiều bạn bay vào học ngôn ngữ nâng cao và than trời sao khó quá suy ra nản … Hãy nhớ muốn nhanh thì phải nắm chắc cơ bản… đừng thấy người kia học cái này, người nọ học kia áp dụng làm app, web hay quá mà để mất gốc. Rồi học lại từ đầu khá mệt mỏi trong khi bạn cùng lứa đã kiếm ngàn đô rồi. Hãy mặc kệ người ta kiên định rồi mình sẽ như họ thôi hãy lấy họ làm mục tiêu tương lại.
Ok, Bây giờ hãy bắt đầu học tại các series tự học của cafedev hoặc hãy đầu tư từ bây giờ tham khảo các khoá học nếu bạn muốn học qua video.
Mua sách về học – cái này cũng khá hay nhưng cần chọn lựa đúng sách để mua để học được nhiều kiến thức và tránh phí tiền (Cafedev sẽ chia sẽ một số bài review sách hay cho ace tự học lập trình trong các bài tiếp theo)
Nguồn tài nguyên free để học lập trình từ cafedev:
- Toàn bộ series tự học bạn có thể tham khảo tại đây.
- Toàn bộ tài liệu ebook + sách học lập trình tại đây.
- Toàn bộ video học lập trình tại đây.
2.2. Học cơ sở dữ liệu + luyện thuật toán
Học ngôn ngữ lập trình chỉ là một phần nhở để làm một ứng dụng, để có một ứng dụng chạy với hiệu suất tốt thì bạn phải luyện thuật toán, hay nhiều trường có môn là cấu trúc dữ liệu và giải thuật. Bạn có thể tham khảo tại đây.
Hầu như 100% ứng dụng nào cũng có dữ liệu, không ít thì nhiều. Hay nói khác dữ liệu là linh hồn của ứng dụng, có nó mới làm cho ứng dụng trở nên sinh động và hữu ích hơn. Vì vậy hiểu và làm chủ được cơ sở dữ liệu rất quan trọng với developer. Chúng ta phải biết được thao tác với dữ liệu, quản lý bằng SQL. Bạn có thể tham khảo tại đây.
2.3. Làm 1 dự án
Hoàn thành một dự án nhỏ với những cái bạn đã học, cái này mình sẽ nói chung không tuỳ thuộc vào từng ngôn ngữ hay kỹ thuật nào cả.
Ví dụ:
- Bạn học c/c++ – bạn sẽ làm được app console quản lý sinh viên chẳng hạn.
- Học C# làm được cái app chạy trên windows
- Làm 1 cái web chạy local trong máy tính của bạn, nâng cao hơn thì mọi người truy cập được trên mạng.
- Làm 1 app ios hay android nào đó….
Khi bạn làm hoàn thiện dự án nào đó bạn mới thấy không chỉ học ngôn ngữ không là làm được một sản phẩm, từ đó mà học thêm để hoàn thiện sản phầm, dự án của mình.
Đó cũng là một trong những lý do tại sao khi phỏng vấn ai cũng hỏi bạn làm được dự án gì rồi? Bạn làm phần gì trong đó?.. chỉ có làm thực tế bạn mới chém được câu đó và đó chính là kinh nghiệm, nhà tuyển dụng cần bạn có nó để vào làm mà không cần hướng dẫn lại.
Bảng dưới đây sẽ giúp bạn hình dung rõ nên học ngôn ngữ gì để làm gì?
Developer | Ngôn ngữ cần học |
Web | Java, PHP, Javascript, Python, C#, SQL, HTML/CSS.. Học tại đây |
iOS | Swift, Objective-C, SwiftUI.. Học tại đây |
Android | Java, Kotlin… Học tại đây |
Đa nền tảng | React native, Flutter..Học tại đây |
Server | Php, Python, Ruby.. |
Game | C++, C#… Học tại đây |
Nhúng | C++,.. Học tại đây |
Hướng dẫn lộ trình chi tiết cho từng mảng lập trình(Web, mobile,…) sẽ được cập nhật trong các bài viết sau…tại cafedev.
2.4. Học ngôn ngữ giao tiếp
Ahuhu – Mình không giỏi anh văn
Nhưng ngành này cần phải có anh văn thì mới có lương cao – vì đa số dự án toàn ở nước ngoài nhiều với không ai code bằng Tiếng Việt cả.
Cũng đừng lo lắng quá về điều này bạn có thể:
- Vừa code vừa luyện tiếng anh khi đặt tên biến hàm..
- Khi đã có kiến thức căn bản, hãy đọc tài liệu tiếng anh, Mỗi ngày 1 ít rồi sẽ đủ dùng để đi làm thôi.
- Đồng thời tìm học các khoá học anh văn giao tiếp tại đây hoặc tại đây, muốn làm việc với người ta phải giao tiếp được.
- Cafedev sẽ chia sẽ thêm cho các bạn một số mẹo để học Anh Văn song song với code trong bài sau, tại đây.
2.5. Đi kiếm lúa (làm việc kiếm tiền)
Ngồi lại và xem mình đã học được gì? Làm được dự án gì? Và thiếu gì? Để biết bạn thiếu gì bạn có thể lên trang tuyển dụng và xem họ cần gì, sau đó học kiến thức và thực hành nó rồi đi phỏng vấn thoy.
Oki, ban đầu không có kinh nghiệm thì đi thực tập, học việc, thử việc vài tháng hoặc 1 năm, sau khi có rồi thì hãy xem xét lương hiện tại của mình như thế nào với mặt bằng kinh nghiệm chung, cứ lên trang tuyển dụng mà x
em lương nó trả là biết liền, thấp thì nhảy, cao ở lại, muốn có môi trường mới thì nhảy… nhiều lý do – tuỳ ý huynh.
Nhiều công ty lớn họ cần nhân viên của mình có tư tuy logic cao nên sẽ có bài test về nó. Nên hãy luyện thêm phần này. Thường thì mấy công ty này lương khá cao… cái nào cũng có giá của nó cả.. vì họ tuyển khá kỹ. Nhưng đừng vì thế mà không thử nhé bạn. Được thì quá ngon, không được thì lấy kinh nghiệm cho lần sau. Bạn không giỏi logic thì hãy rèn luyện nó.
Việc thì không thiếu chỉ sợ bạn không đủ kiến thức và kỹ năng, kinh nghiệm để làm mà thôi.
Bài sau, cafedev sẽ nói thêm về cách gây ấn tượng với người phỏng vấn, mẹo nhỏ khi đi phỏng vấn và trên hết bạn phải có kiến thức, kinh nghiệm, nếu không fail ngay vòng kỹ thuật.
3. Phần cuối
Ở đây mình không nói chi tiết về quy trình làm một dự án vì nó khá nhiều phần, sẽ dành cho bài tiếp theo. Mục đích ở đây là định hướng cho các bạn mới hiểu và biết rõ con đường mình sắp đi như thế nào.
Tóm lại
- Tự học trước để rèn tư duy và kỹ năng lập trình
- Đồng thời đăng ký trung tâm, trường uy tín nhất – cái này mình không dám chém gió trường nào vì mỗi nơi đều có sự khác biệt riêng và sẽ giúp bạn đạt được mục tiêu. Và họ sẽ giúp bạn hình dung ra cách để làm ra một sản phẩm như thế nào và nhiều thứ cần thiết để đi làm (cái này mình sẽ viết sau)
- Thông qua cafedev bạn sẽ học được nhiều series tự học từ cơ bản tới nâng cao(có nhiều series đang phát triển)
- Ít nhất phải học được anh văn giao tiếp hoặc các ngôn ngữ khác như Trung, Nhật, Hàn,… tuỳ bạn làm với ai. Tham khảo các series tự học tại cafedev về Anh, Trung, Nhật, Hàn.
Ngoài ra để học code thì cần lap hoặc PC ko cần cấu hình cao vì bạn chỉ học với dự án không quá lớn để cần máy mạnh, có điều kiện thì đầu tư luôn, không thì đi làm kiếm lúa tự sắm sau cũng được. Sẽ có bài chi tiết nói về cách chọn máy cho mỗi như cầu lập trình viên khác nhau với các tầm giá thấp cao khác nhau.
Ak, ai muốn làm tester thì hẹn bài khác nha, nhưng ít nhất phải biết C/C++ để còn nói chuyện được với mấy thèn developer.
Ai còn chưa hiểu thì inbox cho AD thông não lại.
Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:
Chào thân ái và quyết thắng.