What’s the difference between back-end (BE) programming and front-end (FE) programming? For that matter, why does it matter? These are key questions many people thinking about getting into coding ask themselves and I will try to answer them on this page.
To start, BE programming focuses on server-side or console-based applications, i.e. things most users don’t want to deal with. FE programming involves a graphical interface of some sort, whether a normal desktop program, a web browser, or something else besides a text-based interface.
For purposes of this article, I’ll define BE as anything that doesn’t have a graphical interface, i.e. browser, app, or desktop GUI; I also consider FE to be primarily web development, unless otherwise indicated.
Also, I’ll state that everything here is my opinion, based on my experience. I’m a self-taught programmer who spent ten years as a hobby-developer before I got a full-time developer position, so my world-view will be very different from someone who has a CS degree or otherwise started programming after graduation.
My Personal Programming Story
I’ve spent most of my programming years in BE development. While I am familiar with FE development, it is primarily via older tech, i.e. pure HTML/CSS web sites, legacy GUI frameworks, etc. I just don’t have a need to do a lot of FE development. My current job is making computer models and simulations; the software is either a network emulation suite or pure Python code, so I don’t have to deal with making a web interface or GUI applications.
I actually started my self-guided journey by learning web development, HTML4, and hand-coding websites. After a few years of that, I enrolled in a computer engineering degree. Unfortunately, I hated it! As I learned C, C++, and J++, I didn’t understand object-oriented programming and the books jumped into it without useful explanations, and C (which doesn’t use objects) seemed to involve writing far too much repeat” code to get things done