Why Should You Consider Becoming a Full Stack Developer
We live in a world that is more connected than ever before. We spend more time on social media, Amazon, real estate websites, how to websites, YouTube and other sites, than we do watching TV, going to movies, real life socializing and other activities.
The world saw a photo of Jeff Bezos when he first started Amazon, the website that would propel him to become the world’s wealthiest person with a net-worth over 100 Billion Dollars.
When you look at the Forbes List of the world’s wealthiest people, the tech industry is where a large portion of those billionaires, make their money. Maybe that has made you wonder whether you should learn how to code.
Maybe you’ve heard the news that there’s a massive shortage in the programming and development space numbering a shortage of around 1 million jobs, that need to be filled now and in the immediate future, in order to keep pace with the advancements taking place in computing and keeping people connected.
Or maybe you’re in high-school, college or looking to change careers and want to do some research on the prospects of becoming a coder or web developer.
Becoming a Full Stack Web Developer can open you up to some great opportunities and prepare you for an ever changing landscape.
Okay, So What is a Full Stack Developer?
A full stack web developer is an individual who knows various coding languages and technologies used to create dynamic websites. These include server side & client side code in conjunction to create a fully functional, feature rich website.
What Tools do Full Stack Developers Need & Use?
A full stack developer will need various pieces of technology. Most of which you likely already have.
- A laptop – it can be any operating system. Windows, MacOS & Linux are all great to use.
- A Developer friendly Browser. I like both Chrome and Firefox since they both have great developer tools
- A Text Editor or IDE aka Integrated Developer Environment. The best free ones are Atom & VS Code
- A web server for dynamic code. There are many options to choose from like MAMP, Local By Flywheel, Varying Vagrant Vagrants or any of the other options out there.
- An Internet Connection. This is a no brainer.
- Coding Books, Videos and websites to help you learn to code.
- Lot’s of coffee
As you can see, you don’t need to invest much into learning how to code.
Full Stack Devs Provide a Valuable Service
You might think that all a Full Stack has to be concerned with is code. That’s just part of what a full stack has to consider. You also have to be knowledgeable of the value your creation provides to website owners and visitors. That’s why I’m spending time showing you other things you need to think about if being a full stack is something you’re considering.
Websites Help Connect The World
Websites Start with You and your Web Browser. While most would start talking about the coding languages used to design and develop websites, or the various pieces of hardware that need to be in place to make a website available, 24/7/365. I’m going to start off with the part that matters most, you. Without people, billions of people who use the internet and search the web on a daily basis, the web industry wouldn’t be what it is today.
Designed & Developed for Users First
Websites, when properly developed & designed, provide a seamless experience for the person visiting the website. It should display exactly what the person is looking for without any friction. This means the website should be coded in a way that looks great & loads fast, no matter the device the person is using to view the content. This all takes a lot of work & research.
Search Engines & Browsers Matter Too
Your web browser, whether it’s Chrome, Firefox, Microsoft Edge, Safari, Opera or any of the other browsers that exist, are the portals to the internet and the world wide web. You have access to more information today, than at any other point in history. You can learn virtually anything just by Googling it.
Search Engines like Google, primarily Google, have to determine which website or web page get’s the coveted spot on page one of the search engines. Search Engine Optimization is a very large topic but it can be explained very easily. The foundation of SEO is to provide quality content on a consistent basis on a semantically and well coded website.
Search engines need to be able to parse a web page to determine what the content is about. A properly structured website is just the first step, but it’s a very important one. There’s more that goes into it but you get the gist.
The Full Stack Developers Stack
Let’s start off by breaking down the various technologies that are needed for a website to function. If a website is designed and developed right, then you won’t ever think about the various technologies involved or what it takes in order to make it all work. If it’s designed poorly, then you will quickly abandon the site in search of the website that performs to your expectations.
Validating Code for Quality Purposes
Part of my process when developing websites is to use what’s called linters. Basically, it’s a way to determine if the code I’m writing adheres to a predefined set of standards. Sometimes using a linter, especially when first learning to code can be more complicated. Fortunately there are free online tools like W3 HTML Validator that you can use to check your HTML code. Note: there are other tools for JavaScript, CSS etc.
Onto the Stack
HTML – The Skeleton of all Websites
HTML aka Hyper Text Markup Language is where it all begins. I like to call it the skeleton of a website. It might not look pretty, but it’s the first language most aspiring developers will learn.
HTML is made up of tags, attributes, elements and more that provide vital information to web browsers and accessibility tools. You have various areas on a web page such as the:
- Head Section
- Body
- Header Area
- Nav Section
- Article Section
- Aside or Sidebar
- Footer Area
- and more
HTML Example
<!DOCTYPE html>
<html>
<head>
<title>HTML Tutorial</title>
</head>
<body>
<header>
</header>
<nav>
</nav>
<article>
<h1>This is a heading</h1>
<p>This is a paragraph.</p>
</article>
<aside>
</aside>
<footer>
</footer>
</body>
</html>
HTML is not difficult to learn. You can likely pickup the basics over a weekend of dedicated study. In one week you can start piecing together a basic web page. In the course of a month, you can confidently say you know enough HTML to move onto the next part of a Full Stacks arsenal.
CSS – Adds Style to a Website
Once you get passed HTML, you will notice that there’s not much style to your creation. That’s where CSS aka Cascading Style Sheets come into play. This is what’s used to add color, layout, fonts and more.
A properly styled website can really make your website shine. Some sites are so well styled that they can get the highest award a website can ever receive from the WebbyAwards.
There’s so much you can do with CSS to make your website look visually appealing. You can even add some dynamic functionality like hover effects and transitions that used to strictly be JavaScript territory.
CSS Example
body {
background: red;
}
h1 {
color: white;
text-align: center;
}
p {
font-size: 20px;
}
You will find that CSS is more complex than HTML and will take more time to learn. That being said, you can typically learn the very basics of CSS in one week of dedicated study. With two months of practice, you will find that you can now make your very basic HTML website look good enough to showcase online.
Note: HTML and CSS can only do so much. There will be features like functional Forms and dynamic content, that your website will be missing. That comes in the next few languages covered.
JavaScript – Adds Client Side Dynamic Features
JavaScript is one of the fastest growing and most sought after languages when it comes to web work. JavaScript is used to add dynamic features and functionality to a website. JavaScript aka JS, is best known as a client side scripting language which means it’s code is run in the browser as opposed to other languages that I will cover.
You can use JavaScript for client side form validation (true validation & sanitization should take place on the server). You can also use it to dynamically change what’s displayed on the web page based on various factors.
While JavaScript isn’t the hardest language to learn, it is more difficult than HTML and CSS. You can learn the syntax of JS in about a week. But in order to get a real grasp of JavaScript, you will need to dedicate serious time each day and about 2-3 months.
JavaScript Example
<script>
document.getElementById("demo").innerHTML = "Demo JavaScript";
</script>
Server-side JavaScript
While JavaScript is best known as a client side scripting language, you can also use it on the server side as well with NodeJS. This is becoming more popular with developers since it reduces the amount of languages it takes to learn Full Stack Web Development.
I enjoy using NodeJS along side Gulp to automate my workflow Developing WordPress Themes
In this video, I share with you how to use NodeJS and Gulp.
PHP – Server Side Code
PHP is a server side coding language used by over 80% of modern websites. It’s used by big Content Management Systems like WordPress, Drupal and Joomla. PHP is also used by large websites like Facebook, Wikipedia, Mailchimp, Taxact and more.
PHP is used to dynamically generate content based on the page requested. PHP helps you to template your website and make it more modular. This means you can keep each file shorter and easier to maintain.
PHP is one of the best documented coding languages and there’s a vast amount of tutorials online to help you learn to code with PHP. You can use PHP to do proper form validation & sanitization. You can use it to connect to a database which I’ll cover in a few. PHP is a great choice for a Full Stack to learn.
PHP Example
<?php
echo "Hello World!";
?>
Learning PHP will take even more time. Typically a few months will be needed to learn the basics.
Why do Some Developers love to hate PHP?
Since PHP has been around for such a long time, it has become the target of negative comments and disdain from some developers. Most of the reasons are based on PHP’s performance in years past. Others comment on all the legacy code that’s still out there that causes issues.
Modern PHP is Fast & Secure. Since PHP is actively developed and has a large community behind it, it has evolved over the years to be extremely fast and secure. As long as you follow best coding practices, you won’t run into many issues with PHP.
Note: most issues tend to arise because of poorly coded websites.
Python – a PHP Alternative
While PHP is a great server side coding language, it’s not the only game in town. Python is a very popular language that has a large community behind it.
Python Example
x = 1
if x == 1:
# indented four spaces
print("x is 1.")
While PHP is specifically used as a server side coding language for websites, Python is a General Purpose Coding Language that you can use to create Websites, Desktop Apps, and what’s making Python even more popular is it’s use in Machine Learning and Artificial Intelligence.
Python is also what’s used in the majority of Computer Science Programs at major universities. Python is also a language you will want to spend serious time learning. A few months will be needed to learn the basics.
PHP vs Python
So which language should you learn as a Full Stack? The gist of it is this. If you want to focus purely on developing websites, then PHP is the best choice since it’s what’s used by over 80% of dynamic websites. If you want to venture into creating desktop apps, websites, Machine Learning and Artificial Intelligence, then Python is what you should learn.
SQL Databases – Used to Organize Data & Content
When you add a database to the mix of languages used, you will take your website to the next level. A database management system like MySQL or MariaDB will make your website even more dynamic.
To best explain what a database is, consider it like Excel, just leaps and bounds more powerful. You can store things like user information, passwords, demographic data, content for blog posts and pages and more in a database.
SQL Example
SELECT column1, column2, ...
FROM table_name;
MySQL or MariaDB is used in conjunction with a server side language like PHP or Python. When a person visits a website, they will be served a page based on the HTTP request made. The results of that page can include static content or dynamic content.
Databases are typically coded in a language called SQL aka Structured Query Language. This will take time to learn but it’s worth the investment in time and effort to learn. I recommend about 3-6 months of dedicated study in order to get the hang of SQL
Other Languages, Technology & Tools used by Full Stack Developers
While the languages I mentioned above form the general arsenal of a Full Stack Web Developers Tool-set, there’s always more to learn. Below is an incomplete list of other areas to focus on if you’re interested in becoming a full stack developer.
- The Linux Operating System is what’s used on the majority of web servers. You should get familiar with the Command Line.
- Apache or Nginx is the server technology used for websites.
- Frameworks & Libraries – while coding a website from scratch is doable, there’s no need to do so. You can use front end and back end frameworks and libraries that help to streamline your workflow. Examples are Bootstrap, Foundation, Laravel, jQuery, React, Angular, VueJS and others.
- Automation with NodeJS, GulpJS or Webpack. Once you’ve learned the basics, you will find that you spend a lot of time doing very simple, time consuming tasks. Learn to Automate.
- Cyber Security – You hear about hacks taking place on a daily basis. You should dedicate serious time to becoming security conscious. Stay up to date on how to secure your website, web server and yourself in general.
This list can go on and on.
Full Stacks Developers are Full Time, Never Ending Learners
After reading this article, you will find that there is a lot to learn. You will also find that it takes a lot of time to learn the various aspects of full stack web development. Another thing you should know is that you will likely never know it all.Once you learn something, it will likely change in some way.
Continuing Education for Full Stack Devs
You will need to continue learning and enhancing what you already know. The beauty of web development is you can learn simply by reading the free online documentation for the language you’re interested in. You can also find a never ending stream of videos on YouTube.
Unlike other professions that have steep costs and fees for continuing education, being a web dev is very cost effective. It’s affordable to anyone who has a laptop and internet connection.
So will you consider becoming a full stack web developer? Is this something that interests you? Those are questions only you can answer. Hopefully you found this article helpful. If you did, please feel free to share this post with others, and let’s connect on Social Media. Thanks for reading.