Coder bắt đầu thế nào

T thấy m viết phải học quá nhiều. T nghĩ nên đi chuyên sâu vào 1 mảng thì oke hơn. T cũng nghỉ đại học đi học trung tâm rồi đi làm thì thấy như sau. Học đại học tốt khi m là 1 đứa chăm vãi đái vì dạy những cái base để m phát triển ( có 1 người anh nói với t thì khi ra trường lương của bọn học fpt thường cao hơn bách khoa nhưng xong bách khoa nó sẽ lên trình + lên lương nhanh hơn). Vì 1 bên có base, chắc lí thuyết còn 1 bên là thực hành.

T thì làm mảng lập trình game nên chỉ nói về mảng này, việt nam mà bảo làm game to thì ko có lãi chủ yếu là mua về phát hành như vng. Còn game mobile ở vn cũng có khá nhiều cty làm ăn được.

Định hướng thì t thấy chọn 1 là kĩ thuật (thành tech lead) 2 là quản lí (lead hoặc pm). Chọn 1 đường mà theo nếu xác định làm culi.

Nhưng ngon nhất thì vẫn là tự làm sản phẩm, tự kiếm khách hàng (nhưng cái này yêu cầu m phải có các yếu tố khác nữa chứ ko chỉ code ko)
 
Xin chào mọi người! Dạo gần đây trên xàm cũng nhiều bạn đăng đàn hỏi về việc chuyển qua ngành IT với những câu hỏi rất thân quen.
Ví dụ: - Có nên đi học đại học không? - Nên học ở đâu, trung tâm nào? - Lương có cao không? - Thuật toán/ cấu trúc dữ liệu có quan trọng không? - Làm ngành nào bây giờ? Vân vân và mây mây. Thế nên mình xin lập topic này để giải đáp một số thắc mắc thường gặp của mọi người. Mọi người có góp ý thì xin cứ thoải mái nhé. Nếu quote hay mình sẽ note lại ở #1. Vậy thread này sẽ bao gồm 3 phần chính.
Phần 1: Tổng quan về ngành CNTT ở VN, các lĩnh vực, lương lậu, bla bla..
Phần 2: Những bước bạn cần chuẩn bị. Có nên đi học đại học không, nên học cái gì cho người mới bắt đầu.
Phần 3: Đi làm, và một số kinh nghiệm cần thiết. Các kỹ năng phỏng vấn, cách chọn công ty, offer v.v... Rất mong mọi người bổ sung. Mình xin đi vào chi tiết. Phần 1. CNTT Ngành CNTT ở VN, nếu bạn nhìn lại tầm 10 năm trước, hay xa hơn là 20 năm trước, thì đa phần là các công ty out source. Trong mảng này thì có thể nói có rất nhiều cái tên quen thuộc, Fsoft, TMA, CMC, KMS, Bosch, Nash v.v...

Họ là những công ty lớn (về số lượng), làm những dự án lớn hàng triệu đô. Tầm những năm gần đây thì ở VN xuất hiện nhiều công ty làm product hơn. Một số công ty làm product, có làm về AI/Machine learning cũng có. Một số cái tên tiêu biểu như Misfit (Fossil đã mua và dàn research chuyển qua Axon), Arimo (mình chưa thấy sản phẩm nào nổi bật của anh này), Trusting social (mảng tài chính tín dụng rất mạnh). Một số cty product khác như Vin, GHN, Grab, Goviet, Be, Teko (sản phẩm Airpay), hay Garena (bây giờ là SEA). Các sản phẩm thương mại điện tử như Tiki, Lazada (dc mua lại bởi Alibaba), Sendo (của FPT), Shoppe(của SEA). Tất nhiên ko thể bỏ qua mảng game, mà tiêu biểu là VNG, và sản phẩm Zalo. Có thể nói thị trường IT ở VN đang rất sôi đông hơn bao giờ hết. Bất kể bạn làm web, backend, mobile, frontend, devops, hay bạn dùng ngôn ngữ gì đi chăng nữa, php, java, c++, python, go, đều có thể tìm được rất nhiều tin tuyển dụng. Làm outsource cũng dc, mà muốn làm product cũng dc.
Vậy, vì sao nhiều người lại muốn nhảy qua ngành IT như vậy, có lẽ là bởi vì những tin tuyển dụng với mức lương ngất ngưởng. Một vị trí 3 năm kinh nghiệm có thể đã đạt lương 2k$. Ai lâu năm hơn tí thì có thể 3-5k USD. Đi ra nước ngoài, như Sing, Nhật thì còn có mức lương cao hơn nữa.

