Well. Some people get software design. Most people don't. The ones that do are naturals. I've been doing it since I was very young, I just understand problem solving, expressing solutions in quality code, debugging, large scale architecture design, etc. I would like to simplify the problem instead of building something complicated.