• Jobs
  • Phát triển nghề nghiệp
    • Remote work
    • Kỹ năng làm việc IT
    • Developer
    • Data Science – Machine Learning – AI
    • IT gurus
    • Business Analyst
    • Project Manager
    • Thiết kế UIUX
    • IT trong công ty non-tech
  • Kỹ năng tìm việc
    • Tìm việc IT cần biết
    • Phỏng vấn IT
    • Câu hỏi phỏng vấn
    • CV xin việc
    • Đàm phán lương
    • Mô tả công việc
  • Công nghệ
    • Công nghệ ứng dụng IT
    • Ngôn ngữ lập trình
    • Kiến thức công nghệ
  • Lương-Xu hướng
    • Lương bổng phúc lợi
No Result
View All Result
  • Jobs
  • Phát triển nghề nghiệp
    • Remote work
    • Kỹ năng làm việc IT
    • Developer
    • Data Science – Machine Learning – AI
    • IT gurus
    • Business Analyst
    • Project Manager
    • Thiết kế UIUX
    • IT trong công ty non-tech
  • Kỹ năng tìm việc
    • Tìm việc IT cần biết
    • Phỏng vấn IT
    • Câu hỏi phỏng vấn
    • CV xin việc
    • Đàm phán lương
    • Mô tả công việc
  • Công nghệ
    • Công nghệ ứng dụng IT
    • Ngôn ngữ lập trình
    • Kiến thức công nghệ
  • Lương-Xu hướng
    • Lương bổng phúc lợi
No Result
View All Result
No Result
View All Result
  • Jobs
  • Phát triển nghề nghiệp
  • Kỹ năng tìm việc
  • Công nghệ
  • Lương-Xu hướng

Có cần giỏi toán để trở thành một lập trình viên giỏi?

Minh Vu by Minh Vu
August 13, 2020
in Developer, IT gurus, Kỹ năng làm việc IT, Phát triển nghề nghiệp IT
0
0
Lập trình có cần giỏi toán
0
SHARES
1.7k
VIEWS
Share on FacebookShare on Twitter

Trước khi đọc tiếp bài, bạn hãy thử trả lời câu hỏi này: “lập trình viên có cần giỏi toán?“

Chắc hẳn bạn đã có đáp án cho mình. Vậy hãy xem câu tiếp theo là đúng hay sai: “Nếu bạn giỏi toán, mặc nhiên bạn sẽ là một lập trình viên giỏi?”

Chắc chắn bạn đã nghe những cuộc tranh luận về chủ đề này rất nhiều lần rồi.

Trên một diễn đàn JavaScript trên Facebook, một thành viên khá nổi tiếng cũng có đăng một bài viết với chủ đề “Tư duy toán học và lập trình” được bàn luận rất sôi nổi. Tác giả viết:

“Thú thật là mình không hề giỏi Toán. Mình đã học ở FPT Aptech, nơi chỉ có 2 năm tập trung vào Java, C# và thêm vài môn cơ bản lập trình C thôi. Ở đây đương nhiên là không dạy các môn liên quan đến Toán (cao cấp) hay giải thuật gì cả. Mấy cái như BigO, quy hoạch động này nọ là mình không biết gì sau khi ra trường hết.”

Sau khi dẫn chứng những vấn đề trong lập trình được giải quyết gọn ghẽ bởi những người có kiến thức toán học rất tốt, tác giả kết luận:

“Những ngừoi mình rất ngưỡng mộ trong ngành cũng đều cực kì giỏi Toán hoặc có tư duy Toán học rất tốt.”

Trên Quora và nhiều diễn đàn khác, không khó để tìm thấy những chủ đề dài dằn dặt về mối liên quan giữa toán học và lập trình. Ví dụ như “Có phải tất cả các lập trình viên đều giỏi toán?” Hay “Tôi có cần biết toán để lập trình?”

Vậy đâu là câu trả lời đúng?

Nhưng trước khi tìm câu trả lời, chúng ta hãy xem thế nào là một lập trình viên giỏi.

Ai được gọi là lập trình viên giỏi?

