How to become a software architect?

What majors in college best prepare someone to become a software architect?

  • Answer:

    To become a Software Architect, the major would be Computer Science. There's really no other major for this. I didn't study to become a software architect, it stumbled into the position. After doing Software Architecture for personal, as a career, and now as a technical founder of my own business, I have the following notes about software architecture. In my career, we did two things: Build core software for ourselves Customize features of our software for integration Software Architecture touches multiple aspects of a business: Staffing costs Operational agility Futures scalability Execution strength In regards to colleges, my opinion is that the following things are important to pay attention to: Type of computer science college Additional courses you take Exposure to other industries Type of computer science college Some colleges treat computer science like a trade skill, or the mechanic of a car. You're taught: How to program How to repair, modify, and create software But they sometimes do not teach: History of Computer Science Design of Systems Some colleges see computer science as an academic skill. You're taught the above, but not taught how intricately woven Computer Science is in other fields. How software is used in Biochemical modeling How software is used to accelerate the field of Astrophysics How software is used to build optical devices to assist human on assembly factory lines. Pick a college (or university) that focuses on the History of Computer Science. Also make sure that college is quite wide in the breadth of specialization. You don't really want a Computer Science only college, you'll have a very narrow view of all the other technology needs that a software architect would profit from solving. Additional courses you take This will not seem intuitive, but a Software Architect's core skill set is communication. You can have the most brilliant mind in the world, pure genius that no one could hold a match too, but if you can't share your ideas correctly --- well, what use are you as an architect? This falls into a few specific categories of communication: Written communication Visual communication Knowledge sharing / teaching When you have an awesome production idea, along with the exact software structure which will allow you to produce the desired results, you'll need to convey that to others. Some might say, "well I can build it myself!" That's great, but you're not a software architect. Probably a hacker genius, and this answer isn't for you. If you do want to be a great software architect, I feel the following additional course work would make a substancial difference. Creative Writing and Presentations -- To convince others of your idea. Business Administration -- You're solving people problems through design. Another Science field -- Chem, Physics, Biology. Just take an introduction. Statistics -- We live in an ever more metric-based world. It's important. These two are is important in my opinion: Psychology -- The "how" to solve human problems. Teaching -- To enable you to establish leadership through knowledge. Exposure to other industries Some engineers I've talked to take a strong engineering approach to the idea of Software Architecture. Good software is maintainable, easy to scale, and low cost to create/modify. But what your really doing is solving problems of other industries. So knowing chemical engineering, biometrics (for me), medical field administration, insurance industry, process automation, industrial manufacturing, allows you to understand how to best itemize their data and construct workflows that actually accomplish their day-to-day activities. It's pretty important to have a wide breadth of fields. A core value that a software architect can bring is to link concepts from one industry to another. To be the bridge and perform knowledge arbitrage.

James Liu at Quora Visit the source

Was this solution helpful to you?

Just Added Q & A:

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.