Did you ever wonder what an IT Architect does?


Did you ever want to become an IT Architect, and have been wondering what it is that Architects actually do? I have been trying to highlight what’s important from my point of view. I have tried to highlight those areas that are – in my opinion – important but definitely not key concerns for architects…

Even though I have been working as IT Architect for many years, it took me some time to realize what the role of the IT Architect is really about. I will try to describe here what I have rationalized for myself. Possibly it’s not perfect. If it isn’t, let me know and post a comment. I hope, it provides some guidance on the subject.

IT Architect

The easy part – Mostly technical stuff

There is more than one explanation or definition out there, but I have to come to believe in one in particular. In my view, the IT Architect is the technical leader on a project. Imagine the Architect more as a Chief Engineer. According to this, the architect is responsible for:

  • Understanding the non-functional requirements
  • Making sure the non-functional requirements are addressed by the technical design of the solution.
  • Directing the design
  • Communication in the widest sense: communicating the technical aspects to the stakeholders, project management, software developers, testers, etc.
  • Keeping an eye on the critical aspects of the solution, seeing to it that the key aspects are designed and implemented thoroughly
  • Providing technical leadership
  • Making sure the technological and design decisions taken, are in balance with the risks inherently taken. In addition, the architect needs to make sure mitigations for those risks are in place.
  • Drive the methodological and qualitative aspects of the development process
The challenge

Let’s face it. Most of us Architects have their origins in the technical arena, such Software Development, Systems Administration, and other more technical areas of work.

Often, the real challenge for a technical person is, to develop the soft skills required for the job: such as developing leadership and communication skills.

Do not let others confuse you – There is no truth about how much Code an Architect needs to write…

This morning, I walked up to one of the software developers on the team, with an idea on how to track down this elusive performance bottleneck we have been trying to find for a few weeks. He listened, and said with kind of a joking, sarcastic tone (we have known each other for many years so no harm was done): “Oh right. You have actually been technical at some point…”.

Leaving the jokes aside. Do not let others confuse you by whether Architects should write code or not, should be theoretical nor not, should be this or that. It is really not that important. This aspect of your line of work really depends on many other things, such as:

  • Type or project (technical or nature, process-savvy, consulting, etc.),
  • Size of project (you will be more technical on small projects and merely a communicator on large projects),
  • Personal aspirations (what you want to be five years down the road),
  • And many more…

Generally, it will be more technical and hands-on if you are working on a smaller team of 5, 7 or 10 people. And it will have more the characteristics of a management and communications function, when leading large teams of 70, 100 or more individuals.

The true objective – in my eyes – is leadership

But what really doesn’t change, is that you need to bring technical leadership to a project, no matter what kind of project it is. This means:

  • Bring technical realism into a project.
  • Make sure the project doesn’t get lost along the way on one of the winding paths, and stays on the most direct and pragmatic route to the project’s objective
  • Actively manage the non-functional aspects of the project
  • Communicate, communicate, communicate … about everything necessary, to everyone necessary…

References

[Lan2009] Langer, D. 2009, “Architecture as Leadership”, An Architect Makes It To The Big Show [online] available at http://blogs.msdn.com/b/dave_langer/archive/2009/04/30/architecture-as-leadership.aspx

Copyright © 2011 Michael Pichler

Advertisements

