| >Even though there isn't a formal theory, there definitely is a big difference between a person capable of doing good system design and one who isn't. Yeah? Prove it. You can't. That's the big problem here. The only thing you can give me at best is some vague metric on some anecdotal experience. We don't even have data on this. Replace "system designers" with ICs who have the same breadth of IC experience who produces the better design? What does "better" even mean? My personal opinion on Systems design is that it's pretty easy if you got the "IC" part down. It is largely just arrows and boxes. >I've done it enough to know that I couldn't do it while keeping my IC-type role as well. For me, personally, I approach systems design in a sort of breadth first search for a solution to the entire problem space, whilst deep-diving into particular areas where I am less certain. For other parts my experience lets me brush over details quite quickly. I think of system design as something that is tediously hard. It's not something that requires a massive amount of skill. But it does take a lot of time to come up with a design. It's like building the Eiffel tower out of toothpicks. Anyone with the relevant domain knowledge (as opposed to design knowledge) can do it. So yeah it does make sense you can't be an IC at the same time. >But realise at the same time that even software development itself doesn't have anything resembling a universal theory, common processes or frameworks. It's all changing, being reinvented, and rediscovered on a continuous basis. This is the whole point. Anything referred to as "design" is largely an artistic endeavor. Arguably much of these frameworks have been changing in a manner that cannot be characterized as "improvement". Just endless horizontal progress and endless genetic drift because we can't know if one design is better than the other. This is the same with system designers. The skill level is horizontally stacked because we literally can't prove shit. >It is equally true that many things even in medicine or construction aren't based on any solid science. Medicine is a highly quantitative endeavor. All medicines go through rigorous quantitative verification for efficacy. The same is definitely not done with system designers. |
> I think of system design as something that is tediously hard. It's not something that requires a massive amount of skill. But it does take a lot of time to come up with a design.
Well, zoom out a bit, and imagine that this tedious and hard work where you are documenting and explaining things with arrows and boxes actually takes up most of your time. That's the birth of the explicit role.
I am also sure you can imagine people you have worked with that you would never want to have above yourself in such a role when you are in an IC-role, because they for example always come up with crazy ideas that won't work, or don't come up with ideas at all, or just brush over everything with simple arrows and boxes and assume someone else will figure the hard details of the overall picture out, and in fact in doing so will find no use for the arrows and boxes they got handed other than being some picassoesque requirements input from which you have to make real investigations and conclusions.
That's the people that aren't mature enough for such a role and I claimed many never will be.
But yes, I resonate with a lot of what you are saying.