How to be a good Architect, and work as a Developer

How to be a good Architect, and work as a Developer

“Well, what of it?” The first time I was asked this question in Sprint Review, I had no idea what to say. Then I was younger and it destroyed me. I started to stutter and drilling. I looked at my boss’s eyes, asking for help. However, I didn’t have words. Just finished the demo of my project. Indeed, I was very pleased with it. But when one of the shareholders asked me “well, what of it?”I didn’t know what to say.

I knew how my project works. And that is all. However, I didn’t know what role was played throughout the system. I didn’t know anything about the context. I couldn’t figure out what it could be in some way important. I was given earlier, and I did it with a code. I had no idea that writing code is only a small part of software development.

If you want to become a Solutions Architect, you must take into account the context. You have to see the bigger picture – because we are talking not only about writing code. We are talking about how systems come together in the interaction. The beginning of a journey in the world of architecture can be tough. Where should I start? In what direction generally develop the skill enough to move?

It’s not as difficult as it may seem.

You have to go one step back

Your task as a software developer is writing code to solve a particular problem. Depending on how it is written in Your history, you may encounter context of business around the changes that you make. To change your thinking from Developer to Architect you have to go on a step back. Ask yourself the following question: what is the impact on the entire program will be my shift?

Consider which elements contribute to the fact that Your app is running. If it consists of several modules, which are combined with each other? This app is a client-server? Or layered? Your goal is to understand how these elements interact with each other. As already fall, try to retreat another step.

How Your app behaves in the ecosystem? If Your company has a lot of goods, if Your app is part of a larger group? Or she engages in interaction with other applications? How to consume it and what are its acceptable behavior. Imagine that Your code is like the pistons of a car engine. It has a feature that helps this engine in action. The plunger, but to no avail. If you combine it with other elements, it has incredible value.

Your app is just such an engine. Has moving parts that rely on himself in action, so that everything functioned as it should. The engine itself does not, however, too many good.

Ecosystems and the range of products offered by Your company, this is the entire car. Your app is its engine. This is only one element of the whole, however, it is extremely important for all the rest. Roll back to the moment in which he sees the whole context, is a key part of the whole trip, in order to become a solution Architect. Expand your field of vision until then, until I see a full.

Learn to ask why?

If you are a software developer is, of course, you like to know how and why something works. If Yes, great, as it is an integral attribute of a good Architect.

You must have seen this film in which a child, zamęczało their parents, all while taking questions “why, why, why?” If Yes, then you already know what to do. Understanding how something works is one thing. Another thing to understand why it was decided to do it.

The piston is why it is so important to work the whole engine? Why it has this shape and why it is in this, not another place in the engine? The question of why, is the key to the transition from understanding to understanding something fully.

If you look at a system that was designed by Architect Solutions that understood things only on a basic level, this is what I wrote above, will be obvious. Understanding why these elements fit each other, will give You sufficient knowledge to fix the problem. Take the items you see and connect them with each other. You’ll create complex solutions to your problem.

However, if you really understand all the details of the components and elements will understand it, and you will know better how to develop better systems. Understanding things in General opens You creative, but simple solutions.

To cause problems with popular solutions

To be a solution Architect, does not rely only on coding. This comfort, namely, to develop solutions, implement them and move to the next. When you’re finished with your design, then you have it to explain. Misleading app developers, participants, people who work on this product, support, and so on – they all need to understand it.

If you know this, you can find out whether there are useful lessons learned here soft. The ability of a particular expression of their thoughts is Your most powerful tool. Personally, I do my best to explain my projects using metaphors. A comparison of their ideas, for a simple concept, which is understandable to others, it’s a great way to capture your thoughts.

If you’re an effective way to provide any technical solutions to non-technical audience, this means that you created for this work. Comparison problems General things and it’s not just about communication – we are talking about zapożyczenie ideas from the things he sees every day.

Don’t need to reinvent. There are many design templates and examples you can use in your project. If you are creating an application that manages charging and maintenance of files, why not look to a more Google Drive, and see if there are any functions that you can use as a comparison.

Or, if you are creating a system that creates a working schedule for employees, why not look for inspiration in Outlook and Lotus Notes? This apps that have achieved great success and, of course, will help You, if you take out a few design patterns.

A wonderful thing to be a solution Architect is that not every idea needs to be original. You can be connected with each other the various components coming from many solutions, and this means to be very good at my job.

Inspiration to look elsewhere.

Look to the future

Good Solutions Architect lives in the future. It creates a system that will ensure the company success in the future. Follow decisions that cannot be reversed. Now, if you make them, you will be with him in the future. If you can, put these decisions at the last moment. When you create a system, determine how pozycjonujesz. If you let Your job in the future modular. Or do you think that you are stuck in a situation with no way out?

Come back here another metaphor of the car – you want to build Matiz, or a Ferrari? Remember that when you are trying to make the transition from Developer to Architect, a knowledge of the plan’s the key thing. What is Your goal?

If Your company has goals for the next year, the next 5 or 10 years?

Don’t let present defects affect Your plan in the future. Do not let them influence on the project. Learn from mistakes, but above all, make sure that you open the way for new business opportunities.

Exercise makes the master

Best software developerach is that they love their craft. I’ve never met a developer who was not always, though, one project on the side. We love our work. We love to explore new things.

With this in mind, if you want to practice architecting, do it in your spare time. Take any system that already exists (for example, Your favorite website) and start creating charts what do you think can be given architecture. Go on, each time a step back.

Even better, if you don’t have proper documentation, make diagrams of the application that you are working on in their work. They will immediately be consumed by Your company that will help You to fully understand it.

You have other choices to learn how to be a solution Architect. You can pass a certified exam from AWS and to obtain the title of Architect. The certificate not only makes you much more valuable as developers, but also reinforces your knowledge on how to do the job.

Seize an opportunity to explore. Find yourself a mentor. In the world there are people who will help You to become the best in their profession. And most importantly – have fun. System design is a very creative activity that provides a lot of joy. I’m sure You will do the same.

Good luck to you!

The original text in English language you can read here.

Go to our cases Get a free quote