HomeBlog CNTT

Nghề lập trình viên cần học những gì?

Nghề lập trình viên cần học những gì?
Share Tweet Pin it Share Share Email
Nhận 100k MoMo Cách tải khóa học, tài liệu, phần mềm trên GiaBaoIT.Com.

Thông báo link tải bị hỏng cho Admin.

Trước khi bắt đầu lập trình các bạn đã bao giờ gặp phải một tình huống là bạn quá mông lung với thế giới lập trình rộng lớn, bạn muốn học lập trình nhưng không biết bắt đầu từ đâu? Cần phải học những gì? Cần những kiến thức gì mới có thể tự tin bước vào thế giới của những dòng code? Những câu hỏi nghe chừng rất đơn giản nhưng lại rất khó trả lời. Bời vì lập trình là một lĩnh vực rất rộng, có hàng tá ngôn ngữ khác nhau bạn cần phải học, hàng trăm công nghệ cần nghiên cứu, môi trường làm việc ở mỗi công ty lại hoàn toàn khác nhau, do đó một số thanh niên mới “tập tễnh bước vào” vẫn cứ “mông lung như một trò đùa”.

Dạo gần đây mình có tham gia vài nhóm học lập trình trên facebook, mình mới phát hiện ra hầu hết các sinh viên vẫn biết mình nên học cái gì cho “ngầu”? Thế nên hôm nay trong bài viết này mình sẽ dùng hết bao nhiêu năm kinh nghiệm “code thuê” của mình cũng như một người đã từng trải, như một lời tâm sự mỏng, để cố gắng miêu tả cho các bạn sinh viên hiểu rõ hơn về đời sống thật của các lập trình viên ngoài kia, họ làm gì?Dùng ngôn ngữ gì? Có mệt không? Và làm thế nào để sống sót.

Muốn làm lập trình viên phải học những gì?

Bạn phải nhớ rằng: lập trình là “giải quyết vấn đề bằng máy tính” chứ không phải “lập trình là viết code” như được dạy trong trường đại học. Khách hàng của bạn gặp vấn đề trong việc quản lý nhân viên, bạn viết một phần mềm giúp họ, khách hàng của bạn cần quảng bá sản phẩm thương hiệu, bạn thiết kế website giúp họ. Do đó bạn cần phải rèn luyện nhiều kỹ năng khác để giải quyết được vấn đề, đây mới là thứ quan trọng nhất, không phải là kỹ năng code của bạn.

Lập trình là một ngành kỹ thuật (of course) thế nên bạn phải trang bị cho mình những kiến thức về kỹ thuật nhất định. Có thể chia lũ “code thuê” ra làm mấy loại như sau, bạn chỉ việc chọn một cái mà bạn thích nhất, và lao vào nghiên cứu.

Mảng mobile:

Bạn sẽ viết phần mềm chạy trên điện thoại mà phổ thông nhất là Android và IOS hay thậm chí là cả cho Windows Phone.Mảng này khá hot vì thiết bị di động ngày càng đa dạng và giá rẻ, lượng người dùng ngày càng tăng điều đó khiến các lập trình viên đổ xô nhau học nó và hiện tại thì đang bão hòa tuy nhiên lượng công ty tuyển dụng tương đối nhiều. Theo mảng này bạn học Java (android) hoặc Objective-C (IOS). Hoặc bạn có thể học Kotlin (Android) hay Swift(IOS) đều được cả Google và Apple khuyên bạn nên dùng. (Theo thông tin nghe lỏm được thì Google đang có dự định toàn bộ app trên Google Play đều được viết lại bằng Kotlin). Nếu bạn đã từng tò mò về việc một ứng dụng mỗi ngày bạn sử dụng được viết như thế nào ? Thì xin chúc mừng bạn và mảng mobile đang quen nhau đấy. Hãy mạnh dạn ngỏ lời yêu đi.

Mảng embedded:

Còn gọi là lập trình nhúng, tức là viết các chương trình chạy trong các thiết bị điện tử như tivi điều hòa, tủ lạnh, máy giặt, robot…Ví dụ như bạn bấm một phím trên remote số 3 thì TV phải chuyển sang số 3 cho bạn. Hay tại sao khi ấn điều chỉnh nhiệt độ bằng cái Remote bé tý xíu mà làm cho nhiệt độ cả căn phòng thay đổi. Nói chung là điều khiển các thiết bị thật, sờ nắm được. Mảng này hơi khó nhằn, yêu cầu cao về trình độ, nhưng khá thú vị. Theo mảng này bạn học ngôn ngữ C, C++ hoặc có thể là Java nhưng ưu tiên C/C++ nhiều hơn. Thật ra mảng này mình không chuyên lắm nên cũng không tìm hiểu nhiều.

