BlogPeople

People of Symphony starring Boris Popov: Coming to Grips with Software, Systems, and Solutions Architecture

Symphony logo
Symphony
October 29th, 2021

Meet Boris - a Solutions Architect from our Novi Sad development center. He joined Symphony with an impressive 14-year-long career behind him, bringing an array of experiences and knowledge to the table.

Boris worked in several companies discovering what suits him and learning the tricks of the trade in the tech world before coming to Symphony. It was that a-ha moment when he realized, “this is what I have been missing.” Considering how perspectives on architecture in IT differ from person to person, we are excited to share Boris’s unique views on what his role embodies within Symphony and how it developed during the last period. Let us dive deeper into the day in the life of a Solutions Architect.

Finding that missing piece in Symphony

At the beginning of his career, Boris mainly worked in the Microsoft stack and .NET technologies with a constant focus on technical development. When he became a Team Lead, his domain expanded to acquiring managerial skills, but his love and passion for the technical side of the coin remained strong, and he tried to stay in the tech loop as much as possible. “At Symphony, I found projects that were both interesting and challenging enough for me to grow in the right direction. At the same time, I felt how every internal process was made so simple and easy, leaving room to focus on work, projects, and professional development.” - Boris shared. 

“In the two years I have been working in Symphony, I have to say that I love the freedom and constant encouragement from everyone in the team. It is the combination of a pleasant and easy-going atmosphere, amazing people with a lot of experience and knowledge to share, and challenging projects that make it a perfectly balanced work environment.” - he points out. 

Boris puts a lot of emphasis on the teams he worked with and the incredible support system they established. “When we did the resourcing for one particular project, we came to a minor standstill where it was difficult to define the goals and structure of the project. Luckily, the cross-functional team worked together perfectly, and everyone was up to the task.” 

The projects he worked on so far allowed him to level up further in his pursuits. At the same time, his growth path had a natural progression, climbing to more challenging projects and expanding his skill set in order to deliver the best possible products.

The Three Pillars of Architecture and How They Correlate

One phrase you can hear a lot in the world of tech is: “It depends!” Boris explains how the nature of the project, the clients’ needs, and the team’s seniority greatly dictate the Architect’s role and tasks. While specific projects already have the architecture set up, others require you to dive deep and start from scratch. “These projects light the spark the most because you have to challenge yourself and the team in setting up the best possible environment for a product to evolve smoothly and answer the client’s needs.”

“Some projects demand a mainly advisory role, promoting certain programming strategies, while at other times, you are required to actively participate in code reviews, pipeline releases, code metrics, scrum meetings, and so on. Metaphorically, you are the root that holds the tree upright - in the loop with everything that is going on on a project, constantly involved in every step and the quality of the output.”- Boris pointed out.

A Solutions Architect is something in between - in charge of the system as a whole and carefully monitoring each step of the project evolution. Boris is a Solutions Architect on the current project, developing a very complex platform from the ground up. “It is a very challenging role that juggles many different elements, from business to research, conceptual design, resourcing, and setting up the whole architecture from scratch. Of course, it would not be possible without the input of the entire team.” 

It is important to mention another side of the Solutions Architect role, which is open and mutual communication with the client and determining the feasibility of the project based on extensive research. Domain knowledge is another crucial factor for Solutions Architects in order to predict any possible setbacks that the client might not be able to foresee. “It is a balancing act: in order to have the room to change and adapt to the ever-changing functional requirements, we implement things in a generic way. However,  generic things tend to make the implementation complex, with endless layers of abstraction. On the other hand, simple implementations speed up the time to market, the overall readability of the code, and much more. The real trick is to find the right balance between the two by doing some sort of a tradeoff analysis. It is an ongoing process of re-evaluation of the system during the development process.” 

The Architecture needs to be flexible, solid, but susceptible to adjustments as the project evolves. Your architecture changes in accordance with the requirements.”- Boris concludes.

The Importance of Knowledge-sharing

Among other things, Boris truly enjoys sharing and absorbing knowledge across many different topics relating to architecture. In a recent online Meetup, he shared his extensive knowledge and best practices concerning distributed architectural patterns with Apache Kafka. He was given just enough time and space to prepare and cover the topics he is very passionate about, and the feedback was excellent, concerning it was entirely held online. 

“I chose Kafka as the topic of our first Meetup since it offers endlessly interesting possibilities and is very successful in solving a variety of different complex problems, choreographies, and much more. It was a bit of a challenge to limit the topics to a set time frame, but I truly enjoyed it, and I hope there will be more opportunities to go deeper into topics like this one.”- Boris says.

Symphony Podcast with Mark Richards was another fantastic initiative in our Novi Sad hub. What was particularly interesting were the accompanying workshops Boris took part in, with a “back to school” approach, where all the Solutions Architects were assigned to teams and received special assignments to complete. There was a lot of talk on the scope of Solutions Architecture and the evolution it undergoes in a fast-paced IT world. In his words- ”The workshops were a great success because we dealt with the issue of relatability and how developers need to familiarize with architecture patterns, microservices, and distribution systems to understand the process itself and how their app fits in with the rest of the system.”

Boris leaves us with this final thought - ”I constantly try to push towards raising the bar in every sense, from grasping the bigger picture at the company level to listening and acknowledging every single team member and individual who makes the outstanding results possible.”