I am fortunate to have played several roles in the software sector including as that of architecting. Though, I studied Mechanical Engineering, by providence, I started my career as a Software Engineer.
Early on, I was interested in the below knowledge areas :
Design for purpose (quality)
Design for use/handling (ergonomy)
Design for appeal (aesthetics)
Design for manufacturing ( focussing on JIT/lean, reuse, re-purpose etc.,)
The above knowledge areas helped me focus on my job better - especially in software sytems design.
What is systems design ?
As per the definition from geeksforgeeks.org -
System design is the process of defining the architecture, components, modules, interfaces, and data for a system to satisfy specified requirements. It involves translating user requirements into a detailed blueprint that guides the implementation phase. The goal is to create a well-organized and efficient structure that meets the intended purpose while considering factors like scalability, maintainability, and performance. S y
For me, the concept of systems design for any problem domain, translated into the below thoughts -
Whenever you think of any problem area, be it in software design/architecture or any everyday problems that you see all around you , such as in politics/economics etc., if you have ingrained systems design approach inside you, then the following happens :
The elements, stage, inputs, outputs, process etc., of the problem space, unravels/dismantles itself and becomes visible in your mind
You understand the communications flow around and in the problem space
You understand the different actors (need not be human, always), influencers and patrons in the problem space
You tend to mentally visualize the working model and hence sudenly become aware of inefficiencies, bottlenecks, waste, chaos/turbulence etc.,ess
per
This should be adequately supported by some knowledge in the area that you are focussing on. You can try to have a general interest in fields or areas such as art, economy, politics etc., as time permits and be a polymath.
Hence I suggest you invest your time carefully - since we do not have unlimited time in our productive part of life . Be mindful about quality in even in areas such as -
Movies/videos that you watch (presently I understand that it may take much over an average person's lifespan to watch all of youtube !)
Music that you listen
Books that you read
Other knowledge gaining experiences as such ..
Quality matters in all aspects of inputs to you as a person/system !!
While designing solutions for problems you address, being a polymath, be aware that, a simple or complex design is always not the right solution. Look for solutions that not only excels in itself (fit for purpose) but also enable/enhance other integerating systems/aspects in a better way.
To provide an example from the software industry, while taking up a component/product design , I take into consideration the below aspects :
Vision of the product, its expected life span, roadmaps etc.,
The setting environment (What else in this can be reused/re-purposed)
MVP or minimum viability of the product of the current delivery
Time allowed for current delivery
Budget allowed for current delivery
Impacts expected (on reach, use by head count, productivity benefits etc.,)
Choice of technology, standards and frameworks
Compliance, conformance, performance, NFR related concerns
Ability to expand/scale/extend easily
Ability to integrate with excellent data ingestion and egestion qualities
Other fitment for purpose aspects...
Above everything, if you are a strong visual learner , it definitely helps !! Please refer to my other article related to this at - 4. About My Learning System (mayoan.com).
Hari Om!