Mảng web:

Web là cái gì thì khỏi phải giới thiệu nữa rồi, nó là thứ lâu đời nhất trên internet, Ví dụ mỗi ngày bạn lướt mấy tiếng trên Facebook, Xem video hay thậm chí là gõ Google.com cũng là một trang web. Theo cái này thì khỏi lo thiếu việc, vì công ty nào cũng cần web, hoặc làm ngoài việc search một từ khóa ” Tuyển dụng lập trình viên cắt web” hay ” Tuyển dụng PHP Developer” nó chắc chắn sẽ ra một nắm các tin tuyển dụng với tốc độ chóng mặt. Để mình thử Search xem như thế nào? Ồ google trả về 362.000 kết quả chỉ trong vòng 0,51 giây. Đấy bạn đã thấy sự thông dụng của mảng này không? Hay thậm chí bạn đi làm bên ngoài, làm 1 Freelance Coder (Lập trình viên tự do), nhưng mà nói thật lương bọn làm web chả cao như các mảng khác đâu. Việc học Web cũng khá khó khăn vì muốn làm một trang web ít nhất chúng ta phải 2-3 ngôn ngữ lập trình. Bạn từng hỏi các ông lớn như Facebook, Google, Wikipedia để làm trang web của họ thì phải mất bao nhiêu thời gian không? Ok chắn chắn số đấy nó phải lớn hơn 2 rồi. Rất nhiều ngôn ngữ có thể dùng lập trình web được, thoải mái chọn: php, java, node, python, ruby on rails (Lưu ý ruby và ruby on rails nó rất là khác nhau thứ giống nhau duy nhất chỉ có “ruby” thôi)… bạn thấy chưa việc chọn ngôn ngữ cũng đã là khá khó khăn rồi. Theo đánh giá khách quan của tôi bạn nên dung PHP với những ưu điểm như sau: Mã nguồn mở, hoạt động tốt trên tất cả Server (từ Linux cho đến Windows,.. cộng đồng lập trình viên nhiều dễ dàng tìm hiểu và giải quyết thắc mắc, nhiều Plugins hỗ trợ hay thậm chí nhiều CMS ra đời dựa trên PHP như Wordprees, Jombla). Tuy nhiên ngôn ngữ này gặp khá nhiều lỗi về bảo mật (Theo thống kê lỗi XSS gặp nhiều nhất trên hầu hết các website viết bằng PHP). Ngoài ngôn ngữ lập trình phía Server ra bạn còn phải học thêm cả đống lằng nhằng: html, css, javascrip, jquery,… nếu muốn web của bạn hiện đại, bắt mắt người dùng hơn. Đấy không phải ai muốn học web cũng học được đâu, hãy suy nghĩ cho kỹ.

Mảng desktop app:

Tức là làm phần mềm chạy trên máy tính, mình khuyên là học .NET win form của bác Bill cho nó phổ thông, dễ kiếm việc làm, lương cũng khá ổn.

Tuy nhiên đừng quá lo lắng rằng trình độ mình chưa đủ đáp ứng yêu cầu công việc, các công ty nơi bạn thực tập sẽ có chương trình đào tạo, cầm tay chỉ việc, bạn sẽ làm được cả thôi. Kể cả các lập trình viên có kinh nghiệm, khi vào một môi trường mới vẫn phải có thời gian để làm quen với hệ thống hiện tại.

Việc của bạn là chọn một trong 4 mảng mà mình đã nêu ở trên rồi nghiên cứu thật kỹ về nó. Học đến năm 3 hoặc năm 4 hãy làm một vài project nhỏ nhỏ để còn có cái mà show ra khi đi xin việc. Theo mobile thì làm vài app trên điện thoại, theo web thì làm mấy web tin tức hoặc bán hàng, theo desktop app thì cũng phải làm được phần mềm quản lý sinh viên. Khi đi làm, trải qua vài lần đập bàn phím, kiến thức của bạn sẽ được tích lũy dần theo năm tháng.

Cần chuẩn bị những gì để học lập trình?

Bạn phải nhớ rằng: lập trình là “giải quyết vấn đề bằng máy tính” chứ không phải “lập trình là viết code” như được dạy trong trường đại học. Khách hàng của bạn gặp vấn đề trong việc quản lý nhân viên, bạn viết một phần mềm giúp họ, khách hàng của bạn cần quảng bá sản phẩm thương hiệu, bạn thiết kế website giúp họ. Do đó bạn cần phải rèn luyện nhiều kỹ năng khác để giải quyết được vấn đề, đây mới là thứ quan trọng nhất, không phải là kỹ năng code của bạn.