Thật sự đó là mức lương khiến nhiều người ở ngoài ngành dễ bị chóng mặt và muốn nhảy qua ngành này. Tất nhiên việc này ko thiếu. Mình cũng chứng kiến không ít bạn nhảy qua ngành này. Tuy nhiên ngành IT có thật sự dễ như vậy, dễ học, dễ có lương ngàn đô?. Trong rất nhiều topic, mình thấy rất nhiều bạn nói rằng chả cần học đại học, cứ google search, copy code từ stackoverflow, bla bla. Từ những cuộc tranh cãi như thế khiến cho nhiều bạn dễ ngộ nhận rằng ngành IT rất dễ dàng. Trên thực tế, không đơn giản như vậy. Để đạt level senior, bạn cần tối thiểu 10000h, hay 10 năm. Mình biết rất nhiều bạn còn trẻ nhưng trình độ rất khá. Họ đã trải qua 4 năm cày cuốc ở bậc đại học, làm đồ án, gánh team, đi làm cày thêm 3-4 năm nữa thì lên dc vị trí senior. Một số bạn xuất chúng hơn chỉ cần 2-3 năm. Có thể nói đây là những bạn có background rất tốt, học lập trình từ cấp 3, thái độ cầu thị và quan trọng nhất là LÀM VIỆC CHĂM CHỈ. Ở VN, rất nhiều bạn đạt title senior nhưng trình độ chưa tới, chẳng qua là do làm lâu nên lên. Trong khi trình độ chỉ mới ở mid level, dưới senior và trên junior một tí. Nên mình hy vọng các bạn đang có suy nghĩ này bớt ngộ nhận 1 chút về khả năng cũng như trình độ của bản thân. Thôi dài dòng thế đủ rồi. Mình xin đi vào phần 2 và trả lời các câu hỏi thường gặp dành cho các bạn đang muốn chuyển ngành. Còn phần 1, mọi người muốn update gì thì cứ bổ sung nhé. Phần 2: 2.1. Tui muốn đổi ngành, nên bắt đầu từ đâu? Điều đầu tiên, mình nghĩ bạn cần phải xác định thật sự được lý do bạn muốn đổi ngành. Vì lương cao cũng dc. Vì bạn thích cũng được. Vì ngành này đang hot fashion cũng ok nốt.

Nhưng giả sử các bạn ở độ tuổi > 25. Việc các bạn đổi ngành khiến bạn cần tối thiểu 1-2 năm cho các kiến thức cơ bản và chọn lĩnh vực phù hợp (ngành IT rất rộng và nhiều lĩnh vực con). Và bắt đầu lại từ đầu ở một lĩnh vực mới nên sẽ rất khó khăn ở giai đoạn này. Với lại cũng sẽ rất dễ nản ban đầu. Cho nên hãy cân nhắc thật kỹ. Bạn có thể đi học thử ở các trung tâm đào tạo. Học một khoá căn bản lập trình chỉ tốn vài tháng + vài triệu. Quá rẻ đúng không nào. Có khi học xong bạn sẽ đổi ý cũng nên. 2.2. Có nên học đại học không? Mình nghĩ các bạn KHÔNG NÊN học đại học. Các bạn sẽ phải học rất nhiều môn học không cần thiết. Tốn kém về mặt thời gian, nhất là khi các bạn đã 2x-30 tuổi rồi. Việc tốn thêm 3-4 năm đi học đại học là ko cần thiết. À, bổ sung thêm tí, nhưng với các bạn trẻ thì mình vẫn khuyên nên đi học Đại Học nhé. Đó ko chỉ đơn thuần là nơi để học, mà còn là nơi cho các bạn giao lưu, mở rộng quan hệ, network, v.v... 2.3. Nên học gì đầu tiên? Kiến thức trong ngành máy tính rất rộng. Từ kiến thức chung về máy tính, hệ điều hành, kiến trúc máy tính, network. Tới kiến thức về lập trình, database, các công nghệ mới. Bạn cũng cần học thêm ít nhất 2-3 ngôn ngữ lập trình (ko cần thiết phải thông thạo hết). Rồi tuỳ theo bạn đi theo hướng nào mà xác định học sâu thêm. Ví dụ bạn muốn theo hướng data engineer thì cần học thêm về machine learning, các tool cần thiết như python, java, spark, hadoop, mysql v.v... Làm web frontend thì học css, html, javascript. Làm web backend thì học java, python, golang, nodejs, v.v... Làm game thì học cái khác nữa. Nhưng bắt đầu thì mình khuyên, dù các bạn theo hướng gì các bạn cần học tối thiểu: + Kiến thức cơ bản về network: TCP IP, OSI, HTTPS, SSL, v.v... + Kiến thức cơ bản về máy tính, hệ điều hành: Học cách sử dụng linux, cách các tài nguyên máy tính được sử dụng như thế nào, CPU, Ram, disk IO, v.v.. + Kiến thức cơ bản về lập trình: Có thể chọn C++/ Java đề bắt đầu. Nên tập code các bài tập lập trình, phỏng vấn trên leetcode. Học một số cấu trúc dữ liệu/ thuật toán cơ bản. + Phải làm được một website cơ bản: HTML/ CSS, JS, Database. Cái này là bắt buộc, để bạn hiểu một website nó vận hành thế nào. + Kiến thức cơ bản về database: Chọn một database để bắt đầu như MySQL, học các viết query. Học thêm về NOSQL. Đối với việc học DB, bạn có thể kết hợp với dự án website ở trên. Thiết kế các table, các mối quan hệ giữa các table với nhau. Ví dụ bạn thiết kế 1 website bán hàng. Sẽ cần các bảng về user, sản phẩm, đơn hàng, v.v... + Học các kiến thức liên quan tới lập trình hướng đối tượng (OOP), học các design pattern cơ bản (singleton, factory, proxy, observer...) Đủ nhiều chưa? Tầm này muốn tự học hay ra trung tâm, học sơ sơ cũng 7-8 tháng cho tới 1 năm đấy.


