Why You Should Learn More about Software Architecture
We recently remodeled our kitchen.
To be fair, we paid a company to do it because I’m a software engineer, and I can only build things in the virtual world.
While watching things unfold, I thought about the parallels between construction and software engineering.
It doesn’t matter how intelligent your kitchen design is and how powerful your kitchen appliances are when your roof or your pipes leak.
Bricklayers build the foundation of a room before painters and woodworkers build it on top of that foundation.
The same applies to software engineering - but with a twist.
While in the real world, we first have to build the room’s foundation before mounting the kitchen sink, we don’t have those restrictions in the virtual world.
And that’s often the cause of why it is neglected.
What does that mean?
I often see teams rushing to implement new features and unfortunately neglecting software architecture.
Sometimes, there are dedicated architects on the team, and therefore, developers don’t want to get in the way of the designated architects and let them do their work.
Sometimes, those dedicated architects don’t know what features need to be built.
Sometimes, there are no designated architects on the team, and every developer is tasked with making sure the whole thing works well together and doesn’t fall apart next week.
In the end, our software is either overarchitected, well-architected or not architected at all.
Yes, as things are all virtual, we can constantly work to improve the architecture of our applications.
That’s a great thing - and the most critical difference is between construction work in the real world and building software in the virtual world.
So… what should you do?
Next time you implement a new feature, ask yourself whether the architecture of the application is ready for that change.
Make sure the foundation for your next brick is in place.
I strongly believe that all developers are inherently architects. It doesn’t matter if you think you are - you are.
With every source code change, we either align with the current architecture, improve it, or hurt it.
Therefore, it’s vital (especially for more advanced developers) to learn standard architectural processes, patterns, techniques, and tools.
Storing Data in the Browser in Blazor
One of those architectural decisions is where to store user data. Sometimes, the browser’s session storage or local storage is where you want to put your data.
In this week’s video, I explain how to use the ASP.NET Core Protected Browser Storage in Blazor Server.