Bạn có thể có ý khác, nhưng theo tôi, một lập trình viên giỏi là người:

  • Giải quyết vấn đề xảy ra theo cách tốt nhất có thể
  • Đam mê học hỏi những kiến thức mới
  • Chuyên gia trong một số ngôn ngữ, công cụ và có những cách làm tốt nhất,  đúng đắng nhất mà trong tiếng Anh người ta gọi là best practice.
  • Sử dụng đúng ngôn ngữ lập trình, tools để giải quyết đúng vấn đề
  • Viết code sạch và code có thể dễ dàng cập nhật, mở rộng (maintainable code), tức làm sao người khác có thể hiểu code của mình một cách dễ dàng.
  • Xem xét sự cân bằng về hiệu suất, việc xử lý dữ liệu hay tính toán (scalability), tính bảo mật, khả năng bảo trì và khả năng mở rộng
  • Là người biết làm việc theo nhóm và giao tiếp tốt.
  • Hoàn thành công việc đúng thời hạn.

Vậy mối liên hệ giữa toán học là lập trình là gì?

Mối liên quan giữa Toán và Lập Trình

Chắc chắn bạn đã từng học toán ở trường đại học, học cách tính giao điểm của khối lập phương với hình cầu trong không gian ba chiều. Bạn cũng đã học rất nhiều về giới hạn, tích phân, vi phân… ở trường trung học. Nhưng cuối cùng, đó cũng chỉ là rất nhiều công thức mà hiếm khi được sử dụng, chứ đừng nói đến việc ghi nhớ. Không một công thức nào dạy bạn làm thế nào để trở thành một lập trình viên giỏi.

Toán học giúp phát triển kỹ năng giải quyết vấn đề và phân tích. Theo bài viết được đề cập trong phần mở đầu của bài này là vậy. Tuy nhiên bộ não con người phức tạp hơn những gì chúng ta hiểu và toán học không phải là cách duy nhất để phát triển các kỹ năng phân tích.

Một người biết cách giải các bài toán phức tạp không có nghĩa là họ biết cách giải một bài toán lập trình với code sạch, có thể bảo trì và hoàn thành công việc đúng hạn.

Chắc hẳn bạn đã từng biết các lập trình viên giỏi toán nhưng họ không thể hoàn thành một ứng dụng đơn giản đúng hạn. Họ viết code lộn xộn và thật khó mà mở rộng hay bảo trì.

Vậy toán học chưa chắc đã giúp bạn trở thành một lập trình viên giỏi, bạn có đồng ý không?

Có phải Toán học giúp bạn thông minh hơn?

Cũng có một quan niệm khác cho rằng giỏi toán làm cho người ta thông minh hơn. Vậy theo quan niệm này, các bác sĩ y khoa hoặc luật sư ít thông minh hơn chỉ vì họ không giỏi toán học?

Có một sự thật không thể bàn cãi, là có những người làm những điều phi thường trên thế giới này và họ không biết toán. Họ là người giải quyết vấn đề xuất sắc, họ phân tích rất giỏi và có thể giải quyết các vấn đề một cách hoàn hảo và đúng thời gian. Và họ không phải là người giỏi toán!

Những kỹ năng kiến thức của lập trình viên có liên quan gì đến toán học không?

Mặc dù toán học rất quan trọng và đã được sử dụng trong thiết kế máy tính, nhưng không phải tất cả lập trình viên đều cần phải giỏi toán. Ngay cả khi bạn đang xây dựng một ứng dụng liên quan đến rất nhiều hình ảnh, video hoặc xử lý âm thanh, bạn cũng không cần quá giỏi về toán học.

Toán học rất kỳ diệu, nhưng đó không phải là một kỹ năng thiết yếu cho các lập trình viên hiện nay.

Lập trình viên thời hiện đại cần giỏi một hoặc hai ngôn ngữ lập trình, thành thạo các cấu trúc dữ liệu, thiết kế patterns và database. Đây là loại kiến ​​thức điển hình mà bạn cần phải biết, để trở thành một lập trình viên giỏi. Ngoài ra, các lập trình viên cũng sử dụng rất nhiều công cụ giúp làm việc dễ dàng hơn. Các công cụ để quản lý source code như Git, IDEs như visual studio, v.v. Đây là những kỹ năng mà các lập trình viên cần học để thành công trong công việc hàng ngày. Bạn phải biết thiết kế các patterns tốt nhất để phù hợp với yêu cầu, cần biết khi nào thì nên sử dụng data structure. Kiến thức về kiến ​​trúc tổng thể của codebase, tools và công nghệ sẽ giúp bạn thành công trong công việc lập trình của mình.

Còn các bài toán tính toán phức tạp không dạy cho bạn bất kỳ kỹ năng nào trong danh sách trên.

