Architects ignore the Frontend. Here's why that's a problem
In our practice at FrontenderZ, we work to make Frontend Developers' lives easier. To craft a Platform that takes away the complexity that comes with development in large enterprises, we talk to the Engineers to understand their pain points, the context switches they need to make and the DevOps tasks they're expected to perform that are outside their comfort zones. Part of the challenge of making collaboration through standardisation work in Frontend Development in enterprises, is to create a well-defined Architecture that ensures everything works together seamlessly.
In such large organisations, you often see Architecture being the responsibility of Solutions- or Software Architects. They will be the ones defining High Level Solutions (HLS) or Project Start Architectures (PSAs), making sure everything fits within the overall Enterprise Architecture and work with the Engineers in the teams to make sure things get implemented in line with the plans. In other organisations you might see the the task of technical and architectural oversight delegated to Engineering Managers or Team Leads.
At some point in their careers, all of these people have worked as Engineers themselves. They need to have this experience in order to be effective as Architects, quickly building Proofs of Concepts, designing solutions that work for the Engineers, and also to work with the Engineers being able to quickly align with them on specific implementation questions.
But here's the thing:
most of these Architects don't have experience with modern Frontend Development
And that poses a number of challenges.
First of all, it often leaves Frontend Engineers in limbo about the design specifications of the software they need to build. If an Architect's design specifies a couple of microservices, an event bus, a database and a public API, why doesn't it specify frontend services, describe the impact on state management, what client-side storage to use and what interfaces to define on the components that need to be built? How do you guarantee security, compliance, performance on the application you're building?
That leads to the second challenge. When an Architect lacks the knowledge on how to define the important parts of the architecture on the frontend, it defaults back to the team. If you're lucky, you have a Frontend Architect or very Senior Frontend Developer in your team, who is capable of taking over that task. But there's a risk that these people only look at the responsibilities of their own team and don't architect for the entire scope of the project - which may span many teams - leading to inconsistencies, reinventing of wheels and delays in delivery. An even bigger risk -especially in large organisations- is that not every team has Frontend Developers that are experienced enough to make proper design decisions in the first place, hampering the overall architecture, potentially leading to issues in security, compliance and performance, and eventually a lot of technical debt.
But the ultimate challenge we see in our practice, is that these Architects, Engineering Managers and Team Leads, while they're growing their career onto the level of Director, CTO or Enterprise Architect, they get trained in all sorts of skills needed for that next step in their career but never take the time to fill the void in their understanding of modern Frontend Development. Sometimes when we talk to CTOs and Enterprise Architects about challenges they face in their Digital Transformations, we notice that the lack of understanding of what is hard and what is possible in the Frontend, leads to incorrect assumptions, suboptimal decision making and lack of vision how to build a roadmap that takes the complete software development landscape into account.
And that is why we at FrontenderZ care about this. At FrontenderZ we believe enterprises need to understand that modern Frontend Development is a discipline of its own with different workflows, tools and choices to be made. And all of these need to be aligned with the overall Enterprise Architecture. That's why a Frontend Platform needs to be part of Internal Development Platforms. In practice however, most decision makers don't see this need, simply because they lack a basic understanding of how a well Architected Frontend landscape can dramatically improve time to market, decrease security incidents, and increase employee happiness through a great Developer Experience.
So what do we do about this? Should we impose a mandatory 6 month internship as Frontend Developer for everyone who wants to Architect anything for your organisation? Obviously not. The first step towards a solution is to recognise that this lack of understanding is a problem and a risk for your organisation. Step two is to start the conversation with the Frontend Developers in your teams and try to bridge the gap. Then again, you don't know what you don't know or what you need to know.
To that end we've developed a training called 'Frontend Architecture for Backend Architects'. This two day training is intended to kickstart your journey into understanding the essentials of Frontend Architecture. If your development background has mainly been in backend development in Java, Python or something similar, or your experience with Frontend ended when your Serverside code spit out HTML, or you've tinkered with jQuery long ago but don't really know what these Frontenders do these days, this training is for you. On the first day it will mostly be theory, you'll get an assignment as homework, and the second day will be an interactive workshop centered around the assignments.
Are you able to guide your entire team through the software design you just presented? Or are you ignoring your Frontend Developers again? It's time to start owning your entire solution, Backend and Frontend!