Chào mọi người. Minh
nhận thấy rất nhiều bạn có câu hỏi này khi bắt đầu học lập trình. Vậy nên mình
đặt câu hỏi này để mọi người cùng vào góp ý kiến, thảo luận. Để sau này các
newbie tham gia ngành của chúng ta sẽ có cái nhìn rõ ràng hơn, tổng quát hơn về
ngành này. Để có thể lựa chọn hướng đi đúng, cũng như dừng lại đúng lúc trước
khi quá muộn.
Mong rằng các câu trả
lời xoay quanh các vấn đề:
- Lập trình là gì?
- Các sản phẩm có thể tạo ra từ việc lập trình.
- Các ngôn ngữ lập trình phù hợp
với newbie.
- Lộ trình học cho các lĩnh vực
sôi động hiện nay: App, Web, Mobile, Game, Tool, IoT.
- Dự đoán xu hướng ngành nghề
trong 5 năm tới.
Yếu tố cốt lõi của
việc học lập trình suy cho cùng vẫn là luyện khả năng tư duy logic.
Mình thấy khi mới
bắt đầu học lập trình, nhiều bạn hay tập trung vào học ngôn ngữ này, ngôn ngữ
kia, chạy theo công nghệ mới mà quên mất yếu tố cốt lõi của việc lập trình.
Đầu tiên, mình
nghĩ các bạn mới nên tập làm quen với những lưu đồ, thuật
toán, từng bước phân tích, giải quyết từng bài toán từ đơn giản
tới phức tạp hơn. Thể hiện nó dưới những ngôn ngữ nền tảng như C, C++, Python,...
Khi đã nắm rõ được những căn cơ đó, biết cách phân tích và giải quyết bài toán,
thì việc học các ngôn ngữ, công nghệ hiện đại như C#, Java, Swift, PHP, ASP.NET, ...
chỉ là vấn đề cú pháp :).
Tiếp theo, đến bước
này, mình nghĩ các bạn cũng nên xác định hướng đi cho mình, để hiệu quả hơn và
tránh học lan mang (tuy nhiên học nhiều cũng ko thừa cái nào đâu). Mình sẽ nói
sơ 1 vài hướng khá hot hiện nay:
- Web: có 3 hướng là front-end, back-end, full-stack.
Nghe tên là hiểu rồi ha :)
- Front-end: phải có mắt thẩm mỹ, phải biết các nguyên lý
trong thiết kế UI, UX. Thể hiện bằng HTML, CSS, Javascript,
các framework thông dụng như JQuery, Boostraps...
- Back-end: ko cần mắt thẩm mỹ, nhưng cần tư duy lập trình
:). Thực hiện bằng ngôn ngữ phía server như PHP, .NET(C#,
VB, ASP.NET) , Java, Python, ... Biết
thêm database như SQL Server, Mysql, Oracle, NoSQL,
...
- Full-stack: biết full 2 phần trên, thường nên chọn hướng này để dễ
sống nha :)
- Di động: iOS thì học Swift hoặc Objective-C, Android thì
học Java. Chắc z là hết rồi :)
- IoT: Hướng khá rộng và hot, công việc của bạn là làm cho
vạn vật đều liên kết với nhau thông qua internet. Vậy bạn cần có khả
năng lập trình nhúng (C, C++), web, socket,
...
- Bigdata: Công việc của bạn là xử lý các dữ liệu lớn và
phức tạp, phân tích, tìm ra thuật toán tối ưu. Hướng này cần tư duy phân
tích rất lớn.
- Game: Cả 3 ngôn ngữ C++, C#, Java đều làm
game tốt, tùy sở thích của bạn thôi.
Một vài hướng đi cơ
bản hiện nay như trên, ngoài ra rất nhiều hướng mà mình muốn chia sẻ
cũng không hết được :).
Cuối cùng, không như
những ngành khác, ngành lập trình đòi hỏi bạn phải phát triển không
ngừng, cập nhật kiến thức liên tục. Nếu không, bạn sẽ nhanh
chóng bị lỗi thời. :)
Không có nhận xét nào:
Đăng nhận xét