Ability to be a good developer without math and algorithmic knowledge

Source: Internet
Author: User

To explain why, I ' m gonna assume a programming with little to no background analogy and try-to-use. I apologise in advance if this answer becomes long.


Say wanted to build a small toy house with a kid. You buy some Lego bricks and you are work piling bricks in such a to that end result looks
Like a house. Happy and the kid is happy. The Toy house stands on
Its own for a while, since Lego bricks is lightweight and basically indestructible.


Now say your want a real house. One in which your can live with your family. Would rely on a house which is build the same the
Engineering knowledge whatsoever to guarantee its safety? I ' d argue most sane people in earth would not.


Programming without a good background in algorithms and math are akin to building the toy house out of Lego. You could get pretty good at it with practice. Even start noticing patterns with time, such as the fact, some arrangements of Lego pieces leads to better resu Lts. Still, it'll be is next to impossible to make statements regarding it such as: "This can handle up to X kg" or "this House is safe to live in "or" we could build one of the these out of cement and it would stand on its own ".


Worse, the gap in reliability between the "the" and the "approaches to house building grows larger" the more complex the project. Building a small cabin like kids build toy houses out of Lego might work, but it very unlikely that a huge bridge made fo Llowing that same approach would stand. Similarly, simpler tasks such as writing a small website would be feasible for a team or programmers without a background I n Math and algorithms, whereas keeping something as big as Amazon or Google working would be next to impossible.


The idea, the math and algorithms are not important was not uncommon among undergrads or even among experienced programmers . I used to think like that years ago myself. Then I got to college and started learning Algorithms and mathematics and probability and so on. I even trained for ICPC, which are a competition amongst undegraduate programers that requires quite a bit of knowledge in These fields.


The end result of this process is, now I can write better code in less time. I am also capable of writing code for the tasks I had no clue how a computer could perform years ago.  And I know how to analyse code so I had a good idea on how it would perform when executed. In summary, I am orders of magnitude better than I used to is in many different ways.


Finally, I ' d like-to-add something regarding the idea, which is learn basic algorithms to being able to do pattern matching. By this, I mean being able to recognize when these algorithms is needed and then use them unchanged. That's plain wrong. While knowing which algorithm to employ are a valuable skill, the main reason why one should study these things are to learn How to think and solve new problems.

Ability to be a good developer without math and algorithmic knowledge

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.