Những lĩnh vực lập trình có liên quan đến toán học

Mặc dù hầu hết các lĩnh vực trong công nghệ phần mềm đều không cần dùng đến toán, nhưng không phải là tất cả. Nếu bạn làm trong ngành như machine learning, đồ họa, phát triển game, robot hay phát triển các ngôn ngữ lập trình thì bạn sẽ cần sử dụng đến toán học. Trong các lĩnh vực này, bạn phải làm với những việc cần có kiến thức về toán học như giải tích, đại số tuyến tính, lý thuyết đồ họa, xác suất, logic, các chủ đề toán rời rạc…

Tuy vậy, ngay cả những lĩnh vực nói trên, bạn cũng không phải thường xuyên trực chuyển những công thức toán thành code. Thông thường bạn sẽ dùng những hàm thư viện có sẵn để làm việc đó. Các thư viện này sẽ giúp bạn bớt đi việc tự xử lý những tính toán phức tạp và tập trung vào giải quyết những vấn đề ở mức độ cao hơn. TensorFlow là một tập thư viện như vậy, dành cho machine learning mà bạn có thể tham khảo. Một ví dụ là khi bạn cần giải bài toán Tối Ưu Hóa (gradient descent), bạn sẽ không cần phải viết code phức tạp để giải mà có thể dùng thư viện thích hợp.

Kết luận

Có lẽ bạn đã có câu trả lời rõ ràng cho câu hỏi “Lập trình viên có cần giỏi toán” rồi chứ? Lập trình là một công việc sáng tạo. Người lập trình phải là người có kỷ luật, có tính học hỏi, chín chắn, kiên định. Và đó là những điều tiên quyết.

Bạn có biết?


tham gia cộng đồng ITguru trên Linkedin, Facebook và các kênh mạng xã hội khác có thể giúp bạn nhanh chóng tìm được những chủ đề phát triển nghề nghiệp và cập nhật thông tin về việc làm IT mới nhất

Linkedin Page:
Facebook Group:
cơ hội việc làm IT : ITguru.vn

Bạn đánh giá bài viết thế nào?

Average rating 5 / 5. Vote count: 7

No votes so far! Be the first to rate this post.

Tags: lập trình viên
Previous Post

Tôi đã đi phỏng vấn 6 công ty và nhận được 6 lời mời làm việc như thế nào

Next Post

Bạn cần chuẩn bị gì khi đi phỏng vấn vị trí DevOps?

Minh Vu

Minh Vu

Related Posts

Tương Lai Nghề Lập Trình Với AI

Tương Lai Của Lập Trình Viên Khi Công Cụ AI Ngày Càng Phổ Biến

February 28, 2025
Top 5 Công Việc AI Đáng Chú Ý Năm 2025

Top 5 Công Việc AI Đáng Chú Ý Năm 2025

February 27, 2025
great resignation và các nhà phát triển phần mềm

Làn sóng nghỉ việc ồ ạt và những tác động đối với các nhà phát triển phần mềm

April 4, 2022
serverless developer

Serverless là gì và học gì để làm việc với serverless?

June 2, 2022
đánh giá hiệu suất công việc - performance appraisal - performance review

Cách viết đánh giá hiệu suất công việc (performance appraisal) hiệu quả dành cho kỹ sư phần mềm

April 25, 2022
quản trị dự án phần mềm

Làm thế nào để kỹ sư phần mềm có thể quản trị dự án một cách hiệu quả

January 16, 2022
Next Post
Lập trình viên DevOps cần chuẩn bị gì khi đi phỏng vấn!

Bạn cần chuẩn bị gì khi đi phỏng vấn vị trí DevOps?

Leave a Reply Cancel reply

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

About ITGuru.vn

  • Trang Chủ ITguru.vn
  • Về chúng tôi
  • Thỏa thuận sử dụng
  • Quy định bảo mật
  • Quy chế hoạt động
  • Liên hệ ITguru

Nhà tuyển dụng

  • Đăng tuyển

Người tìm việc

  • Việc làm IT
  • About ITguru Blog
  • Viết bài cùng ITguru

© 2022 ITguru.vn - Web site tuyển dụng và phát triển nghề nghiệp IT

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In
No Result
View All Result
  • About ITguru Blog
  • Viết bài cùng ITguru

© 2022 ITguru.vn - Web site tuyển dụng và phát triển nghề nghiệp IT