Tới đây mà bạn vẫn kiên trì tiếp tục thì xin chúc mừng, bạn có thể đi tiếp với ngành CNTT rồi đấy. 2.4. Cấu trúc dữ liệu, thuật toán có quan trọng không? Có. Nhưng bạn ko cần quá đi sâu. Bạn chỉ cần học cơ bản, các CTDL thường gặp (linklist, tree, hashmap, v.v...) các thuật toán sort/search thông thường. Biết cách vận dụng các cấu trúc dữ liệu/ thuật toán trong tình huống cần thiết là được. Để làm được điều này các bạn cần học, hiểu tính chất của các thuật toán và các CTDL. Việc học cái này không khó. Trên mạng rất nhiều tài liệu, sách vở cũng như các khoá học để bạn làm quen. 2.5. Học xong cơ bản rồi thì sao. 2.6. Tìm việc 2.7. Những khó khăn khi chuyển ngành - Bạn phải bắt đầu từ đầu, và mất tầm gần 1 năm để bổ sung những kiến thức hành trang cho bạn. (Lưu ý, đây chỉ là kiến thức nền tảng cơ bản) - Bạn phải cạnh tranh với nguồn nhân sự chính quy từ đại học. Rõ ràng các bạn xuất phát ở vị trí bất lợi hơn. - Bạn phải cập nhật kỹ thuật công nghệ mới liên tục. - Bạn sẽ gặp những đứa sếp/ leader trẻ tuổi hơn bạn. - Ngồi máy tính 10 tiếng/ ngày là điều quá đỗi bình thường. - Khởi điểm bạn sẽ không có được mức lương ngàn đô đâu, bạn sẽ mất nhiều năm để lên lương từ từ cũng như tích luỹ kinh nghiệm. Bạn có thể gặp rắc rối về tài chính nếu đã có vợ con hay đang nợ ngân hàng.
- Khi quá 30 tuổi, khả năng học hỏi + tiếp thu cái mới của bạn sẽ ảnh hưởng đôi chút. Bạn cũng có thể gặp khó khăn khi học cái mới. - Bắt buộc phải biết tiếng Anh để đọc tài liệu. - Có khả năng tìm kiếm tài liệu, tự học, tự trao dồi kiến thức.
bài viết chất quá tml,t cũng dân ngành khác chuyển qua code được tầm naem rưỡi rồi
 
vãi lol mấy thánh. Câu hỏi thằng ml thread là code bắt đầu như thế nào mà toàn cmt đéo đâu vs đâu
 
Trước có xem 1 cái video thì ô ý bảo muốn học được code thì phải có khả năng ngồi tập chung 1 thời gian dài trước máy tính :)
 
Cao đẳng liên thông lên viện đào tạo liên tục của bach khoa có ok không anh? E thấy bảo học full các tối trong tuần. Giờ học như văn bằng 2 nên các thầy cũng chán ko muốn dạy. Chương trình cũng bị rút gọn đi nhiều. E muốn đi học ở đó cho có nền tảng. Giờ nếu ko học ở đó chắc lại phải tự tìm tài liệu trên mạng. Loạn phết.
về hệ đạo tạo liên thông này mình cũng không nắm được nên xin phép k khuyên bạn nên học hay không. Giá trị của bằng liên thông như thế nào mình k nắm rõ . Nếu đã có bằng CĐ về ngành cntt và 1,2 project thì bạn nên rải cv tìm việc làm vì đi làm mới học được nhiều thứ.
 
