DEV Community

Discussion on: How Architecture Improved My Coding Skills

Collapse
 
markentingh profile image
Mark Entingh

When working on a team, architecture is critical to various aspects of our daily routine. I've worked on teams that had to navigate through poorly developed projects and have found that we tend to complain to each other about how frustrating it is to accomplish simple tasks. Our morale had diminished over time and everything took 2x to 10x the amount of time to develop compared to projects where I had complete control over the architecture. Even though we were paid well and didn't have to spend any overtime at work, we were burnt out from the frustration of debugging overly engineered code with twice as many layers of abstraction than should be required for a web application. Not only did we have to work with such horrible code, but our managers had no development experience and would refuse to approve time for the team to overhaul projects that were started by toxic ex-employees who had no clue what they were doing when building the initial architecture. Without proper architecture, one year worth of estimated development time can turn into three years full of unneeded stress with sprints that are made up of 75% bug fixes.

My optimum architecture includes ASP.NET Core Web APIs that are called from a single-page web app which uses a micro JS library to handle AJAX calls, a Business Logic Layer (BLL) in C# called from the Web API, and Dapper at the Data Access Layer (DAL) that communicates with SQL and is executed exclusively from the BLL.