Let's Get Technical

A 2015 study estimated that .5% of the global population knew how to code. Although investments in STEM and computer science education have ramped up in the last few years and the younger generation is starting to experiment with programming at an earlier age, the total amount of programmers is still shockingly low, given the amount of demand there is in the job market.

I recently completed a twelve week front-end web development course. On the first day, I was floored when a ten year old girl waltzed in and plopped herself in the front row ready to go. By the second week, it was blatantly clear that she was picking up concepts better than 90 percent of the class. We are now entering the shift where Javascript and Python electives will be offered in place Biology and Chemistry. By the time that current middle schoolers are graduated from college and working, those who don’t know at least basic technological concepts will be at a severe disadvantage, regardless of what industry you specialize in.

The average American spends nearly 24 hours online per week, yet very few understand how the internet works or what powers all of the software applications that we have all grown to love. Here I will break down some of the five most basic, but important aspects and concepts of web development.

Front End

The part of the website or application that we can see and interact with. The images, design, text, buttons, animations. Users interact with the front end (clicking a link for example) and this information is sent to the back-end, which processes this request and then updates the front-end (showing you whatever the link you clicked was).

Back End

The hidden, behind the scenes part of the website or app. The backend stores and processes information which is then sent back to the users browser (front-end). Things like user data and passwords are stored in the back-end. All of this back-end data is stored in a database (think giant excel sheet) which lives on a giant supercomputer, also known as a server.

Let's say you are typing your email address into a form to subscribe to my newsletter. You type out your email address in the form on the front end. Once you click the “Subscribe” button, your browser makes an information request to the server, the server stores and processes your data in the database, and returns the information you requested in the form of a confirmation message on the front-end.

UI (User Interface)

A type of design that focuses on visual aesthetic. Images, styling of buttons, fonts, animation, layout etc.

UX (User Experience)

A type of design that focuses on making the app seamless and easy to use. Utilizes consumer behavior and psychology to adjust how the webpage is arranged.

API (Application Programming Interface)

A way for apps to communicate information between each other or a way to get an app to do something without coding it yourself. All of your favorite apps probably use APIs without you even knowing. Uber uses Google Maps API for their maps and location services. Ever log into a site using Facebook? That site is using the Facebook Log In API.


HTML (Hyper Text Markup Language)

This language is used to write the front-end of web pages, letting the user create headers, links, buttons, images and other elements. These elements are written as <header>, <button>, <img>, and are often referred to as tags. Technically, it is not considered a programming language, as it doesn’t contain any real programming logic. If you’re ever in the mood to ruffle a programmer’s feathers, just call HMTL a programming language. Trust me, I learned this the hard way.

Fun fact: Snapchat Minis are built using HTML5.

CSS (Cascading Style Sheets)

CSS works hand-in-hand with HTML, as it is used to make your website aesthetically appealing. CSS lets you change the font and font color, background color, layout, spacing and more. Let’s say we are building a house. HTML is the structure of the house itself (the foundation, wood, beams etc). The CSS is the interior and exterior decoration. This is also not considered a programming language.

Javascript

Javascript is what makes the webpage interactive. It powers animations and determines what happens when users click, hover on, or type in certain elements. Javascript can be found on all of your favorite apps, Netflix, Spotify, Facebook, etc and is even now being used to build the back-end too.

Python

Python is often recommended as the introductory language to learn, as it is fairly easy to pick up can be used in a bunch of different settings. It is primarily used for data science, machine learning, and writing web servers.

Ruby

A popular language used for building the back-end of web apps. It is often paired with Ruby on Rails which is a web development framework that runs using the Ruby language.

© Randy Ginsburg, 2020 | Want to chat? Email me at randy@randymginsburg.com