Introduction
It is generally known that problem solving is an essential skill for software engineers.
Good problem solving skills invo...
For further actions, you may consider blocking this person and/or reporting abuse
For students , don't underestimate the mathematics. You definitively don't need a master degrees in maths to be a successfull developer BUT , mathematics train your brain to think.
All this theorems you probably never used in real world , all thoses equation you resolved in high school helped your logical reasoning.
Finally, to get better at resolving problem you definitely should resolve problem :P The more you resolve , the better you get !
You're right, solving mathematical problems help increase logical reasoning, and I believe that's a major reason we do maths in Computer Science. Working with numbers is a top-tier ability if you want to become a successful "software engineer". Thanks.
I agree with you! I mentioned it, practice and practice..
About maths it is also another alternative
Science shows that there really is no knowledge transfer between unrelated fields. There is essentially no way to get overall better at thinking. You either can relate what you know already to the thing or you can't. In first case it's experience, not brain trained to thinking, in second it depends on if you learned how to learn.
Logical reasoning is a small part that everyone does even without thinking, but it doesn't transfer if you don't use abstractions to relate what you don't know with what you do know.
You can get better at resolving problems overall, but it's a tiny improvement if you don't focus on learning how to solve problems. Solving problems on it's own gives you experience you can use at solving similar things. But it won't help with different problems.
That being said if you can relate math you learned to problems you need to solve it can sometimes make something impossible into something very easy. That on it's own is a good reason to get good at maths.
The other one is training on how to read information dense domain texts.
You're right, solving mathematical problems help increase logical reasoning, and I believe that's a major reason we do maths in Computer Science. Working with numbers is a top-tier ability if you want to become a successful "software engineer". Thanks
Just like Neil deGrasse Tyson said, It is not about finding the value of x, It is about process for finding the x.
I have to disagree, especially on the Maths->Logics path. I found it's a lot easier to go into Logics without Maths, even though the basic principles are similar (since both are just formal languages).
What he meant is that math trains your brain. Either way it’s math or not it’s necessary to think structured to solve programming problems. I have seen so many bad code written my mathematics (no offense 😃)
Great post Nathan, but I think you've missed one fundamental skill of a dev and that is humor..
You have to joke so you don't cry.
what a cool drawing!
Hahaha @apimike humor is important!
I just said that math was a way , and because it's basically taught in every school of the world (contrary to other knowledge) it's important to embrace it and understand that what you are taught is not how to multiply 2 number but actually how to think.
I realized it way too late, I always hated math when I was young because I wasn't able to figure out the point of what I was taught.
The misconception is , that you have to be good at math to be a good developer. Indeed that completely false (unless your are developing for some specific field).
Being a successful software developer, one needs to be open to learning and unlearning. I've learnt and unlearnt and am grateful I did. Most of the time I share with colleagues and friends, I got to find out the knowledge that was most neglected, tends to be a challenge for someone else.
It's a mentally demanding field. It's not just a job, it's a way of life.
this is spot on
Thanks for the article, it resonates.
I read most of the comments and can't stay quiet. From my years of experience, math can be a really powerful tool when it comes to solving problems. Ofcourse is only one of the tools out there that can empower a programmer. Another tool I found to be crucial are flow charts. Being able to construct them the right way can help a lot.
e. g. This problem I solved it using only math. And I have used many concepts of math and physics for game development. To understand algebra, arrays, matrixes, vectors, magnituds, forces, inertia, acceleration, etc... Can be crucial on the development of certain softwares. But it all depends the area in which you are coding.
A newbie here. I've a different problem . i.e. I face difficulty while implementing the code but I know the theory & logic behind it. Any suggestion/advice for me anyone ?
Hiiii maybe I will write an article about it ! Nice idea :)
a great read
I wonder if there is literature about how to improve and train your problem solving skills. Could you recommend books about this topic?
Personnaly I don't know books on this topic, but if you have got something share it with us :)
this article and that comments below are good
Thank you. "Divide and conquer" works for me.
I think, being open-mind is a way to simulate our brain when it comes to creative thinking.
btw nice article
I have a short, simple rule: be creating and imaginary as much as possible. That's to say whatever others do you can do differently and/or more crazily.