Having an in-depth knowledge on a topic or technology, on it’s own, isn’t enough to be able to class yourself as a senior person or an architect nowadays. If your only differentiator is you know a little bit more than a few junior developers, then you’re pretty doomed. With the advent of the internet, finding information is easy. If a developer gets stuck after a quick Google, they can be on their way again. Anyone can follow the steps laid out by someone else but that’s not going to create a truly excellent product or project. Don’t get me wrong, having great technical skills is a key part of the job, but being an architect is so much more.
If the only value you’re adding to a company is an encyclopaedic knowledge in one area, then you’ll never achieve great work. As an architect, it’s your job to come up with solutions, not whine about problems; as an architect you have to take responsibility.. the buck stops at your door and no one else’s.
To be an architect you can’t make excuses, you can’t complain how the moon and stars didn’t align properly if your plan didn’t work out as expected. People look to you to come up with solutions to a project and inject the confidence to allow the team to keep moving forward. It’s your job to help steer people onwards when no one else has the answers. It’s your job to get it done, to get it built, to make it happen.
Life’s not fair, get that out your system now. You’ll never work on a project where everyone on the team is a star, you have an unlimited budget and unlimited time, that’s not reality, so stop blaming the world and take ownership. That’s an architect’s job
It’s up to you to keep momentum, to push the team to come up with ideas when everyone else is exacerbated with a situation. It’s your job to say no, to push back when something isn’t right, you are there to maintain the status quo and simply accept what you’re told. It’s your job to question, to probe. It’s your job to identify what’s realistic and achievable.
In life things go wrong, no one can predict the future. What you suggest today might be wrong tomorrow. If its not right don’t make excuses, take stock, re-evaluate what’s going on and pivot, change tack, drop a requirement, find a new solution.
An architect’s role isn’t just to know all the answers for every problem; if you do then you’re better at the job and a hell of a lot better than anyone I’ve ever met. I see an architect as a problem solver, the person to take ownership, to make a plan when you’re not sure yourself if it’s the right approach and to rally the team to get it done.
I don’t think there’s a single developer who hasn’t worked on a failed project. Does that mean we are all bad at our jobs? When thing’s go wrong, it’s the architect’s role to keep project momentum and not give up. You need to be the inspirational evangelist, not one of the naysayers.
Being able to share ideas and discuss options without having an ego is key, you can’t sulk or moan because something isn’t going your way, it’s up to you to guide the team to the finish line.
You can’t have a me vs them mentality, you need to be the glue that holds the project together. Every project is different, there is never going to be a book you can read that will solve all your problems, you have to be more creative than engineer at times.
So no… being an architect is not just about knowing the most. If you are or want to be an architect you want to be a creator, an innovator. It’s up to you to change the game, to come up with something from nothing, your the catalyst for getting the project done. Embrace it or quit. It’s your choice
You might read this and disagree with everything I say – that’s good. You need to have your own rules, your own plan, you can’t read how to build great products, you have to innovate. So what skills do you need to be an architect? I think if you’re still reading, then we can agree that you can’t be the person who sits back and waits to be told what to do, you have to be the decision maker Being an architect is like being an artist, it’s being challenged with the unknown and being able to create your own map.