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.
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.
And I get that. I have hobby projects because it's nice just to go wild and code for my own entertainment. My home lighting system is a custom Scala actor-model daemon, because 5 years ago I thought Scala was cool. (In retrospect: nope!) Building things is fun.
But when I'm on the clock, I've learned to be relentless in understanding actual users and their needs, and ruthless in pruning back the many things I'd like to build down to what actually serves people.
That's not easy even in the best of cases. And in companies that have waterfall-ish leanings or command-and-control managers, it's often impossible. So a lot of programmers learn to build whatever they're told, regardless of whether it solves a problem. And a good chunk will do it in ways that entertain them, because when managers drain all meaning out of a job, we are forced to find ways to create some for ourselves.
https://www.infoq.com/presentations/tesla-vpp/?utm_source=pr...
I guess cool is subjective.
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.
Instead of number of problems solved MINUS the number of lines of code written.