Team work:

Làm việc nhóm, tức là làm việc với người khác, chẳng ai viết code một mình cả đâu, bạn phải biết viết code chạy được với code của những thằng khác, thế nên từ khi còn trong trường, hãy học cách sử dụng git và giao tiếp thật tốt với mọi người nếu sau này không muốn chửi nhau. Chấp nhận làm việc với những thằng ngu hơn bạn và học hỏi từ những thằng giỏi hơn bạn. Rảnh thì kiếm mấy quyển sách về giao tiếp mà đọc. Chân thành hòa nhã với mọi người, thi thoảng có over time muộn quá cũng đi nhậu, trà đá hay mát-xa với anh em cho nó tăng tinh thần đoàn kết.

Tiếng Anh:

Mình nói thật, không biết tiếng Anh thì đừng có hòng lập trình ngon, google thì cũng phải google bằng tiếng Anh nó mới nhanh ra đáp án. Tuy nhiên bạn không cần phải chém tiếng Anh như gió hay đạt 900 điểm TOEIC mới lập trình giỏi. Bạn chỉ cần đọc hiểu tài liệu là đủ, gặp lỗi gì còn lên stackoverflow mà tìm cách fix được, viết tên hàm thì cũng phải viết tiếng Anh, trong thời buổi toàn cầu hóa hiện nay, outsource nhiều, code của bạn có thể được đọc bởi một thằng tây nào đó là chuyện bình thường, hay ví dụ bạn bán mã nguồn lên các trang nước ngoài bạn nghĩ mấy thằng tây nó sẽ đi học tiếng việt để nó hiều bạn đang viết gì ? Về chức năng gì à?. Hơn nữa hiện nay đã có xu hướng “phẳng hóa”, việc tìm một công ty nước ngoài để làm việc không phải là khó, tuy nhiên việc giao tiếp giữa các nhân viên hoàn toàn bằng tiếng anh. Chả hơi đâu họ lại phải đi học thêm tiếng việt để giao tiếp với mình cả. Đừng quá lo lắng, hồi xưa mình ngu tiếng Anh cực, cứ đọc gặp từ nào khó thì tra từ điển, cứ tìm mấy tài liệu tiếng Anh mà đọc, từ nào khó hiểu thì google dịch, hay cop cả câu cho google nó dịch rồi cho nó đọc lại để học ngữ âm luôn, sau một thời gian sẽ đọc được cả thôi,

Kỹ năng tự học:

Đây là yếu tố sống còn, bởi thế giới công nghệ thay đổi quá nhanh. Tin buồn là bất cứ cái gì bạn học ngày hôm nay thì sẽ là lỗi thời sau vài năm, kiểu như bạn làm được một app chạy ngon lành cành đào trên iphone 6 thì cái định mệnh, vài ngày sau Apple nó ra iphone 7, méo chạy. Phải “học cách học”, có nghĩa là bạn phải học cho mình “cách làm sao để tiếp thu một cái mới nhanh nhất có thể”. Một số trang web bạn có thể học online như codeschool, codecademy, w3school, stackoveflow, udemy, lynda,…vân vân mây mây,…

Vấn đề sức khỏe:

Đừng tưởng làm lập trình ngồi một chỗ trong phòng máy lạnh thì không lo bệnh tật. Sau vài năm bạn sẽ thấy có vài vấn đề như đau lưng, mỏi vai hay hoa mắt… Hãy bỏ ngay các thói quen thức quá khuya, ăn uống không đúng giờ và sử dụng chất kích thích như rượu bia, thuốc lá… Một số thanh niên sau khi code điên cuồng làm vài ván dota để giải trí, lại ngồi thêm vài tiếng nữa,. Nói chung nếu không chịu khó vận động, sắp xếp thời gian chơi thể thao thì đừng mong tồn tại, bạn có sức khỏe mới theo đuổi đam mê được.

Kết luận

Nói chung, lập trình là một thế giới vô cùng thú vị. Đây là bài viết mà mình lảm nhảm tất tần tật những điều bạn cần phải học, những vấn đề mà bạn sẽ gặp trên con đường trở thành một lập trình viên. Hi vọng sẽ giúp được bạn cái gì đó, chúc bạn thành công với đam mê của mình.

Nhận 100k MoMo Cách tải khóa học, tài liệu, phần mềm trên GiaBaoIT.Com.

Thông báo link tải bị hỏng cho Admin.

Comments (0)

Trả lời

Your email address will not be published. Required fields are marked *