this post was submitted on 06 Oct 2023
21 points (95.7% liked)

Experienced Devs

3980 readers
1 users here now

A community for discussion amongst professional software developers.

Posts should be relevant to those well into their careers.

For those looking to break into the industry, are hustling for their first job, or have just started their career and are looking for advice, check out:

founded 1 year ago
MODERATORS
 

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?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 5 points 1 year ago (1 children)

If you described what a "systems engineer" did that'd be a big help.

[–] firelizzard 1 points 1 year ago (3 children)

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

[–] [email protected] 4 points 1 year ago* (last edited 1 year ago)

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

[–] onlinepersona 2 points 1 year ago* (last edited 1 year ago)

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.

[–] [email protected] 1 points 1 year ago (1 children)

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.

[–] firelizzard 1 points 1 year ago

I'm thinking more of design than oversight. In my experience building a large, complex system without seriously considering the system design (in the way that a systems engineer would) leads to many "oops" moments that will eat into the schedule.