về hệ đạo tạo liên thông này mình cũng không nắm được nên xin phép k khuyên bạn nên học hay không. Giá trị của bằng liên thông như thế nào mình k nắm rõ . Nếu đã có bằng CĐ về ngành cntt và 1,2 project thì bạn nên rải cv tìm việc làm vì đi làm mới học được nhiều thứ.
Trước e học cđ ngành khác nên giờ mới phân vân thế. Các trung tâm thì thấy a review là tào lao vặt tiền nên cũng ngán. Giải pháp cuối chắc là kiếm tài liệu tự học tiếp quá.
 
Trước e học cđ ngành khác nên giờ mới phân vân thế. Các trung tâm thì thấy a review là tào lao vặt tiền nên cũng ngán. Giải pháp cuối chắc là kiếm tài liệu tự học tiếp quá.
nếu bản k có căn bản tự học thì vất lắm. Tự học để làm ra 1 web project khá cực và mất tgian. Vẫn nên theo trung tâm để có lộ tình và có người để hỏi. Nghe đâu khóa java bên codegym 50 củ học phí trong 6 tháng. Nghĩ nó chát :))
 
vãi lol mấy thánh. Câu hỏi thằng ml thread là code bắt đầu như thế nào mà toàn cmt đéo đâu vs đâu
Thằng Xích lô vào bàn nghề xích lô bắt đầu đạp từ đâu đi mày
 
Haiz, tao cũng chả biết đóng góp gì cả.
Vì nó rộng quá ....... Mỗi thằng nó lại bén duyên với ngành 1 kiểu .... và lại làm những mảng khác nhau.
Lương thì đứa tạm đủ ăn, đứa dư mua nhà và xe....
Quá trình của tao thì củng bình thường như bao thằng: học công nghệ thông tin và tốt nghiệp kiểu cưởi kiệu xem hoa. Mỗi thứ tao biết 1 chút ( Java, Php, Dot Net... )
Nên ra ngoài đời bị nhiều công ty hành sắp mặt lờ.
Tuy nhiên hành riết cũng khôn lên xí. Vì phải tự học thêm nhiều thứ như Css, Js, Html, Mysql
Đôi khi cũng viết nhiều tool: sài riêng cho bản thân và cho bạn bè ( download truyện tranh, download mp3... )
Rồi làm website cho người ta, làm plugins wp.
Một thời tao làm freelancer củng bid project như ai, rồi sau này làm trái muối giờ oải quá với lại bị kỹ sư ấn độ phá giá quá tao lại nản và dừng nghiệp freelancer.
Tao lai chuyển qua làm android application... Kiếm cũng được cafe một thời gian thì bị khóa account vì lý do j đó....
Rồi tao lại làm website startup với mấy đứa bạn .... Kiếm được 1 thời gian cũng khá và bị đóng cửa sau vài tháng vì facebook nó đổi giải thuật.
Giờ thì tao chỉ có làm chính công ty và ráng cập nhật thêm kiến thức bằng cách đọc sách.
Chưa tìm ra ý tưởng gì để kiếm tiền ............ :(
 
Thằng Xích lô vào bàn nghề xích lô bắt đầu đạp từ đâu đi mày
Muốn bắt đầu đạp xích lô cần luyện cơ chym trước lãnh tụ. Chứ dkm ysl thì tốt nhất là dừng :)) :))
 
bền nhất là m làm coder và học thiết kế hệ thống :vozvn (16): thế mới sinh nghề tử nghiệp đc. Còn không ra đảo non đa số
 
Thằng thớt éo học khoá pascal cơ bản à, viết bài vcl. Chốt 2 cái: tư duy logic (toán học tốt 1 tí có lẽ ổn), tiếng em or japan. Có nhiều role, tha hồ mà chọn. Dev thì code bục mặt, test-qa thì nhàn nhưng giờ hot trend automation nên cũng cần code tí, sa thì chém gió là 9 nhưng nương cao. Ngoài ra còn có vài vị trí như pm, comtor, ba...
 
Làm việc có trách nhiệm, biết rút kinh nghiệm, hướng đến chất lượng thì sẽ nâng cao trình độ nhanh hơn so với việc cắm mặt vào code thật nhanh để xong sớm và cuối cùng chương trình toàn bug là bug. Đấy là những gì mình rút ra được sau 2 tháng vào nghề
 
Top