30/09/2018, 20:52

Tech Talk Blog #2: Theo lập trình có nhất thiết phải giỏi toán

cc: our super star @Anhdiepmmk or @n08ni_dieppn

n08ni_dieppn viết 23:00 ngày 30/09/2018

Tôi và các Bạn của Tôi làm trong công ty lớn về OTT, Ngân Hàng, Máy Bay đủ cả mọi người không giỏi toán nhưng đều có những vị trí tốt với mức lương khủng.

Có những người không học đại học, không học toán mà thu nhập hàng tháng vẫn lên vài ngàn $. Tất cả là nhờ chịu thương, chịu khó.

Người bí ẩn viết 23:04 ngày 30/09/2018

Theo em thì cũng cần thiết hoặc không cần thiết Vì khi giỏi toán thì sẽ có tư duy, logic tốt và qua lập trình cũng cần có trí não nên sẽ dễ dàng hơn.
Còn nếu không giỏi toán cũng không sao, vì khi học lập trình mình sẽ học tư duy luôn nên học tốt Toán sẽ tốt lập trình, hay học tốt Lập trình cũng học tốt Toán.
Nhưng vì Lập trình thường là học sau Toán nên mình cũng nên mình cũng làm quen trước cái môn Toán để rèn luyện tư duy rồi qua lâp trình sẽ tư duy dễ hơn
Còn 1 yếu tố quan trọng nữa là Đam mê

cpt viết 23:04 ngày 30/09/2018

Toán học hay chứ, nhưng để áp dụng vào trong lập trình có lẽ hơi khoai và thế giới ông nào làm được điều đấy đều là huyền thoại cả. Còn những bài toán thường gặp trong lập trình có lẽ chỉ cần logic bình thường là đủ rồi

Lưu Nguyễn Phát viết 22:54 ngày 30/09/2018

Em khó nghe được anh nói nhũng gì vì nhạc nền át tiếng của anh. Hi vọng anh rút kinh nghiệm cho lần quay sau

Quốc Hùng viết 23:05 ngày 30/09/2018

còn lại gì sau khi thi… Bảng cửu chương

Người bí ẩn viết 23:00 ngày 30/09/2018

còn lại gì sau khi thi… Bảng cửu chương

nếu không đam mê toán.

X viết 23:06 ngày 30/09/2018

@n08ni_dieppn Những clip sau anh nên để background sound nhỏ lại

Lê Đại Tú viết 23:01 ngày 30/09/2018

theo Em nghĩ học toán đối với CNTT hay cụ thể hơn là lập trình thì chủ yếu để tăng khả năng tư duy thôi. Cần như không phải là cần thiết.

Huy Le viết 22:53 ngày 30/09/2018

Toán rất cần thiết nếu muốn trở thành exellent developer

kipalog.com

Lập trình và Toán học

Phần 1: Tự truyện Tui và Toán đã từng là hai kẻ thù không đội trời chung trong suốt hơn mười lăm năm ròng rã. Ngay từ ánh nhìn đầu tiên đã ghét nh...

n08ni_dieppn viết 22:54 ngày 30/09/2018

Mình đã upload lên youtube bản không nhạc nền rồi bạn nhé

Mai Anh Dũng viết 23:00 ngày 30/09/2018

Cho anh cái link mới đi @n08ni_dieppn

Bé tập Code viết 23:03 ngày 30/09/2018

Uhm, “theo” lập trình thì không cần phải giỏi toán, không cần phải giỏi suy nghĩ, không cần phải đánh máy nhanh, không cần phải sáng tạo… đâu.

Chỉ có người muốn khá, giỏi lập trình mới cần những cái đó thôi.

Trường Giang viết 23:02 ngày 30/09/2018

Như anh ấy đã nói:" việc anh làm là tổng hợp thông tin". Tận dụng cái người khác đã làm sẽ tiết kiệm thời gian hơn là tự ngồi nghĩ ra. Cũng giống như cách chúng ta khai báo thư viện trước khi viết một chương trình thôi. Tận dụng thuật toán vốn đã được xây dưng từ trước sẽ dễ hơn ngồi nghĩ, ngay cả code cũng đã sẵn có, giỏi thu thập và tận dụng dữ liệu sẽ bù đắp thiếu sót về mặc toán học.

Hiệu viết 23:07 ngày 30/09/2018
  • Toán học tất nhiên học giỏi toán càng tốt vì chúng ta sẽ có tư duy lập trình (logic).
    #- Nhưng không phải ai học giỏi toán cũng học lập trình được giống như lời bạn nói
  • Nếu chúng ta thực sự thích và đam mê nó thì việc học là điều đúng đắn.
Hiệu viết 23:07 ngày 30/09/2018

Bạn hiểu sai ý của bác @n08ni_dieppn rồi.
Học lập trình phải có logic, phải biết suy nghĩ để tạo ra sản phẩm (VD; game, web, software,…) chứ.
Không phải chỉ người khá, giỏi về lập trình mới cần nó mà tất cả mọi người, ngay cả chúng ta cũng cần có

Bé tập Code viết 22:59 ngày 30/09/2018

