Turning You Into a Full-Stack Software Developer
Welcome to The Becoming a Programmer Series, the series dedicated to helping you become a Full-stack, Enterprise Application, Software Developer. So, what exactly is a Full-stack, Enterprise Application, Software Developer? Let us break it down a bit.
A Software Developer (or programmer) is someone who designs and builds software applications that serve a specific use case. These applications run on mobile devices, desktops, laptops, and servers. They even run inside your microwave ovens and washing machines. Where there is an application running, first there is a programmer at work.
In summary, a Software Developer builds apps. Let us now see what an Enterprise Application is.
Enterprise Applications (also called Business Information Systems or Line-of-Business Systems) are the types of software applications that you will find in most businesses around the world. They are either custom-built for a specific organization, such as the Netflix streaming app, or generic-built and used by many organizations, such as the MYOB accounting app.
A Full-stack developer is proficient in both frontend and backend technologies.
Frontend development is about building the visual parts of the applications. That is the part of the application the user interacts with via their mobile devices or laptops for example. From the user’s perspective, the front end is the application, and thus a good user experience is important to ensure the ongoing success of an application. That is why companies, in addition to front-end developers, also employ designers to ensure a good user experience.
However, behind each button click on the front end, a lot is happening behind the scenes. This is where backend development comes in.
Backend development deals with number crunching and communication with databases and other internal or external services. Without a backend, there is no application.
To see the backend at work, let us mail a vehicle insurance quotation to a prospect. To generate an insurance quotation, the backend will take all the necessary policyholder and vehicle information entered via the front end to create an XML or JSON package and pass that on via a SOAP or REST service that does the premium calculations. This service can be located anywhere in the world. Once a result is returned, the premiums are extracted, the quotation is updated accordingly, a PDF version of the quotation is generated by another service, and yet another service mails the quotation to the prospect.
As you can see from the above example, some applications are called services and do not have frontends. Services are usually called by other applications instead of users.
People with an eye for design are usually drawn towards front-end development. Others may be more drawn towards backend development. However, I believe that, even if you decide to specialize, it is important to have a good working knowledge of both frontend and backend development.
So that is my goal with this website - to teach you to become a programmer, proficient in both frontend and backend technologies.
Next, I will discuss the challenges you will face when starting out learning to become a programmer.