I just recently received an email asking for advice about college/degrees/classes for new upcoming infrastructure architects. (see below)
I have an AA in networking from a two year college. I would like to know, what major, I need to follow in my second half my IT education in order to become Data Center Architect. Also, what courses I need to take in the next two years.
Sincerely, New Infrastructure Architect College Student
Also note: that there are classes coming in the future from Microsoft to help new infrastructure architects get the skills they want and need. I currently cannot say much about this. Stay tuned.
Furthermore, nothing replaces wonderful experience.
with that in mind, here are some recommendations:
New Infrastructure Architect College Student,
From my professional experience, here are the classes which I believe were helpful:
Wow, as geeky and technical as we love to get, past business training /experience often turns a moderately good architecture design into a truly great one where it has a much higher probability of adoption. Very very important.
First the business fundamentals (accounting, finance, marketing, management, operations improvement, quality control/six sigma, project management, business risk analysis, business law.
Also: those business statistics class are great (especially if you eventually can take econometrics (multiple linear regression): not common in business classes (mostly economics majors) but a great tool for information technology architects
You will find that most infrastructure architecture is designed and operated like early 19th century assembly line models. The inefficiency is obvious. From lack of communication, defects created, etc... Modern business skills will help you reduce complexity, improve productivity and reduce costs significantly while making your organization more competitive in the marketplace.
Understand good qualitative and quantitative analysis
Math, measurement methodologies, documentation and analysis Calculus, most Science classes, lots of statistics, econometrics are a good base for you.
Often ignored by new architects. Eventually, they figure out that this area is FAR FAR FAR more challenging to do and provides much more accurate and precise information (many are often surprised by this) in helping you make discriminating business decisions with people process and technology to develop a successful Information Technology Architecture. Honest. Good qualitative analysis is hard but amazingly valuable. You will learn that there many many many ways to manipulate quantitative analysis (look at most industry standard benchmark studies as a perfect example).
There are many good courses at universities on deep qualitative analysis (however, most are taught at the graduate level: talk to your prof to get you in anyway. It will probably be a tough class, but well worth it in your future design activity)
Software Modeling / Methodologies
Many are often surprised by this. An infrastructure architect needing to understand software? But of course!!! Object oriented techniques, Rational Unified Process (good to know but understand the current realization of this is dated by modern approaches), Procedural based design, Waterfall, Spiral, the Unified Modeling Language (a standard) etc.. Of course, there are better modeling areas now: Service oriented architecture, Software Factories, Model based architecture, Aspect oriented design, etc... The cool thing is that you can reuse these areas to help you develop much better infrastructure architecture (whether it is with network, storage and computational solutions). These techniques are good for modeling functional areas (areas which directly affect the experience of an external entity (end user, another system etc...) btw: the infrastructure architecture world is going through a very intense transformation utilizing these techniques (and others like Patterns based design: something you should absolutely know!!)
Classes: I recommend having a base in an object oriented language (you don't have to be a pro, just understand how to get work completed with it), a scripting language. Database modeling, OO principles and design classes. These classes are usually taught in computer science departments. I have found that these classes were very good.
While Software architecture methodologies are great at functional modeling, they usually give a less than desired approach for modeling systemic (non-functional qualities). Be able to audit yourself and understand the trade offs (business, technical, operational, etc...) of designing systemic quality mappings by layer, by tier. What are systemic qualities? It's simple: Scalability, Availability, Reliability, Interoperability, Manageability, Usability, Securability ...it's not hard to take this the nth degree). Seeing the big picture while you design core areas (like stateful clustering on the resource tier/container layer (example: SQL Server database or Active Directory repository)). It's good to keep this stuff in mind when putting together the entire environment. Furthermore, just because you can think of a cool infrastructure architecture design doesn't mean you should use it. The most dangerous infrastructure architecture design you will make will be your second one. The first one, you're new, and you will probably design something basic that hopefully keeps the customer in business (hopefully you're being mentored well here). The second one, you have learned many new skills. So, you'll probably throw the entire kitchen sink at a customer. Most do this to show how much they have learned in school (it's a natural human trait so most experienced architects will be quite patient with you during this crazy time :-) This model leads to something amazingly brittle that no one on earth can manage, operate, (patching, adapting, monitoring, troubleshooting, etc...). That's a big lesion day. EVERY infrastructure (as well as software oriented) architect has made this mistake (or worse, they haven't realized they ever made this mistake). It is a rite of passage in your growth.
Classes: have a good base in network design and architecture, server architecture and design (know the unique issues of client/browser, web server, domain/business server, and LDAP and database server architecture and design).
(I have attached a little diagram to help you with this)
Other classes you will need:
Psychology, Sociology, Geography, Economics, Modern History (American and Global) You will find that people (cultural, personal issues, interpersonal relationships, etc..) will often be one of your biggest challenges. Don't let your current confidence and personal friendships cloud your mind that this is not needed. I guarantee you need it. I guarantee that you will eventually work with an amazingly diverse cultural, psychological, emotional, and intelligent individuals in your career. If you want to survive (and not burn out), you need to have the emotional intelligence and good social science/liberal arts tools to help you stay successful. Very very important
As an architect, you are a communicator. Besides the many many presentations you will give, you must be capable of writing a lot. And writing very well is critical to your profession. Those whom cannot are left along the wayside.
Next: some competitive oriented experience or class Whether its music or sports (or whatever you find that interests you), be in a situation where you have to compete against others in a challenging environment under tough time constraints.
Experience this in 1) a competitive team situation and 2) an individual competitive situation. It's very important that you know how to be successful in both arenas. Information Systems Architecture is not an introverted profession. You have to be in a competitive situation, work well with teams, and communicate well to be successful.
Now that I told you that. The Last thing IS the most important:
Start developing a positive work life balance now for yourself. Develop VERY high quality personal experiences for yourself now. Whether it is fishing, hiking, biking, reading interesting books, church or volunteering to help the world in some capacity. These areas will bring amazing inner peace for you when the pressures of your profession are high. Have something, anything of high quality value to help you good personal perspective and keep your stress low.
Is there a perfect degree for this profession? Not really. Architects, in the past have come from many individuals from different majors. If you can tailor the CIS (computer information systems) degree (usually from a business department) with more quantitative and qualitative analysis, computer science, social science and writing and communication classes, which might be the best fit that I can currently think of. (but if you do the CIS degree, you must supplement it, otherwise, most programs in the past have focuses too much time on IT project management: you need decent technical depth)
But understand that all majors are severely lacking in preparing students to be information systems architects. You have to take control of your own education experience and NOT trust it to educational institutions to prepare you. You have to prepare yourself. You might even consider developing your own major. :-)
You are entering an amazingly fun and exciting career. While a lot work, it is incredibly fun and you get opportunities to really change the world while doing it.
The best of luck on your new endeavors and I wish you the absolute most success in your future architectural career and personal life.
I hope this was helpful for you.