Vậy thì Việt Nam cứ cả đời đi gia công cho người ta nhé.

Trường Giang viết 23:01 ngày 30/09/2018

Vậy thì Việt Nam cứ cả đời đi gia công cho người ta nhé

Ý mình là sự kế thừa

Có thể ý kiến mình bạn cho là sai, tuy nhiên vấn đề ở chỗ bạn chăm chăm ý theo cái tôi của bạn. Mình và bạn đi hai con đường, mục đích như nhau nhưng hướng đi khác nhau. Mình chọn cách tận dụng tài nguyên và trí óc của người đi trước, tận dụng cái họ đã làm (và làm rất tốt) để tiết kiệm thời gian nghiên cứu và phát triển. Chẳng có lí do gì khiến mình phải viết một thư viện C khi nó có sẵn cả, giữ việc mình chọn khai báo nó như 1 điều bất di bất dịch vẫn ổn, và ngay cả bạn cũng làm điều đó mà, đúng không? Hay thay vì ngồi suy nghĩ cách tự code 1 đoạn về cách tách số nguyên tố ra khỏi dãy cho trước, mình chỉ tìm xem ai đó đã làm nó hay chưa trước khi bắt đầu tự làm, nếu có, mình đơn giản là xem code và phân tích thuật toán họ sử dụng thôi. Ví dụ vậy.

Tất nhiên mình chưa đi làm, nhưng mình có thể suy ra từ cách làm việc của những người đi trước.

Chúng ta đang kế thừa tinh hoa của tiền nhân, thuật toán bạn biết cũng là người khác tìm ra, sau bao nhiêu công sức chứng minh, nghiên cứu…

Bạn giỏi toán, mình dốt toán. Nếu mình vẫn yêu ngành cntt thì sao? Chắc hẳn trong mắt bạn mình hoàn toàn không còn hi vọng? Nếu có chút thì ở mức thợ code mãi mãi?

Huy Trần viết 23:06 ngày 30/09/2018

Hề hề, lên đây thấy mọi người bàn tán sôi nổi vui quá. Cũng muốn góp vui tí.

Câu đầu tiên mình phải quote lại lời của bạn ở trên:

Chẳng có lí do gì khiến mình phải viết một thư viện C khi nó có sẵn cả

Mình hoàn toàn không đồng ý về ý kiến này, đặc biệt là bạn bảo bạn chưa đi làm. Vì sao?

Vì như vậy rất rất rất là tai hại!

Mình đồng ý một điều là ở Việt Nam đa phần chúng ta làm outsource, mà bản chất của outsource là tính sáng tạo rất ít, vì chỉ tập trung vào yêu cầu của khách hàng (thực ra có sáng tạo chớ ko phải hoàn toàn ko có nhé). Và vì là làm cho người ta, nên chúng ta không cần đầu tư quá nhiều chất xám hoặc sự sáng tạo cá nhân vào sản phẩm, cốt là XONG VIỆC là được.

Thậm chí có những công ty công nghệ lớn ở VN, nhưng làm outsource, công việc không có gì, developer thậm chí không cần giỏi về lập trình. Mình không kể tên nhưng nếu bạn nào đã kinh qua thì đều biết.

Tuy nhiên công bằng mà nói, nếu bạn chỉ vì muốn làm cho xong việc, kịp tiến độ khách hàng đã giao thì việc bạn lên mạng tìm tài nguyên có sẵn về đắp vô dùng là hoàn toàn đúng, hợp lý. Nhưng sau khi bạn làm xong rồi thì sao? cho qua luôn?

Mình từng đi làm nhiều năm ở VN, kinh qua nhiều loại dự án lớn nhỏ, thậm chí có thời gian gia công cho 1 sản phẩm ở Thụy sĩ, làm về Video On Demand giống như Netflix, nhưng cái mình tiếc nhất đó là mình tham gia vào dự án đó với tư cách là người làm gia công, lại làm bên phía front-end, nên không quan tâm gì đến kiến trúc bên dưới, thậm chí có muốn cũng ko quan tâm được vì họ không cho mình biết. Đến khi mình đem chuyện mình làm 1 sản phẩm “giống Netflix” đi rêu rao thì câu đầu tiên người ta hỏi là:

"Thế họ dùng công nghệ gì để streaming video vậy?"

Tất nhiên mình không trả lời được và cảm thấy rất nhục =)) Suy nghĩ lại suốt quãng thời gian đi làm của mình cũng tương tự như vậy, làm rất nhiều thứ, dùng rất nhiều thứ. Search Google rất tài năng, plugin trên mạng tổng hợp, bookmark rồi down về để trong máy tính hàng chục GB (chém tí) nhưng rốt cuộc mình vẫn không biết một plugin Image slider trong jQuery phải viết ra làm sao để nó có hiệu ứng chuyển cảnh hoành tráng như họ làm cả.

Vậy, rốt cuộc, sau bao nhiêu năm đi làm với cái thái độ đó mình được gì? Không được gì cả.

