My name is Ivan Ishchenko. First of all let me say that there is no ethalon path to be an IT Architect. I’m a Back-end developer
I learned about this specialty on my first projects as a Junior developer. I observed what experienced Architects were engaged in and at what level they communicated. I really liked that Architects know and can do a lot of things. So at that time, I began planning my career path that took seven years of work and self-study before I reached my goal. In my article, I want to share some thoughts with programmers who want to go beyond the Senior level.
What’s the role of an IT Architect on a project?
An IT Architect participates in several stages of a project:
1. Pre-Sale phase
The Architect establishes contact with customers in order to "mine" important information: why they applied to an IT company, what their business goals are, and so on.
2. Discovery phase
During this phase, an Architect and a Business Analyst are involved in exploring functional and non-functional requirements. There, I can point out my architectural concerns. I specify the design constraints and technologies that are to be used. The main goal at this stage is to start documenting the architecture. I indicate key dates and the number and type of specialists who should be involved in the work.
The specialist continues working with the team on the architecture, helps developers understand it, deals with documentation, and communicates with the business.
4. Project audit
This is the stage for the IT Architect to assess the level of risks and document them. I also conduct meetings and training with the customer's team so that the business understands how the work is going.
My career path
Sooner or later, a developer who has gone through the trainee-junior-middle-senior career steps faces the question: "What to be ambitious for next?" Usually, there are three options: to become a Manager, a Tech Lead, or an IT Architect. The last is possible when you have 5+2 work experience, the necessary soft skills, and completed courses or years of self-study. But first things first.
What does the 5+2 requirement stand for? In order to become an Architect in the realities of our market, you need to have at least five years of development experience plus two years of work as a Team or Tech Lead. Why such levels and terms? As a rule, over five years, a specialist manages to participate in many projects. As for experience as a Team or Tech Lead, having tried this role, a person learns to be responsible not only for themselves.
When I was a second-year student, I started working as a Junior programmer on internal projects of the Department of Information and Telecommunication Networks. Then, by a lucky accident, I got into Microsoft's startup support program.
At that time, I began to work as an outsourced developer for an American company. When working there, I learned to interact with different teams. I got acquainted with Java mobile development for the Android platform under the guidance of a very smart Team Lead. There, I grew to the role of Middle developer.
Then, I was hunted by another company, where I took part in several large projects in four years: Rostelecom, TsquaredInsights, Peakwork, CashOn and Siemens. In 2018, I was given the opportunity to choose a particular team and act as a Tech/Team Lead. My duty was to select technologies, design an application, draw its architecture, distribute tasks, and monitor the activity of developers.
About the role of self-study and courses
From the very beginning of working in outsourcing, I planned my future and clearly knew what I wanted and what technologies I should learn.
I studied a lot of books. For example, I got acquainted with the book by Andrew Hunt and David Thomas - The Pragmatic Programmer: From Journeyman to Master. I read The Phoenix Project, A Novel About IT, DevOps, and Helping Your Business Win by Gene Kim, George Spafford, and Kevin Behr. And, of course, I read the “Bible” of IT Architects - the book by Len Bass, Paul Clements, and Rick Kazman - Software Architecture in Practice (SEI Series in Software Engineering). I also looked through articles from various resources on how to correctly build your path from a programmer trainee to a master.
An important contribution to my development as an IT architect was made by a professional course from the company where I work. We studied the role of an Architect on a project from scratch: how to correctly receive and analyze information from a customer, how to create and document architecture on a project, what types of architecture exist.
An IT Architect is not expected to have deep knowledge of a particular programming language. But due to their responsibilities, the specialist needs to be able to understand the meaning of a language, technology, or system in the shortest possible time.
About the importance of soft skills
An IT Architect should possess all soft skills. It is important for an Architect to develop them at the maximum level, since the specialist will have to communicate with the development team and the business, being a kind of bridge, through which information will flow.
Without flexibility, communication and negotiation skills, the work will be difficult. It is very important for an Architect to be able to freely express thoughts and prove their point of view to opponents.
From Application Architect to Solution Architect
As an IT Architect, I have worked on three projects: Peakwork, CashOn, and Siemens.
On the first project, I joined the team as a Tech Lead Senior developer, but I also took over the design of one application. I drew diagrams, was responsible for documentation, programmed, and developed code. There, I acted as a novice architect - Application Architect. This is one of the first stages of becoming an IT Architect.
Currently, I’m working on two projects: Piton and Siemens. I joined Piton when it was in the implementation phase. The project has a number of challenges: we need to change the very approach to development, deadlines, task planning, infrastructure issues, and make other important adjustments. At Siemens, we are engaged in automating ordering processes.
My next step
I plan to further develop my skills: get an IT Architect certificate and deepen my knowledge in different languages and platforms. Now I'm more of a Back-end engineer, but I also want to learn front-end development. Since last year, I have been increasing my knowledge of clouds.
Of course, there is no universal instruction on how to become a master of architecture. I have tried to tell you what the path from Junior developer to IT Architect could be. By following the basic requirements (the 5+2 experience, development of soft skills, education, and self-study), you will bring your dream closer to reality.