Modern Software Developers Need a Major
The truth is that software today is common. We have the ability to design, create and develop any system we like in any number of technologies and approaches. With this ability, just knowing how to develop a system, architect it, or even design it may not be enough to hold out in our modern world. Traditional systems require more than just a compilation of programming languages, how to make look good... the works. Traditional systems require you to be not only an expert in development, but an expert in an expertise of some industry. Imagine that a Bachelor's in Computer Science actually just indicates your ability to transform information into architecture and further into a system. Once more, you will need to understand an industry or a series of industries.
Our world has been developing better approaches to all of our technologies, and software has been a recent addition to enhance both experience and productivity. In our modern times, as a software architect, to literally survive, you must be able to not only architect a system, but become an expert in a domain model. It is this expertise in domain that allows us to transform apparent knowledge into applicative systems.
Nevertheless, if you wish to approach an industry don't worry about how to develop a system, what it should look like or what sort of architecture should be implemented; start thinking about the actual domain that you're dealing with, what works, what doesn't, and how does it work, what do you need to do to accomplish all parts of the domain. Translating all that information is just like learning how to program a new language. Once you can wrap your mind around a domain and become the expert in that field, creating the best possible system will come naturally.
That's all for now on expert domain systems :P