cc: our super star @Anhdiepmmk or @n08ni_dieppn
Tech Talk Blog #2: Theo lập trình có nhất thiết phải giỏi toán
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ó.
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ê
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
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
còn lại gì sau khi thi… Bảng cửu chương
nếu không đam mê toán.
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.
Toán rất cần thiết nếu muốn trở thành exellent developer
Mình đã upload lên youtube bản không nhạc nền rồi bạn nhé
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.
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.
- 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.
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ó
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?
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.
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 =)))