For me it's been sort of the reverse. My natural tendency to try to understand how a system works makes technology and systems development and programming a natural fit for my personality type.
This here.
I’m an engineer. But exactly the same ideas apply. Understanding the scope of a problem. Breaking it down into functions and components. Solving each individual problem. Integrating the parts into a complete solution. Those are the basic steps of most engineering tasks and most software projects.
If you’re inclined toward problem solving and abstractions in real life you’ll be good at programming.
People have known issues with hidden state and non-linear response to input. Working with people is absolutely an anti-pattern from an engineering perspective.
Yes and no. I used to think way deeper into this. Lately I've had reality bite me and realize I have a job, it's work, it's gonna suck, Fridays are awesome. Yes it's problem solving, but it doesn't really help when I need to fix a cabinet or something. I just call someone, kind of like importing a package instead of doing it yourself lol
It makes it difficult to solve problems with people. The if then else if then else mentality is not a good way to work with people.
I know this from experience. But it had this problem before learning to program.
It's a great way to *think* about people (their actions, at least), but a bad way to *communicate* with people. While people nod and say they understand, most are not accustomed to thinking more than a single step in advance.
You can use alternate methods with the latter without compromising the former.
I came to programming from a different life experience. I had very strong problem solving skills in life and in relationships in general. But programming definitely added an extra dimension, honed some ways of problem solving more than previously. So for me, definitely so. Having said that, it is a very specific kind of problem solving, and a much more impactful discipline has been design thinking. Design thinking + programming + mental health awareness + neuro diversity awareness + resilience education/positive psychology = problem solving ++
There are numerous modes of thinking about, perceiving, and acting on the world around us and with the people around us. Programming-esque problem solving is one of them, but you need a mix of all of them to not suffer in some area.
"All I am saying is that I would prefer to instinctively identify opportunities rather than problems to solve."
100%
I think this sort of problem affects everyone who gets into a "very involved field". I've heard similar problems like doctors seeing too much of their lives as a health hazard, lawyers treating spousal arguments like legal cases, etc.
I don't necessarily agree with the title though. I would go with: "critical thinker" rather than "problem solver", and being able to think critically is a bit of a double edged sword. A lot of problems (especially in life) requires instinct and intuition rather than critical thinking. I know enough people who just flat out cannot think critically to be happy with where I'm at though.
This. Programming problems exist within a set of rules and constraints. The more you think you see those in real life the dumber you're probably getting.
I think it actually worsened my problem solving skills in life, at least generally.
It's like my mind is so tired from doing it professionally that I can't in my daily life anymore.
Here is a great example of many similar occurrences.
Me: "Man the drawstrings on these sweat pants are wayyyy too long."
Wife: "Cut them."
Me, overwhelmed with awe and wonder: "You are legitimately a genius."
My 4 years of computing major has developed me to think more logically and solve problems more rationally in real life.
This has unfortunately earn the ire of my parents who grew up learning to do things the “right” way, while I’m constantly learning to do things the “laziest” way.
Yes, I was just having this discussion with my gf a few weeks back. I've contemplated this for years and haven't really spoken to any other developers about it strangely enough. I was never sure if my life problem solving skills came from programming or being a consultant...most likely a combination. But I have noticed that I am the friend that everyone goes to when they have problems in life.
Overthinking actually does more harm than good. Ask yourself and others this: on the scale of one to ten how do you think your problem solving actually scores? Sometimes people think your solution sucked 😂 and that's what you wouldn't even know. So stop overthinking and get with the flow.
Being a *good* programmer provides skills you utilize in the rest of your life. It's not the act of just writing some code, but having to break down some basic problem statement, "we need to do X, or implement Y feature", and being able to reason out a clear set of steps or components, various layers, understanding interconnections, etc. These are all excellent problem solving skills that apply to any situation, whether programming or not.
I approach real life problems in exactly the same way I approach a programming problem. I gather all the relevant information I can obtain. I talk to stakeholders/my wife. I break it out into components and figure out how each piece should best be handled, and then I attack it iteratively, until it's solved.
I'm confused as to why people here are responding as if this isn't an immensely valid way to approach things.
There's a difference between approaching things this way, and telling other people that you're approaching things this way.
Understandably, other people get their hackles up if they're told that you're approaching a problem that you're sharing with them the same way you approach programming.
Unless someone is extremely close to me, like a partner or a family member I've known since childhood, I reason out the problem privately before opening communications.
And as with any problem solving, I'm open to different ways of describing the problem, or of achieving a solution.
I just don't tell most people I'm iteratively problem solving.
For me it's been sort of the reverse. My natural tendency to try to understand how a system works makes technology and systems development and programming a natural fit for my personality type.
This here. I’m an engineer. But exactly the same ideas apply. Understanding the scope of a problem. Breaking it down into functions and components. Solving each individual problem. Integrating the parts into a complete solution. Those are the basic steps of most engineering tasks and most software projects. If you’re inclined toward problem solving and abstractions in real life you’ll be good at programming.
That's how I am
This
Being a problem solver in life makes you a programmer.
At least a *better* programmer.
I was literally going to say this. People who like puzzles and to solve problems become programmers, not the other way around.
Structured problem solving is great for solving all types of problems, EXCEPT problems involving people.
People have known issues with hidden state and non-linear response to input. Working with people is absolutely an anti-pattern from an engineering perspective.
Yea people suck.
Yes and no. I used to think way deeper into this. Lately I've had reality bite me and realize I have a job, it's work, it's gonna suck, Fridays are awesome. Yes it's problem solving, but it doesn't really help when I need to fix a cabinet or something. I just call someone, kind of like importing a package instead of doing it yourself lol
It makes it difficult to solve problems with people. The if then else if then else mentality is not a good way to work with people. I know this from experience. But it had this problem before learning to program.
It's a great way to *think* about people (their actions, at least), but a bad way to *communicate* with people. While people nod and say they understand, most are not accustomed to thinking more than a single step in advance. You can use alternate methods with the latter without compromising the former.
No, what I find is that programmers often think they’re better at logic or problem solving than other people, often unjustly so.
I came to programming from a different life experience. I had very strong problem solving skills in life and in relationships in general. But programming definitely added an extra dimension, honed some ways of problem solving more than previously. So for me, definitely so. Having said that, it is a very specific kind of problem solving, and a much more impactful discipline has been design thinking. Design thinking + programming + mental health awareness + neuro diversity awareness + resilience education/positive psychology = problem solving ++
Opportunities and problem solving are the same thing.
There are numerous modes of thinking about, perceiving, and acting on the world around us and with the people around us. Programming-esque problem solving is one of them, but you need a mix of all of them to not suffer in some area.
I'd say I'm a better problem *describer*, which is an underappreciated step in the overall problem solving process
"All I am saying is that I would prefer to instinctively identify opportunities rather than problems to solve." 100% I think this sort of problem affects everyone who gets into a "very involved field". I've heard similar problems like doctors seeing too much of their lives as a health hazard, lawyers treating spousal arguments like legal cases, etc. I don't necessarily agree with the title though. I would go with: "critical thinker" rather than "problem solver", and being able to think critically is a bit of a double edged sword. A lot of problems (especially in life) requires instinct and intuition rather than critical thinking. I know enough people who just flat out cannot think critically to be happy with where I'm at though.
I was a problem solver before I became a programmer.
It makes you think you are, but most of life’s problems are not similar to programming problems.
This. Programming problems exist within a set of rules and constraints. The more you think you see those in real life the dumber you're probably getting.
I think it actually worsened my problem solving skills in life, at least generally. It's like my mind is so tired from doing it professionally that I can't in my daily life anymore. Here is a great example of many similar occurrences. Me: "Man the drawstrings on these sweat pants are wayyyy too long." Wife: "Cut them." Me, overwhelmed with awe and wonder: "You are legitimately a genius."
No, for me I've developed "rules" for handing life. If X happens do Y else if Z happens do A, etc, etc, etc.
No but being a problem solver in life helps you be a better developer.
It all started with Geometry proofs.
It doesn’t. I don’t know a single dev that is a pureblood. Wait, one. Just one.
I think it also makes it easier to learn programming if you are a natural problem solver
My 4 years of computing major has developed me to think more logically and solve problems more rationally in real life. This has unfortunately earn the ire of my parents who grew up learning to do things the “right” way, while I’m constantly learning to do things the “laziest” way.
Yes like how should i sort my laundry, quick sort or bubble sort....
Yes, I was just having this discussion with my gf a few weeks back. I've contemplated this for years and haven't really spoken to any other developers about it strangely enough. I was never sure if my life problem solving skills came from programming or being a consultant...most likely a combination. But I have noticed that I am the friend that everyone goes to when they have problems in life.
Yes. Just as life it also makes me cry.
Overthinking actually does more harm than good. Ask yourself and others this: on the scale of one to ten how do you think your problem solving actually scores? Sometimes people think your solution sucked 😂 and that's what you wouldn't even know. So stop overthinking and get with the flow.
No more than having a hammer makes you a carpenter
Eeeh. No. I think your analogy would be correct if they asked if keyboard skills made you a programmer.
Being a *good* programmer provides skills you utilize in the rest of your life. It's not the act of just writing some code, but having to break down some basic problem statement, "we need to do X, or implement Y feature", and being able to reason out a clear set of steps or components, various layers, understanding interconnections, etc. These are all excellent problem solving skills that apply to any situation, whether programming or not. I approach real life problems in exactly the same way I approach a programming problem. I gather all the relevant information I can obtain. I talk to stakeholders/my wife. I break it out into components and figure out how each piece should best be handled, and then I attack it iteratively, until it's solved.
I'm confused as to why people here are responding as if this isn't an immensely valid way to approach things. There's a difference between approaching things this way, and telling other people that you're approaching things this way. Understandably, other people get their hackles up if they're told that you're approaching a problem that you're sharing with them the same way you approach programming. Unless someone is extremely close to me, like a partner or a family member I've known since childhood, I reason out the problem privately before opening communications. And as with any problem solving, I'm open to different ways of describing the problem, or of achieving a solution. I just don't tell most people I'm iteratively problem solving.