Photo by RetroSupply on Unsplash
Backend or Frontend - Which is better ๐ค?
Learn what Software Engineering is like an eight-year-old.
Frontend, Backend or Fullstack? What are they?
For newbies, a vital question to answer is whether to start your career in Software Engineering as a Frontend Engineer or as a Backend Engineer. I can bet that 98% of Engineers today had to answer this same question at some point in their career, so you are not alone ๐. If you are yet to read my article on what Frontend and Backend entail, then do so quickly before you continue reading.
To start with, there are three categories of developers you would often come across:
Frontend Developers: They work majorly on the Frontend part of an application or software. A Frontend Developer could be a Mobile Frontend developer (builds mobile applications hosted on Application stores such as Google Playstore or Apple App Store) or a Web Frontend developer (builds applications that run on a web browser like Google Chrome or Safari). Some examples of technologies required to be a front-end developer include HTML, CSS, Javascript, React, Vuejs, typescript.
Backend Developers: They work majorly on the Backend part of an application or software. Some examples of technologies required to be a Backend developer include NodeJs, Php, MySql, MongoDB, Redis, Java, and Cloud technologies such as AWS, AZURE or Google Cloud Platform.
Full Stack Developers: These guys have experience with both the Frontend and Backend part of an application. In reality, while a person might be proficient with both Frontend and Backend technologies, he naturally would be heavier on one of the stacks, hence you could have a full stack developer who is Backend Heavy or Frontend Heavy.
So where do I fall?
The choice of whether to be a FrontEnd Engineer or a Backend Engineer is largely dependent on the personality and interest of the developer. If you are someone who loves to handle looks and feels or is mostly intrigued by the graphical delivery of an application, then you are a better fit for the Front end. However, if you are someone who prefers to analyze things, manage data, and deal with complex computations, then you are a better fit for the Backend.
Which is better?
Which is better? Breathing in or out ๐? Both are important, right?
Imagine you open up your banking app to sign in and all you see is something like this ๐ณ:
curl https://reqbin.com/echo/get/json
--user "name:password"
I can be certain you are just imagining what these mean!
An end user can't interpret the above command properly without some basic knowledge of the command line interface. Hence, the need to abstract this with a more interactive User interface. this necessitates the need for a Frontend or client-facing interface.
So, we can say, when thinking about the consumers of an application (your customers) we think from a User Interface point of things, however, while thinking of the actual Business Rules we would be relying heavily on the Backend. Both are reliant on one another.
What do I advise?
I'll advise that you are objective about your personality. Both stacks have their complexities hence, choose based on your interest.
Cheers!