Earlier quoted context omitted.
>But who isn't solving problems? Unskilled labor. Unskilled labor is there to execute a solution. Programmers (and others) are expected to innovate. Its important to remember that instead of simply cranking out code for the facet of the problem that happens to be immediately in front of you.
Most unskilled labourers are presented with non-routine problems frequently throughout their work
You’re not writing code, you’re solving problems
121–130 of 143 posts
Re: You’re not writing code, you’re solving problems
#122This reads to me like the faux-deep inspirational, vaguely-self-help-ish platitudes that litter facebook. Are there software engineers out there that don't know this? You're there to solve a problem and/or create a product. Code is a liability.
I imagine that how it was in the '90s so all business people were there to make UML and "proxy code" that was supposed to be typed in by code monkeys. Code monkeys also would handle all those "not important technical details".
But you have other type of places where one can work. Where you work with sales or business people together on solving problems. In those places it is more like described in the article.
This second type of places in my opinion started winning, because you cut out middlemen who don't code. So in startups you should sell or code there is no place for middle management who rounds up code monkeys. In those places devs get some power because usually it is a company that sells software so they are not cost center but competitive advantage for company.
Re: You’re not writing code, you’re solving problems
#123Earlier quoted context omitted.
>But who isn't solving problems? Unskilled labor. Unskilled labor is there to execute a solution. Programmers (and others) are expected to innovate. Its important to remember that instead of simply cranking out code for the facet of the problem that happens to be immediately in front of you.
Most unskilled labourers are presented with non-routine problems frequently throughout their work
Re: You’re not writing code, you’re solving problems
#124Earlier quoted context omitted.
Hoh! I spend most of my time figuring out pipenv (not my design choice!) .
Python packaging is now a solved problem. Use Poetry. Resolves all your dependencies and manages your virtual environments. Also lets you build and publish your own projects with a few commands. https://python-poetry.org/
Re: You’re not writing code, you’re solving problems
#125Funny thing is, coding today is mostly understanding how other devs solved a problem. We're using frameworks and libraries that all come with very specific solutions.
Well it's more like using the tools other developed to help you solve your problems faster. If you're spending more time understanding the tools you're using, reconsider your tools.
But more ofteb than not, people underestimate the problem AND the tools that were created to solve them.
Also, most devs aren't simply as smart as they think they are.
I worked with many devs that tried to force their mental model on an framework that worked completely different.
Re: You’re not writing code, you’re solving problems
#126Depends on the language. I find that in C++, I spend a lot of time working on figuring out the language, while in python I spend far more time solving the actual problem.
In Python, I fight with dependencies and the GIL (try getting Matplotlib to update an interactive graph in real-time, it's not fun). In Lisp, I lose time manually writing FFI wrappers. It really makes you appreciate the size of Python's ecosystem. In C++, I spend inordinate amounts of time buried in the language standard. It's just _so large_. In C, I have "fun" with manual memory management, name collisions, and boi…
Re: You’re not writing code, you’re solving problems
#127Re: You’re not writing code, you’re solving problems
#128All too often developers seem to be bent on the idea that they have been hired to write code and so the solution to any problem they are asked to solve must be more code.
The truth (or at least the way I understand it) is that writing code should be something that happens when you have explored every other option possible.
Even if it is easy to write, code is expensive to maintain later on and the costs do not add linearly.
The larger the project the more it costs to maintain anything. Simple operations become huge projects.
The best bet, in my mind, is to try to have as little code as possible by treating the code as a liability and trying to curb the amount of it from the start.
Even if you need to add code to add a functionality, it is frequently possible to shift it from somewhere else. Refactoring as you add functionality is a good way to curb the size of the code base.
Another way I have noticed that seems to be frequently overlooked is to have the object model as close to your real problem. Any inconsistencies between real life and software object model seems to result in heaps of code in multiple components to deal with various exceptions, translations, mappings, etc. and this seems to grow exponentially with time. Sometimes there is no better way than just do it right from the start.
I work for a large bank on a system that deals with risk calculation. It seems every part of organization has a slightly different understanding of what a trade is or definitions of its properties. The net result is that, in my estimation, there is about 3 orders of magnitude more code that would be necessary if there was single shared definition of all those properties.
Re: You’re not writing code, you’re solving problems
#129Earlier quoted context omitted.
Hoh! I spend most of my time figuring out pipenv (not my design choice!) .
Python packaging is now a solved problem. Use Poetry. Resolves all your dependencies and manages your virtual environments. Also lets you build and publish your own projects with a few commands. https://python-poetry.org/
Re: You’re not writing code, you’re solving problems
#130Earlier quoted context omitted.
Aren't a lot of jobs about solving problems? A therapist solves psychological problems. A lawyer solves problems between people and organizational entities. A surgeon solves medical problems. The reason I'm asking this question is because a few groups proudly say that they are problem solvers. The most notable groups that I've seen are programmers and the consulting industry. But who isn't solving problems? Why this…
I think it's a reaction to programmers' particular tendency to focus on things that aren't best serving the goal of solving the problem at hand. Programmers often have a "pet" focus that relates to what they enjoy: performance optimizations, writing "clean" code, using some particular pattern or technology they like or want to try out, etc. None of those things are bad as long as they don't take precedent over solvin…
This seems like preventing new problems from happening. Which is indeed a wrong thing to do if the metric for evaluating employees is "number of problems solved".
If you create a fizzbuzz application with good performance and clean code, you have solved one problem. If you create a fizzbuzz application first, then fix three bugs in it, and then improve the horrible performance, you have solved five problems.