Về sau mình có cơ hội đi làm ở một nước khác, mình đã rất vất vả vì phải trả lời những câu hỏi xoáy sâu vào kĩ thuật và kiến trúc của những dự án mình từng làm (đặc biệt là Uber, khi phỏng vấn họ yêu cầu trình bày kiến trúc của tất cả những dự án bạn có ghi trong hồ sơ xin việc, nên cẩn thận).

Vậy nên, dù là làm outsource, thì việc trang bị cho mình kiến thức để hiểu rõ tường tận mọi thứ là rất quan trọng. Việc học toán là một bước quan trọng không kém để có cơ sở kiến thức mà lĩnh hội những thứ về sau. Để khi cơ hội tới thì không vì cái tính làm ăn hời hợt đó mà bị vuột mất.

Nói đâu xa, bạn đi xe đạp thì bạn cũng phải biết sên, xích, líp nó như thế nào, để khi có gái nào xinh xinh giữa đường bị trật xên thì còn xắn tay áo lên mà bỏ vào giúp, khi đó mới tán gái được, đúng ko?

P/S: Lập trình cũng có nhiều kiểu nhiều hướng, và nó không đồng nghĩa với toán. Toán chỉ giúp các bạn tiến xa hơn trong ngành lập trình thôi, còn ko có toán thì vẫn đi xa, cơ mà xa tới đâu thì mình ko rõ. Nếu các bạn muốn chạm tới những thứ mà thế giới đang điên cuồng về nó ví dụ như Machine Learning hay gì gì đó, thì bạn sẽ phải học toán. Còn nếu chỉ muốn làm những thứ mà mọi người ai cũng đang làm, và phải làm cho tốt luôn thì ko cần học toán cũng đc. Chả sao. Tùy định hướng.

Huy Trần viết 23:06 ngày 30/09/2018

Reply xong mới ra nghe blog của bác @n08ni_dieppn =)) reply dài quá bác ko đọc =)) nên cmt thêm cái ngắn ngắn này: Like cái phong cách của bác ròi đấy =)))

Trường Giang viết 23:05 ngày 30/09/2018

outsource

Nếu là các dự án OutSource, mình hoàn toàn không có gì bàn cãi. Bởi rõ ràng nếu tham gia vào các dự án như vậy, chúng ta hoàn toàn bị động, và kể cả khi bạn có giỏi toán hay không, thì cuối cùng cũng chẳng có gì.

Đúng thật mình chưa đi làm, nhưng mình nhìn ra một vài dạng:

  • Đi làm chỉ vì tiền: đó là khi họ tham gia vào các dự án outsource, làm freelancer… Viết những thứ sẵn có và làm theo yêu cầu khách hàng.
  • Đi làm vì đam mê: Apply vào công ty về mảng mà bản thân họ mạnh, tự viết ứng dụng, tập trung chất xám cho nền tảng hoặc ngôn ngữ họ đam mê. Họ có thời gian nghiên cứu sâu hơn, nhiều sự sáng tạo hơn.

Thứ lỗi nếu mình đang múa rìu qua mắt thợ nhé. Mình chỉ hình dung như được như vậy

Mình thừa nhận câu bạn Huy quote là câu cựa kì tự phụ của mình. Nhưng vế sau mình đã nói rất rõ ý của mình rồi. Có lẽ phải xóa câu ấy đi vậy Mình chỉ đang bào chữa cho câu hỏi “Liệu không giỏi toán thù có thể học lập trình hay không?”

Trả lời cho ví dụ Xe đạp hư và các chi tiết tạo nên 1 chiếc xe đạp của bạn. Bằng cách quan sát hoặc nhìn người khác sửa, tự mình sẽ sửa được xe đạp. Hoặc dựa vào hoạt động của bánh răng và dây xích, liền sẽ biết làm thế nào để tra dây xích vào lại líp xe đạp.

Từ ví dụ của bạn, mình nhận ra 1 điều:

  • Sửa xe đạp cũng như fix bug 1 chương trình. Bạn chỉ thật sự đang học khi bạn phải debug lỗi sai của nó.

Và đó cũng là cái duy nhất khác nhau giữa hai lối làm việc mình đã nêu ở trên.

Tuy nhiên, mình sai ở điểm tư duy kế thừa. Sai ở đâu? Mình nghĩ nếu lạm dụng vô tội vạ hoặc không đúng cách sẽ rất tai hại như Huy nói. Nhưng mỉnh chỉ đưa ra hướng đi cho những ai không quá giỏi toán. Còn bạn lại nghĩ tới chuyện Copy và Paste thì mình thua. Vì như vậy có khác gì rập khuôn máy móc, nằm chờ sung rụng? Đó không phải tinh thần mình hướng tới. Bạn đọc quá nhanh và bị gúc mắc ngay câu bạn quote mình, điều đó chi phối suy nghĩ của bạn, khiến bạn quên(?) đi tinh thần xuyên suốt câu trả lời của mình.

Dù sao kinh nghiệm đi làm mà bạn chia sẻ rất hay, khiến mình “giật mình” vì hóa ra lâu nay mình nghĩ sai. Cám ơn chia sẻ “xương máu” của bạn rất nhiều

Bài liên quan
0