Frontend vs Backend Complexities

Andreas
3 min readMar 23, 2020

--

[2020–03–22] In terms of delivering a product, lately I have the opinion of how frontend is more complex than backend. Yes, this could largely be biased due to most of my role are tightly coupled with backend as the forefront of the product’s value proposition such as the Payment Related APIs and large-scale e-commerce backend services which I recently related with.

The reason I feel that way is due to the numbers of services out there which are pretty much provide high-scale infrastructure which we can easily leverage upon. Services such as AWS DynamoDB, AWS Lambda, Google Cloud Functions, Firestore, Managed Container services such as EKS, ECS, etc. It’s pretty much easy to orchestrated a highly-scalable service on top of these platforms (try they getting started sections.) The complexity mostly moved from designing the infrastructure into how to make our service efficient enough so that the cost of using those platform is as cheap as possible.

Imagine back in the old-days, I still remember how I kind of invented a horizontally distributed MySQL system to prototype a data processing system to cater for 1500 TPS. It was intellectually fun, and delightful when I manage to reach that number, but a system at this complexity come along with high-cost of maintenance and management challenges especially for small company (I am writing a separate journal on these challenges as I experienced during my time managing engineering teams.)

Nowadays high-scalability of backend is pretty much solved, and frontend becomes the harder part. Frontend very much related to communication with layman, with a larger number kind of human out there. This larger audience to communicate with is the reason why I think frontend is harder. You got to think about the combination possible for the user to interact with your product, and the more expressive a product is (i.e. try to compare UI with REST API), the more combination possible.

It also becomes a prioritisation problems; how many combination and what are the probability for those to be met by your Customers for you to provide good-enough product to start your learning curve.

Now backend also have communication problem, but those are more controllable. The target market for Backend system to communicate with normally are Engineers, whose frequency of “communicating” with our Backend is lower, as it only happened during integration period or if there is any upgrade around it.

“Wait Sir — but my backend has 30 million calls per day !” — yes but those are machine calling another machine, which is an entity known for its reliability in repeatable actions ! (or at least that problem is solved during the successful inventions in Signal & System processing, digitalisation of those analog electric signal these are stuff during World War II and near-post time of it, example contributor will be Claude Shannon)

Compare this with Frontend system, which millions of clicks literally means Human clicking your UI ! Not all of these guy are Engineers, they come from various backgrounds, the behaviours are vary, and the Canvas of UI is less standardised compare to Backend API.

These differences in target audience to communicate with and the maturity of the technology and ecosystem nowadays is what makes me thing complexity in creating a product comes back to Frontend.

--

--

Andreas
Andreas

Written by Andreas

All opinions are my own, spending life in Software Industry with lovely essence as an Engineer, while assuming roles in various facets of the SDLC process.

No responses yet