I'm not bad at math per se, but yeah, math is not really at all what I do. The ability to think logically might be associated with mathematics, but they are really entirely different disciplines.
Really depends. I've been running into a lot of linear algebra lately, and I've had a profound use for statistics in prior projects.
I think developers in general just need to be able to understand the concepts, not necessarily do the calculations on paper. There's plenty of resources for understanding in the hey-hoo is going on.
Define "average". (Spoiler: there isn't one). Each subspecialty has its own domain knowledge you need to know. That's why I specified, you need to be able to understand the concepts. You don't necessary need that knowledge right now, and you might never need that knowledge, but you never know when you will!
It's like with anything in coding: just develop the skills and habits to be able to learn stuff. Whether you need linear algebra and C, statistics and pandas, or Ruby and basic addition, is going to depend entirely on your present project. The trick is just to be able to pick up linear algebra, C, statistics, pandas, or Ruby when they prove themselves necessary.
What we don't want to do is tell developers, "oh, you can totally blow off math, you'll never use it," because that is literally exactly as wrong as "you need to know linear algebra or you're doomed." The right attitude is you should be comfortable mucking about with numbers when the need arises; it's okay to learn concepts on a need-to-know basis.
Sorry, no, I haven't "proven" your point; you've actually completely missed mine in its entirety.
As I said, it is a requirement to be able to muck about with the numbers when the need arises.
It is NOT true that you need to learn linear algebra or calculus right now or you're doomed. You might never even need any particular branch of mathematics. That is the full extent of your point, and I never disputed it.
But if you do need to have the ability to handle mathematical thought, otherwise you're going to be in hot water sooner or later in your career. That much is certain. That's my point, and it is the necessary completion of your entirely-true-but-still-incomplete premise.
Not sure what your point is, logic here is circular. Of course you'll need more advanced maths if you need it.
You're still missing the point. If you're reading someone's logic as circular, you can usually depend that you're overlooking something in what they're saying.
If you're going to be a programmer, you absolutely must be capable of working with numbers, period, end of story. The only thing that varies is the particular branches of mathematics, and which apply to you. But you will need to be able to pick up new concepts in math as needed if you're going to be a programmer.
Some people cannot handle math at all. No matter how hard they try, they cannot wrap their minds around computation. This is different than liking or hating math (or math class, as the case often is). It's whether you have the ability to, as I said, "muck about with numbers".
Do you need algebra? Statistics? Calculus? Set algebra? Linear algebra? Number systems? Geometry? Binary? It depends. You're welcome to wait on learning or mastering any of the preceding until the need arises. (You can practically guarantee you'll wind up using at least one of the preceding in some fashion sooner or later.)
Do you need the ability to work with numbers? Definitely!
No matter your branch of programming, develop your ability to work with mathematical thought. It will be needed in some form sooner or later.
Yes, I can hear the objection now. "But I don't use math in my particular specialty."
Sure you do. Almost all of us use algorithms, which are build on algebra. Frontend work? Hello geometry. Using that handy "set" data structure? Set algebra there! Data science? Stats...stats everywhere.
You can't escape it. You will use math. Get comfortable with mathematical thinking, whatever branches of math you use.
Do you need algebra? Statistics? Calculus? Set logic? Linear algebra? Number systems? Geometry? Binary? It depends.
I have never used these things professionally (not even binary). I think you're describing your own experience which doesn't relate to most. Most software developers are going to be in web which doesn't require that kind of knowledge.
Do you need the ability to work with numbers? Definitely!
I think you're describing your own experience which doesn't relate to most. Most software developers are going to be in web which doesn't require that kind of knowledge.
I'm not as myopic as you seem to think. I've been involved in training interns, mentoring young developers, speaking, and writing across many programming specialties for some time. I can see many miles beyond "my own experience".
"Most software developers" are not "in web" as you are implying...web just happens to be the popular frontend to a myriad of specialities. And even if you are merely doing web frontend, and nothing else, algebra and geometry are still at play. How do I know? I've done web design frontend longer than anything else as a programmer.
I'm speaking about more than just "arithmetic", another specific branch of math (which, of course, shows up in most others). I'm talking about mathematical reasoning, and the ability to pick up new math concepts as needed. (Oh, and by the way, I'm also an experienced math tutor for everything from pre-algebra straight into calc.)
Speaking as someone who spends a lot of time communicating and collaborating with people in innumerable specialities in programming β the many differences between which I am always fascinated by β I suspect the person here conflating his limited experience to "everyone else" is you, albeit without realizing. But in your defense, I can guarantee you've been using far more math than you know.
The fact you still aren't following at this point actually demonstrates that your argument is incomplete. But then, it is possible you don't understand what math inherenly is β and many don't β so you have to settle for the incomplete argument that "you don't need to be good at <insert a particular branch of higher math here> to become a developer."
For the sake of your own growth as a professional, stop responding to this thread, go back, and read my statements slowly and carefully. Think about them. You're smart. If you put some thought into it, instead of focusing on what you'll say next to "win" (and win what?), you'll understand what I'm trying to explain to you.
Understanding, I'm not saying you're entirely wrong, just incomplete in your understanding, and thereby drawing a flawed conjecture.
Here's an analogy of where your argument is falling apart. Your point is effectively "the sky is blue, therefore paint the balloon blue and it'll always be invisible against the sky (unless there are clouds)." I'm trying to explain that while the sky is often blue, that's because of how light diffuses, meaning the shade (and even the color) can vary, thus you cannot paint the balloon to be invisible, even without clouds. But instead of stopping and considering the nature of light diffusing, you keep on hammering that "the sky is blue unless there are clouds".
For the most part, you've misrepresented my point by saying things like this:
What we don't want to do is tell developers, "oh, you can totally blow off math, you'll never use it,"
I wasn't suggesting that math is useless or anything if that was what worried you.
For the sake of your own growth as a professional, stop responding to this thread, go back, and read my statements slowly and carefully. Think about them. You're smart. If you put some thought into it, instead of focusing on what you'll say next to "win" (and win what?), you'll understand what I'm trying to explain to you.
So, not only have you used strawman arguments but you're now resorting to personal attacks? At least we do agree, this thread is a waste of time.
For the most part, you've misrepresented my point by saying things like this:
And that once again underscores that you're not really reading my responses. It's your choice. I'm sorry you chose to rush through, misread and misunderstood things in your haste, and got your feelings hurt as a result.
So, not only have you used strawman arguments but you're now resorting to personal attacks?
Hmm. I see neither strawman arguments nor personal attacks on either side, speaking as someone who has done a fair bit of formal structured debate.
It is not a personal attack to point out a flaw in your rhetorical approach...or if it is ad hominem to disagree with how someone responds, then you're guilty of ad hominem from the first response, and every subsequent response. (And you didn't.) It's also not a personal attack to point out an error in conduct, as I'm doing now. I think you're intelligent enough to learn from your mistake, otherwise I wouldn't bother.
I wasn't suggesting that math is useless or anything if that what worries you.
A careful read will reveal that is not what I was saying. But you have overlooked about 90% of what I've said so far, so I'm not surprised you missed that. Like I said, please go back and re-read for your own sake. I know you're smart enough to understand it. You just need to slow down and focus more on learning than winning.
At least we do agree, this thread was a waste of time.
We don't agree on that at all. If you choose not to take a learning attitude to this, it may be a waste of time for you by your choice, but it will be insightful for many who read it. As for me, I always benefit from debate, in that it helps stretch and strengthen my understanding of a topic, whether my debate partner chooses to approach it in a healthy way or not.
I'll start by saying: That I know how to use all software.
If anything I'm less likely to know how some random program works because I spend so much of my time using software that is somewhat standardized. I learn mastery of new things that build on old things, I'm not necessarily good at using any other program inherently.
One misconception is that all software developers love learning new technology constantly and will do it in their free time. Training is a great investment if you have a team of people tasked with doing something new.
Full Stack Developer with a special interest in developing Backends. I enjoys
identifying opportunities to reduce costs, increase efficiencies, and drive new
ways of working.
"Yeah, so, I have the concept. I just, like, need someone to code it, that's all."
Uh huh. So, you're good with a 95-5 split, right? Because that's the work distribution we're looking at. (Plus extra if you get underfoot with your big ideas.)
Everybody thinks their ideas are solid gold bars. Most β the majority of mine included β are basically just scrap aluminum.
That all developers are paid 100k+ salaries out of the gate (even as juniors). There's a lot of misinformation out there, mostly from job search sites that give you an average salary rather than a median or bootcamps that want to mislead people who are switching careers. The crazy outlier salaries you see some juniors getting ($130-140k+) are inflatedβit's only because those companies are in high-cost-of-living areas like California, Seattle, and New York, places where you'll probably be paying $2k+ to rent a small place. About a year ago, I had to have a big reality check when I realized that my salary expectation were unrealistic for my level of experience and the locations to which I was applying.
That they are supposed to be coding monkeys. There's a whole non-technical side of software development that is usually forgotten (ex. understanding the impact of the work on the business or product's users)
Ohhh! You are a Java Backend Developer? It means you know Spring, Spring Boot, Play, JSP, JavaEE, Tomcat, AWS, Azure, Vue, React, Bootstrap, Angular and all the others!
Yah... does not matter that only a few are actually Java...others are Javascript or DevOps-related... Java can be replaced with any other language...the list will be the same.
Top comments (59)
That you need to be "good" at math. Most developers only use basic arithmetic.
I'm not bad at math per se, but yeah, math is not really at all what I do. The ability to think logically might be associated with mathematics, but they are really entirely different disciplines.
Logical thinking would be more tied to philosophy imo.
Really depends. I've been running into a lot of linear algebra lately, and I've had a profound use for statistics in prior projects.
I think developers in general just need to be able to understand the concepts, not necessarily do the calculations on paper. There's plenty of resources for understanding in the hey-hoo is going on.
This is not what the average developer has to deal with. The misconception is you can't become a developer if you aren't good at math.
Define "average". (Spoiler: there isn't one). Each subspecialty has its own domain knowledge you need to know. That's why I specified, you need to be able to understand the concepts. You don't necessary need that knowledge right now, and you might never need that knowledge, but you never know when you will!
It's like with anything in coding: just develop the skills and habits to be able to learn stuff. Whether you need linear algebra and C, statistics and pandas, or Ruby and basic addition, is going to depend entirely on your present project. The trick is just to be able to pick up linear algebra, C, statistics, pandas, or Ruby when they prove themselves necessary.
What we don't want to do is tell developers, "oh, you can totally blow off math, you'll never use it," because that is literally exactly as wrong as "you need to know linear algebra or you're doomed." The right attitude is you should be comfortable mucking about with numbers when the need arises; it's okay to learn concepts on a need-to-know basis.
You've just proven my point, its not a requirement to be good at math to be a developer.
Sorry, no, I haven't "proven" your point; you've actually completely missed mine in its entirety.
As I said, it is a requirement to be able to muck about with the numbers when the need arises.
It is NOT true that you need to learn linear algebra or calculus right now or you're doomed. You might never even need any particular branch of mathematics. That is the full extent of your point, and I never disputed it.
But if you do need to have the ability to handle mathematical thought, otherwise you're going to be in hot water sooner or later in your career. That much is certain. That's my point, and it is the necessary completion of your entirely-true-but-still-incomplete premise.
Clearly. Not sure what your point is, logic here is circular. Of course you'll need more advanced maths if you need it.
You're still missing the point. If you're reading someone's logic as circular, you can usually depend that you're overlooking something in what they're saying.
If you're going to be a programmer, you absolutely must be capable of working with numbers, period, end of story. The only thing that varies is the particular branches of mathematics, and which apply to you. But you will need to be able to pick up new concepts in math as needed if you're going to be a programmer.
Some people cannot handle math at all. No matter how hard they try, they cannot wrap their minds around computation. This is different than liking or hating math (or math class, as the case often is). It's whether you have the ability to, as I said, "muck about with numbers".
Do you need algebra? Statistics? Calculus? Set algebra? Linear algebra? Number systems? Geometry? Binary? It depends. You're welcome to wait on learning or mastering any of the preceding until the need arises. (You can practically guarantee you'll wind up using at least one of the preceding in some fashion sooner or later.)
Do you need the ability to work with numbers? Definitely!
No matter your branch of programming, develop your ability to work with mathematical thought. It will be needed in some form sooner or later.
Yes, I can hear the objection now. "But I don't use math in my particular specialty."
Sure you do. Almost all of us use algorithms, which are build on algebra. Frontend work? Hello geometry. Using that handy "set" data structure? Set algebra there! Data science? Stats...stats everywhere.
You can't escape it. You will use math. Get comfortable with mathematical thinking, whatever branches of math you use.
I have never used these things professionally (not even binary). I think you're describing your own experience which doesn't relate to most. Most software developers are going to be in web which doesn't require that kind of knowledge.
Yep, just need arithmetic for most jobs.
I'm not as myopic as you seem to think. I've been involved in training interns, mentoring young developers, speaking, and writing across many programming specialties for some time. I can see many miles beyond "my own experience".
"Most software developers" are not "in web" as you are implying...web just happens to be the popular frontend to a myriad of specialities. And even if you are merely doing web frontend, and nothing else, algebra and geometry are still at play. How do I know? I've done web design frontend longer than anything else as a programmer.
I'm speaking about more than just "arithmetic", another specific branch of math (which, of course, shows up in most others). I'm talking about mathematical reasoning, and the ability to pick up new math concepts as needed. (Oh, and by the way, I'm also an experienced math tutor for everything from pre-algebra straight into calc.)
Speaking as someone who spends a lot of time communicating and collaborating with people in innumerable specialities in programming β the many differences between which I am always fascinated by β I suspect the person here conflating his limited experience to "everyone else" is you, albeit without realizing. But in your defense, I can guarantee you've been using far more math than you know.
I'm not sure where you're going with this, my point stands. You don't need to be good at maths to become a developer, just need the basics.
The fact you still aren't following at this point actually demonstrates that your argument is incomplete. But then, it is possible you don't understand what math inherenly is β and many don't β so you have to settle for the incomplete argument that "you don't need to be good at
<insert a particular branch of higher math here>
to become a developer."For the sake of your own growth as a professional, stop responding to this thread, go back, and read my statements slowly and carefully. Think about them. You're smart. If you put some thought into it, instead of focusing on what you'll say next to "win" (and win what?), you'll understand what I'm trying to explain to you.
Understanding, I'm not saying you're entirely wrong, just incomplete in your understanding, and thereby drawing a flawed conjecture.
Here's an analogy of where your argument is falling apart. Your point is effectively "the sky is blue, therefore paint the balloon blue and it'll always be invisible against the sky (unless there are clouds)." I'm trying to explain that while the sky is often blue, that's because of how light diffuses, meaning the shade (and even the color) can vary, thus you cannot paint the balloon to be invisible, even without clouds. But instead of stopping and considering the nature of light diffusing, you keep on hammering that "the sky is blue unless there are clouds".
For the most part, you've misrepresented my point by saying things like this:
I wasn't suggesting that math is useless or anything if that was what worried you.
So, not only have you used strawman arguments but you're now resorting to personal attacks? At least we do agree, this thread is a waste of time.
And that once again underscores that you're not really reading my responses. It's your choice. I'm sorry you chose to rush through, misread and misunderstood things in your haste, and got your feelings hurt as a result.
Hmm. I see neither strawman arguments nor personal attacks on either side, speaking as someone who has done a fair bit of formal structured debate.
It is not a personal attack to point out a flaw in your rhetorical approach...or if it is ad hominem to disagree with how someone responds, then you're guilty of ad hominem from the first response, and every subsequent response. (And you didn't.) It's also not a personal attack to point out an error in conduct, as I'm doing now. I think you're intelligent enough to learn from your mistake, otherwise I wouldn't bother.
A careful read will reveal that is not what I was saying. But you have overlooked about 90% of what I've said so far, so I'm not surprised you missed that. Like I said, please go back and re-read for your own sake. I know you're smart enough to understand it. You just need to slow down and focus more on learning than winning.
We don't agree on that at all. If you choose not to take a learning attitude to this, it may be a waste of time for you by your choice, but it will be insightful for many who read it. As for me, I always benefit from debate, in that it helps stretch and strengthen my understanding of a topic, whether my debate partner chooses to approach it in a healthy way or not.
This is quite an assertion. Developers use discrete math all the time.
I'll start by saying: That I know how to use all software.
If anything I'm less likely to know how some random program works because I spend so much of my time using software that is somewhat standardized. I learn mastery of new things that build on old things, I'm not necessarily good at using any other program inherently.
One misconception is that all software developers love learning new technology constantly and will do it in their free time. Training is a great investment if you have a team of people tasked with doing something new.
100%
That software developers can solve anykind of computer problem (by only having a look at it).
My is not working anymore. Can you have a look?
That software developers are boring since we are always in front of the computer for our job.
I guess the pandemic gave a lot of people what it's like to be in front of the computer all the time, I think!
Computers are pretty damn interesting if you ask me! And people who can make things that run on them from scratchβ How can those folks be boring!
Exactly! We kind of make things out of thin air you see. :D
But yeah, people think we are a bunch of people who are boring and uninteresting. :-/
I have an idea, can you build it?
split the gainz...
I know, right?
"Yeah, so, I have the concept. I just, like, need someone to code it, that's all."
Uh huh. So, you're good with a 95-5 split, right? Because that's the work distribution we're looking at. (Plus extra if you get underfoot with your big ideas.)
Everybody thinks their ideas are solid gold bars. Most β the majority of mine included β are basically just scrap aluminum.
That all developers are paid 100k+ salaries out of the gate (even as juniors). There's a lot of misinformation out there, mostly from job search sites that give you an average salary rather than a median or bootcamps that want to mislead people who are switching careers. The crazy outlier salaries you see some juniors getting ($130-140k+) are inflatedβit's only because those companies are in high-cost-of-living areas like California, Seattle, and New York, places where you'll probably be paying $2k+ to rent a small place. About a year ago, I had to have a big reality check when I realized that my salary expectation were unrealistic for my level of experience and the locations to which I was applying.
true. In Viet Nam, developers usually get paid from 300 - 500$ per month, Which is enough for living only :v
That they are supposed to be coding monkeys. There's a whole non-technical side of software development that is usually forgotten (ex. understanding the impact of the work on the business or product's users)
Not an expert fixing phones or stealing someone girlfriend's social networks password.
Ohhh! You are a Java Backend Developer? It means you know Spring, Spring Boot, Play, JSP, JavaEE, Tomcat, AWS, Azure, Vue, React, Bootstrap, Angular and all the others!
Yah... does not matter that only a few are actually Java...others are Javascript or DevOps-related... Java can be replaced with any other language...the list will be the same.