Over the past couple of years it seems that developers have created a dichotomy: Front end versus back end.

I’m not much for dichotomies because there are almost always shades of gray. However, because of the popularity of the front end versus back end polarization, I am frequently asked:  Should I become a front end developer or a back end developer?

As with most things, the answer isn’t easy nor binary. Most of you reading this blog are new developers and, in my opinion, this is not the past of your career to find a specialization.

What is Front End?

Front end development is as old as the web browser– maybe older.

Front end developers write code that is generally procedural in nature and runs within a web browser.  The front end is, essentially, everything that happens within the web browser.  The browser actually does more work than you might suspect at first.

The job of the browser is to render content sent to it from a server or contained in a file. That content can be static or interactive or a combination of the two. Static content is simply rendered according to the HTML code that wraps the content itself. CSS (Cascading style sheet langugae) is used to determine the appearance of content.

However, increasingly over the last two decades, content displayed in a browser has become interactive– to the point where we can now run full applications in the browser window.  Just about anything interactive within an application that appears in a browser is written using the Javascript programming language.

Initially, Javascript was used for web gimmicks– roll overs, drop down menus and other eye candy was produced in Javascript.  Few took the language seriously because, at first, it was just used to produce effects in the browser.  Now, with complex applications using Javascript for everything from animation to database interactions, to server and socket communication, developers are taking the language more seriously.

A front end developer’s purview generally stops at the web browser.

What is Back End?

Back end developers generally interact with several layers of an application.  Back developers may do the “heavy lifting” associated with an ecommerce application or a customer management system.

Where back end becomes important is in applications where users interact with other systems (such as a product catalog, or payment gateway) or other users of the system.  This blog which you’re reading uses WordPress, a common content management system, written in the PHP language.  The majority of work for the folks who develop WordPress is on the back end.  Much of the WordPress application depends on interacting with a large database.  Database interaction is always the domain of back end code.

One thing that makes front end easier for new developers when looking at the front end versus back end dichotomy is that while front end uses only Javascript, there are a multitude of back end languages you might use.

PHP is the most common back end language and works, most often, with the mySQL database.  PHP is not all that difficult to learn as it uses the common C-style syntax.  However because of the number of different types of tasks that developers complete with PHP, the language has a vast command set.

Other back end technologies includes .net, Java, Ruby.  Over the past several years, Javascript has become a common back end language too in a from know as Node.js.

What is a Full-Stack Developer?

Full stack developers are hybrids who work on both the front and and back end of an application. This is the approach that we recommend you take.  Full stack developers can work on both front and and back end as needed.  While front end versus back end programming specialization is required for larger, enterprise level systems, as you get started, a full stack approach will  give you exposure and experience on both sides of development.

LearnToProgram’s Certified Web Development Professional program  takes the full stack approach, allowing you to learn enough front end and back end development to complete most small to medium projects.

So, in essence, don’t let yourself get pigeon holed as a front end or back end developers– at least until you have a bit of experience.  “Front end versus back end” is more an imaginary division than a career division you have to navigate.

Leave a Reply

Your email address will not be published. Required fields are marked *