11 thoughts on “Did you ever wonder what an IT Architect does?

  1. I have stumbled over this very well written post, by Dave Langer, today and added as reference. I couldn’t agree more with what he is saying about the role of Architects.

    Regards,
    Michael

  2. Hi Michael,
    Veerayya Shetty here, I got 3+years of experience on J2EE Technologies. I wont to be an J2EE Solution Architect. I need some tips on how to reach my target. Presently I am concentrating on Design Patterns, Frame Works, Application Performance Tuning and UML design techniques.

    1. Hi Veerayya, Four areas are important from my point of view:
      a) Learn something about developing the architecture itself. It is much less a question of technology than of methodology. Read some of my posts (such as “corner-stones of successful architectures). They may be a good starting point. It will be helpful to get training on the subject and to read a good book about it.
      Not to forget, leading teams and communication are important things as well (there are some posts as well). Those two will grow in importance with the growing size of projects you are going to be working on.
      b) You need to start practicing as an architect (as soon as possible, even if you don’t have all skills fully developed yet). The best way is to get started with a small project. Something that is entirely within your technical responsibility.
      c) Try to find yourself a mentor. A more senior Architect who you can turn to if you need help, advice or guidance. They will also be able to help you avoid the common pitfalls.
      d) Broaden your skill. To get started with J2E if you know a lot about it is the best starting point. But often times architectures will involve many more technologies, such as infrastructure, legacy code and middleware of all sorts, other platforms like .Net, etc. It is – in my opinion – best to develop a T-shaped skill profile, know a few things well, and many things at least good enough to understand the concepts and technologies.

      I hope this helps you to get started. Good luck!

      Michael

  3. Hello Michael

    I recently started to study become a network technician with the third year going deeper into security.

    What i was wondering, is that I always saw the word It~Architect as a guy who was a leader in
    It Infrastructure, someone who could build an entire network without breaking a sweat. Ofc with having project management and leadership skills as a bonus.

    The thing is with the courses i am gonna read in the future i cant help but to think its a little poor/weak material am stuck with.

    The subjects were gonna study in school are gonna be
    ADDS DIRECT ACCESS
    Dns\Tcp Ip Exchange
    DHCP Firewalls
    Switch SQL
    Printer management
    Backup solutions
    Sharepoint
    Fileserver
    SAN\Nas
    Wap
    Information Security Policy
    Gpmc
    Outer and inner shell security
    VPN
    (Sccm) this wont be included in school so will have to research it on my spare time

    Am having a blast with these stuff on my spare time and school but cant help to think this is not enough and was wondering if you could help on the aspect on what else i should be researching into.

    I really like the windows enviroment and tried linux but came to the conclusion i dont want to work with it in my future.

    Best Regards

    Ron

    1. Hello Ron,
      Thank you for talking the time to write this post! Based on your post I am guessing you are early in your career. So: don’t worry – you have got enough time to develop all the skills necessary! I am sure there are a million opinions out there, and I will give you my personal take on it.

      You are right. The IT Architect is typically a technical leader – in an organization/company, for projects, both. IT Architects usually have focus areas: you have got architects for software development, enterprise, network, infrastracture, storage, etc.

      Now I am talking about the future in a technical role: The more senior you get the more end-to-end knowledge is expected of you. For example: Even if you are a specialist in network architecture, it requires basic understanding of how storage works, applications work, etc. Simply, because you are going to have to make decisions that involve other areas. Don’t understand me wrong: You don’t have to know everything yourself, but you are going to be talking to different architects, and you need to have at least an understanding of what they are talking about.

      Other skills: You are absolutely right. Mid-term you are going to need some other skills, like managing projects or teams, technical leadership, etc.

      Here is what I think about your question:
      1) First, the things you are talking about are essential. I.e. this is – at the moment – priority #1 if you want to stay technical. If you are an architect you need to have a solid understanding of the technical basis, i.e. how things work. E.g. what TCP/IP is and how it works, what HTTP is and how it works, how VPNs work, etc. The more you know about basic concepts, the easier it is going to be for you to learn about and understand new technologies later. And this is very important.

      2) Have fun: Having a blast is great! If you want to be great in some area you need to have fun doing it. Right? Because this is a good way to have enough motiviation to continue and become better.

      3) Be flexible: It is fine if Windows is your preferrential platform. But knowing about more than one platform, e.g. Windows, Linux, Unix dialects, etc. is going to be necessary at some point because in companies you are typically going to find more than one platform.

      4) Take opportunities to grow whenever they are arise.

      5) What else should I be researching into?
      – From a technical side I would also try to get a handle on Linux. Because knowing about more than one platform will be of great value to you. Plus, knowing Linux it will be easy for you to pick up skills for the different Unixes out there.
      – If you are interested in basic project management and team-leading skills: do it. But when you start out you are most likely going to be working in teams. Leading teams is something that will come later. If you are early in your career, and if you want to stay technical, focus-area #1 is from my point of view getting as good as possible with technology.

      Cheers, M

  4. Hi Michael,

    Thumbs up for a very well written post.

    Question for you: What are the software tools you use for architecting software solutions for deploying Content Management software, and Big Data software?

    Thank you in advance,
    Ying C.

    1. Hi Ying, not exactly a timely answer. I don’t use any tools specifically. It depends a lot on what I want to accomplish. With model-driven approaches I use modeling tools. If I am just drawing models to communicate/show/discuss I typically use Powerpoint or similar tools because they are more flexible.

      An important thing with architecture is that it is less about the modeling language and modeling tools used, but more about asking the right questions and providing the right answers. As such try to focus on what you want to answer; the tools you use to visualize your answers will then be an easy choice. Regards, Michael

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s