DEV Community

loading...

Discussion on: What is the biggest misconception about being a software developer?

Collapse
codemouse92 profile image
Jason C. McDonald

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.

Collapse
aghost7 profile image
Jonathan Boudreau

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.

Thread Thread
codemouse92 profile image
Jason C. McDonald • Edited

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.

Thread Thread
aghost7 profile image
Jonathan Boudreau • Edited

Each subspecialty has its own domain knowledge you need to know.

You've just proven my point, its not a requirement to be good at math to be a developer.

Thread Thread
codemouse92 profile image
Jason C. McDonald • Edited

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.

Thread Thread
aghost7 profile image
Jonathan Boudreau

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.

Clearly. Not sure what your point is, logic here is circular. Of course you'll need more advanced maths if you need it.

Thread Thread
codemouse92 profile image
Jason C. McDonald • Edited

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.

Thread Thread
aghost7 profile image
Jonathan Boudreau

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!

Yep, just need arithmetic for most jobs.

Thread Thread
codemouse92 profile image
Jason C. McDonald • Edited

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.

Thread Thread
aghost7 profile image
Jonathan Boudreau

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.

Thread Thread
codemouse92 profile image
Jason C. McDonald • Edited

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".

Thread Thread
aghost7 profile image
Jonathan Boudreau • Edited

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.

Thread Thread
codemouse92 profile image
Jason C. McDonald • Edited

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.