Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Recently I completed a Master of Science in Software Engineering from Drexel University (Philadelphia, PA, US), because I wanted to have some formal education in software (my undergrad is in Math Ed) and also because I wanted to be able to advance my career beyond just programming.

Don't get me wrong; I love to code. I spend a lot of my spare time coding. However, for me writing code is just a means to an end: what I REALLY love is designing software. Not visual design, mind you, but the architecture of the system.

So, ideally I'd like to try to get a job doing software architecture. The problem is that I have no real experience in it besides my graduate course work. So, what should I do to make my "bones" in software architecture?

Just so it's clear, I have over 5 years of work experience in software development and an MCTS cert in addition to my education, so I'm not looking for the usual "I'm fresh out of school, what should I do?" advice.

share|improve this question

closed as off topic by gnat, Jarrod Roberson, Robert Harvey, maple_shaft Apr 10 '12 at 14:55

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

slap your head when you realized you could have entered the industry after the bachelor's? –  Mike Brown May 10 '11 at 17:26
Also you wanted to move beyond coding but got a degree in Software? –  Mike Brown May 10 '11 at 17:28
@Mike I did enter the industry after my bachelor's, but as a developer. At the time I had no training whatsoever in anything but writing code. If not for my experience in the graduate program I probably wouldn't have any interest in or knowledge of software architecture. –  Brian Driscoll May 10 '11 at 17:29
@Mike Yes, Software Engineering, which focuses on the total software development effort (PM, Requirements, Estimation, Architecture, etc) –  Brian Driscoll May 10 '11 at 17:30
You would have found some interest spending enough time with code...apologies if I sounded critical I was joking mostly a real answer is coming up. –  Mike Brown May 10 '11 at 17:30

4 Answers 4

No one is going to just give you the reins as an architect (other than as some have mentioned a startup company, but they'll expect you to do everything). The most sure-fire way is to organically grow into that position. Spend some time as a dev, then as lead dev (difference being that the lead dev interacts with the architect directly). Then you should be able to move into a junior architect role (work as a secondary architect under a more senior architect).

Here's the thing, there aren't many company's that are structured in such a way to support this kind of career growth. Too often it's a trial by fire scenario. So another path would be to get involved in an open source project and pick the brains of the leads there.

Get involved in the community and start reading important books on OO design. (You'll start hearing their names as you get more involved). Also, if you haven't yet, become a polyglot. Few people take an architect seriously if he can only talk about a single platform/language. In the same regards, learn the hardware. You can buy a cheap server for about 3000 dollars now a days. Learn how to create a virtual environment on that hardware. Again people take you more seriously if you know hardware/sys admin in addition to development.

As an architect, you have to know HOW to do everything from UI to web services, to database design, and beyond. You need a holistic view of how everything works together. Because when things deviate from your plans (note I said when not if), you're going to be the one everyone looks at to adjust the plan. There's a lot of gratification to be had in architecture. A lot of frustration as well. But in the end, it's all worth it to see your designs coming together like the masterpiece of a symphonic composition.

share|improve this answer
Assuming that the company's structured like that. I've never worked at one that was. –  David Thornley May 10 '11 at 20:31
David, I addressed that in the answer "Here's the thing, there aren't many company's that are structured in such a way to support this kind of career growth. Too often it's a trial by fire scenario. So another path would be to get involved in an open source project and pick the brains of the leads there." –  Mike Brown May 11 '11 at 3:12

From what I have seen, you will probably need some workplace experience as a developer before you'll be seriously considered for a Software Architect position. Usually the hiring people in medium to large corporations want to see a certain number of years in the workforce to even consider a candidate. With a Master's, you might be able to cut that number down. You also might be able to get in right away at a smaller start-up which may be more likely to take someone with less experience.

If you already have workplace experience (even as a developer) and the Master's (that focused on architecture), then start looking for job postings for Software Architects!

share|improve this answer
Sorry I left out my experience thus far... –  Brian Driscoll May 10 '11 at 17:11
I've been looking around and all of the requirements have "X years experience as a system architect", etc. So, I guess that's what's holding me up. –  Brian Driscoll May 10 '11 at 17:17
Are you applying to those positions? –  Ramhound May 10 '11 at 17:21
@Brian Driscoll: and you have < X years experience as a system architect? You could try to emphasise your Master's as some experience, some places might be cool with that. Alternately, apply somewhere as a Sr. Dev and make it clear that you want to move up to Architect quickly. –  FrustratedWithFormsDesigner May 10 '11 at 17:23
@Ramhound no, actually I'd like to stay where I'm at if possible and carve out such a role for myself, but I've been looking at job boards to see what the typical requirements and responsibilities are. Of course, I've considered applying to some of them... –  Brian Driscoll May 10 '11 at 17:25

One of your best opportunities, particularly if you're near Philly/King of Prussia, is consulting work. Sign up with a big firm, they send you out to a local company that thinks you're the 2nd reincarnation of Jesus, and you get to be a software architect.

The consulting company will likely want you to get mentored by someone in the company that's proven, but you will be able to advance to architecture within a very short period of time if you have a knack for it.

With a few years of experience under your belt, you can make a hop anywhere you want, whether that's a different consulting gig, your own company, or a corporate job. Or, you could stay where you are if you're happy.

Your best opportunity is going to be working in a small group of other architects and learning practical applications from them. Ask during the hiring process and throughout your tenure there to be assigned work with the smartest people in the room.

share|improve this answer
I currently work for an IT consulting firm as a developer, actually. Unfortunately we don't have any architects on staff. If I had my way I'd figure out a way to create a position for myself as a software architect here. –  Brian Driscoll May 10 '11 at 17:27
Where are you working now, if you don't mind me asking? I had an interview with SunGard in their Tech Services division this year that didn't work for me personally, but the company is capable and there was a lot of architecture work. Something like that might work for you. –  Jordan May 10 '11 at 17:31
I used to work in KoP (1 floor above SunGard, actually) but now work in Ft. Washington. –  Brian Driscoll May 10 '11 at 17:33

Another thing about architecture that I don't believe has been mentioned is that all the architects I've worked with (I'm currently a dev lead) have an excellent command of the business side as WELL as an excellent command of the technical side of the software project. So, don't discount business/domain knowledge in addition to technical knowledge - it could very well make the difference in whether you're meant to be an architect or not. For example, I've worked with architects who often (on top of everything else they were doing) were expected to do requirements engineering because the analysts couldn't do as good a job. If you don't have domain knowledge, you can't do that sort of thing, and that can be expected in an architect role. Also, it's important to note that WHAT an architect usually does often varies widely from organization to organization.

Not to dissuade you, but the architect role is multifaceted and very challenging; it's not for everybody. That's why they make the big bucks.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.