My last job was at a company that designed and built satellites to order. There was a well defined process for this, and systems engineers were a big part of it. Maybe my experience there is distorting my perspective, but it seems to me that any sufficiently complex project needs to include systems engineering, even if the person doing that is not called a systems engineer. Yet as far as I can tell, it isn’t really a thing in the software industry. When I look at job postings and “about us” blog posts about how a company operates, I don’t see systems engineering mentioned. Am I just not seeing it, is it called something else, or is the majority of the industry somehow operating without it?
If you described what a “systems engineer” did that’d be a big help.
Systems engineering is an established discipline, one you can get a degree in. It’s not just a random term I’m making up. https://en.m.wikipedia.org/wiki/Systems_engineering
No one said it’s made up, just that we don’t know what it is because it’s a term for big (and maybe hardware-oriented) industries. Most devs will never touch this in their lives.
From your link, it seems that the “software architect” is the closest equivalent. He must have a broad knowledge in a bit of everything from the code to talking with clients in order to make good decisions for everyone, and make sure that a good path is followed by everyone.
Last but not least, this book seems interesting and gives an overview of what I said: https://www.amazon.com/Fundamentals-Software-Architecture-Comprehensive-Characteristics/dp/1492043451
Software Architect.
Yes, most companies don’t have them nor know about them. It’s a pity, but software engineering isn’t understood nor recognised by managers. Most still have the mindset that software engineers and programmers are the same thing because they sit behind a computer all day. I imagine that in their minds it’s the equivalent of dicking around all day like a gamer does. It’s ignorance.
“it can’t be that hard, just tell the computer what to do”
People who don’t understand coding think it’s a bunch of mumbo jumbo made to sound difficult. They still think in the physical realm. Multiply engineers and it goes X times more quickly! If I wanted a building finished, all I need is manpower.
Of course they also don’t value the profession. They think managing people is much more difficult than writing code. I’ve heard this over and over for years. “You don’t understand how difficult it is to manage people”. I think “You don’t understand how difficult it is to write good software”. Since they think it’s easy and in some virtual, magical realm, that one person should be able to do many things. They don’t understand the value of QA, architects, developers, devops, sysadmins, etc.
Probably my quotes implied sarcasm, what i should have said is there are so many hats that a “software developer” or “software engineer” is really really broad like by the wikipedia definition at my current company we typically call those “principal engineers”, or “principal architect”; i’ve also seen them called staff software engineers.
Likely it’s super domain dependent; the failure cost with a satellite’s or hardware cost you the business. Where with a website the MTTR can be very small. So a large oversight isn’t quite as needed, as the cost is so small.
my guess is the software equivalent is the architect role - basically someone high level that doesn’t code much but does design the overall way that systems interact (or, to put it redundantly, designs the architecture of the full system)
however i don’t know if this term is en vogue as much anymore except for very large scale businesses (i would bet money that banks employ architects, for example)
It definitely is a thing in larger companies, smaller companies just trust the developers or tech lead to do it
Project /Program manager in software?
I can see how systems engineering could fit into that role but the project/program managers I’ve talked to were much more focused on management than engineering
i did the facebook interview month long process a year ago and they were all about systems engineering at every level. the thing was, they had their own way of doing it and try to get me to pay $60 for their bullshit training to even use the same jargon.