|
|
|
|
|
by jkaptur
1016 days ago
|
|
It's definitely interesting how people with the same title can have such different experiences. I'll try to give the other perspective, but please understand that it's a huge topic and this is a simplification. My experience has been an issue is raised - usually by management or "the business", but sometimes by engineering. "Our website is too slow!". Now someone has to step up and clarify things. Like:
* what does "fast" even mean for our website? It would be great to have an objective metric.
* Is there such a thing as "fast enough"?
* How much time / effort / money is a given improvement worth?
* How do we prioritize this vs. everything else we could be working on? A project spec comes out of those discussions, but the discussions themselves have significant technical and business inputs. I don't view taking part in these discussions as "extra" responsibility, I view it as a core part of the job. I've also seen what happens when specs are written without technical input: it makes implementing them a lot less pleasant. |
|
Then managers should learn whatever it takes to be able to make these types of decisions. There seems to be a double standard where engineers have to do all of these non-engineering tasks, meanwhile non-engineers never have to learn the systems in depth.
I think programming is a hard enough job that warrants 90% of focus, at least to be able to reap the benefits of computer science. At the dawn of generative AI, we can clearly see software has no limits, yet limits are implicitly imposed by re-prioritizing an engineer's time with "soft skill" tasks and having them spend a huge amount of time thinking about things that have little to do with computer science.
If a business needs that specific intersection of skillset, perhaps it should be a new role, instead of stretching the role of engineering and missing the opportunity to innovate at the software level, which in the end would help the business anyway.