A career in web development has become a popular choice in recent years, but it carries with it a lot of unknowns. In this post, we are going to explore what those career paths look like, from the most well-known to the most interesting alternatives.
What is Web Development?
Let's start talking about the term that covers everything you're about to discover. Web development refers to all those projects that use the basics of programming in browser-oriented projects with HTML, CSS and JavaScript.
Many of the tools and projects mentioned below will require you to have a solid understanding of a few main topics, but this serves as a brief guide for moving easily between technologies and fields.
What is Front End Development and What Does it Include?
This can be the first step in your career as a web developer, front end is the entire visible and public layer of a website, it consists of HTML documents that display the content, CSS to style the site, and JavaScript for all the interactions, redirects, responses to user events like clicks, certain keys, etc.
Once we grow adept in the world of front end, the next step is to learn to formalize our builds with a front-end framework or library. For this, there are many options but the most popular are: Reactjs, Vuejs, Angular o Svelte. They take advantage of the power of code that has been written and tested by other people/companies, this makes them the easiest and fastest way to develop a website and its user interface.
What is Back End Web Development?
Back end web development is a nightmare to some and a dream to others. It is, in some ways, the more complex part of a digital product. Although it is not very different from front end development, it can be more difficult due to the abstract and complex nature of the code. Currently, the two roles are close to the same level of difficulty since the front end role has to accommodate for a variety of increasingly modern technologies that perform actions in the browser.
Back end is famous for being in charge of the delicate aspects of an application such as payment processing, user sessions, security, sensitive information, and many other things. It constitutes the business logic of every product and can be quite interesting.
The ecosystem of a back end developer is more extensive since they make applications in a variety of languages. Today’s main back-end languages are: Ruby, Python, Javascript (with Node Js), Go, and PHP.
In addition to the languages themselves, there are a variety of back-end frameworks to choose from, such as: Ruby on Rails, Django or Flask for Python, Express/Koa/Nest for Node Js, etc. It is also necessary to choose and master some databases, the most popular being MongoDB, MariaDB, PostgreSQL and MySQL.
It’s interesting to note that you can develop more than just simple things in the back end, you can make things as complex as multiplayer games in real time with NodeJS.
What Can a Web Developer Do?
1. Create Your Own Game
An interesting part of web development is that, by making the decision to learn how to program, you are only a few steps away from developing a video game. The browser has tools that allow you to work with 2D and 3D graphics, so the only thing you need to create a video game is to have an idea and add the logic. That's it! There are also libraries that can help you speed up the development of your video game with support tools and even an extensive base.
By the way, in Module 1 of our web development course we build a videogame to consolidate the basic knowledge of programming. Here are a few examples from former students:
2. Develop a Mobile Application
For mobile app development, there is a wide range of language options that can be used. That said, as programmers, we have long sought to make mobile development possible not only by learning another language but by using the one nearest and dearest to our hearts, JavaScript.
2.1 Progressive Web Applications
Progressive web applications also known as PWA's are traditional web applications that act and feel like an app. One of the main advantages of progressive web applications is that they can be installed on a mobile device without having to go through a store like a Play Store. Simply open the site and you will be presented with the option to install the PWA.
Another advantage offered by a PWA is that you don't need to write another application to go from a conventional site to a PWA, you just need to add a document called a manifest which will tell the browser how you want the PWA to act once it has been installed. This way, you will be able to take advantage of the benefits of having an application with the same code that you wrote for your web. The manifest is how you will, among many other things, enable it to be visited without having an internet connection or receive notifications as in a conventional application.
2.2 Native Applications
Native applications are built to specifically run on one platform such Android or IOS. The benefit of native apps is that they allow you to access the built-in functionality of the device, often making them faster and more responsive. The downside used to be that you would need to build the app from scratch to work on a separate platform. This has changed in recent years due to innovative tools like React Native or NativeScript that make use of native components and deliver an application for both Android and IOS, with the same source code. Magic.
Having the ability to use the same language and framework/library that you use for your website in a native product for both Android and IOS platforms is incredible. It has given companies the ability to generate products quickly and efficiently while saving a lot of resources. Now, they even add support for creating desktop applications which makes it even easier for any front end developer to start building mobile and desktop applications.
2.3 Hybrid Applications
These are applications that are installed on a device and utilize elements from native apps as well as web apps and websites. They are not native applications but they mirror that functionality, an example of this model is Phonegap.
3. Create Your Own Artwork.
The world of programming opens doors into the artistic realm that are little explored but well rewarded. The world of Javascript gives access to both generative art and 3D graphics. You can start exploring generative art with tools like p5.
Also on the table is three.js, which gives life to projects like Decentraland showing us graphics worthy of a video game console in our browser!
4. Enter the World of Augmented and Virtual Reality
As a web developer, there is full opportunity to venture into the world of AR/VR. This industry is increasingly challenging because these technologies are constantly advancing. There are many tools to help developers create experiences in these formats, one of the most versatile is Viro which uses React Native to create applications that exploit the potential of AR/VR.
Another option is A-frame that allows you to create virtual reality experiences in the browser. Its code to start is just 14 lines! This makes it easy to use while allowing you to create incredibly intricate experiences. Even a virtual tour of CERN has been created in the browser with this technology. React 360 does something similar but utilizes the power of React and its components.
5. Develops Projects with Machine Learning.
Interested in creating a program that understands when it should or should not do something in response to any input? For example, training a computer to detect what position your head is in and move a character in a video game accordingly? (That's one of the demos that Tensor Flowjs has for playing pacman.)
To be effective in this field, you not only need to know how to program but you also need to have a base knowledge of artificial intelligence. This field has a higher barrier to entry, but it comes with many great rewards. We are talking about the same technology that allows cars to drive themselves but in your browser and at your disposal.
Conclusion:
These days, learning to program for the web is more than just a single path with only one way to develop and grow. It has become an intricate web, pun-intended, of intertwining paths which allows you to grow in a multitude of directions.
This wide range of opportunities is amplified when you come from another area of expertise. You will find ways to blend your existing knowledge with the new in order to create incredible things. If you want to learn how to program and become a web developer, check out our Web Development bootcamp.