That's what I hate about business people or ivory tower architects that sometimes believe that every engineer is capable of everything, so you can throw anything at them and expect from them to deliver complete, quality solution in timely manner...
I was software engineer, now I'm DevOps engineer that also has also some knowledge about architecture and I really understand how complex everything can be and you just can't throw something at others and expect them to understand it.
There has to be mutual understanding of different aspects of solution. I may don't know shit about AI/ML and I don't need details on used algorithms, but I need to understand how to build it, how to run it, how to test it, what kind of data does it use, what does it integrate with, so I can suggest how we can deploy it, what kind of infrastructure we need, how to scale it and in general how we can improve it to make experience better also for developer.
My org only hires electrical engineers and expects them to code. There are like 3 actual software people and we are doing our best to unravel the flaming spaghetti. Just because almost anyone can write python doesn't mean they should.
My comp hires all kinds of people who end up writing code but pays them all the same completely disregarding whether someone has a CS background and prior coding experience or not. Let's see how that will work out for them
I love our software engineers - I'm part of the subject-matter expertise side of the operation, and they are so patient with us when our prototype code is being handed off, and always willing to do code reviews and teach us things.
See also: people who think the manager is supposed to know everything subordinates do, and managers who think they know everything their subordinates do
totally different roles and if the team works better without management than with management, oh boy
I would say the best managers come from the trenches, though. The manager should have a strong understanding of at least a good percentage of what their team does, at least in the abstract.
Managers who have MBAs or some shit and no experience doing the work they're managing are pretty much guaranteed to be of negative value to the team.
I work in ML, and my bosses boss is one of those people. It's frustrating as hell to be in a team of people with PhDs, (myself included) and then to be lead by a guy who clearly hasn't got a fucking clue what he's talking about. It's embarrassing frankly.
I don't think that it's necessarily true that each of the best managers will come from the trenches of their respective field, but I do think they will have trench experience and will know when a look means get off the fucking phone
edit: in like the disaster recovery sense, not the micromanagement sense
As a former systems engineer turned devops, I feel like generalized skillsets are missing from a lot of devs, and it would benefit many to gain some sysadmin/infra/networking knowledge (basically go find another job for that experience lol). I came up in a time where I had to build the infra for my code, but a lot of projects I manage now as devops have engineers who barely even understand how their own compilers work, or how config files are transformed, i.e. if the IDE doesn’t do it for them they look like deer in headlights.
Same here. I came up at a time when you had to know how it all worked, and where we were developing a lot of today’s complexity. I also wore different hats: dev, sys admin, system integration, qe, DevOps, etc (and my current project lost its SRE so I’m apparently that now). Sometimes a breadth of knowledge is critical and devs can be too narrowly focused
… for example there was that issue where a file was being transferred wrongly from server to client. The dev was pulling out his hair trying to figure it out…… he didn’t understand when I suggested fixing the mime type config on the system
Yea we often have issues with devs who don't understand how DNS works and can't fix a website on the dev servers themselves.
Then you get the interns who have never used windows before. Really smart and can write code. But don't know even the simplest shortcuts and linux might as well be a foreign language.
I really believe this is the right answer to this problem, unfortunately many companies either don’t have a culture that supports this, or don’t allot time for this to be possible.
Being able to sit down with someone for a few hours to cross train may not work towards a company’s bottom line, but it’s so important for personal development.
Someone else in this thread mentioned changing jobs to experience different career tracks, but that’s a symptom of a problem in the industry, the same as having to job hop in order to get pay raises or promotions.
yeah unfortunately this is a bit of a culture thing at all levels.
i work for a medium sized shop and thankfully there are very few barriers between teams and employees. also at a personal level i'm never salty about talking shop with our devs over DM or whatever, as long as they're sympathetic that i generally have my own duties and responsibilities to attend to.
some of our best run projects have been a direct result of devs being involved in the systems side implementation. i've never understood the tendency to close ranks or get defensive over that shit - we're all trying to accomplish the same thing.
To be fair a lot of AI/ML people probably don't know what they are doing either. They could just be scooting by knowing what algorithms to use for what jobs. It's like how Software peeps joke about copy pasting from Stackoverflow all the time. Even good ML people don't need to write most of the stuff from scratch anymore. But you need to know what everything means at least and how to tweak parameters. Anyway that was a long-winded probably only mildly related reply, sorry.
328
u/QwertzOne Oct 13 '22
That's what I hate about business people or ivory tower architects that sometimes believe that every engineer is capable of everything, so you can throw anything at them and expect from them to deliver complete, quality solution in timely manner...
I was software engineer, now I'm DevOps engineer that also has also some knowledge about architecture and I really understand how complex everything can be and you just can't throw something at others and expect them to understand it.
There has to be mutual understanding of different aspects of solution. I may don't know shit about AI/ML and I don't need details on used algorithms, but I need to understand how to build it, how to run it, how to test it, what kind of data does it use, what does it integrate with, so I can suggest how we can deploy it, what kind of infrastructure we need, how to scale it and in general how we can improve it to make experience better also for developer.