loading...

Breaking into Web Dev – The No Jargon Guide – Article 3 – What Even IS Web Development?

lauracharvey profile image lauracharvey Updated on ・15 min read

Alt Text

Table Of Contents

Introduction

Breaking into the tech industry as someone over the age of 25, who didn't study computer science in school was intimidating.

I’m 29 years old, the extent of my ‘tech’ education in school was building a website using PowerPoint – yes – you read that right – PowerPoint.

I bumbled my way through life, knowing tech was something that I was interested in but that I always thought was out of my reach.

If you are reading this and you are feeling like I was, I am here to tell you…

Tech is for you! And I am on a mission to help you make the best start.

About this Blog

Welcome to my blog – a series of articles for newbies aimed at explaining things that I found challenging in very plain English so that they will be a breeze for you (hopefully).

As a newbie I often find the guides I am reading have this element of tech "stuff" I am just expected to know about. They all seem to assume prior knowledge or knowledge around the subject, so I created this blog to help guide you through the things I found tough.

I am open to feedback so please, leave me some below or reach out to me on Twitter. I am also keen to cover the topics that you will find most useful so if you have got a burning question/worry get in touch and I will try and include it in this series.
This is article 3. I ran a poll to get an idea of which topic to cover first, the vote came out as:

  1. Git/GitHub – read this here
  2. Hosting/Domains – here
  3. What even is Web Dev? – that’s this one!

I’ve got a surprised planned for number 4 but after that I’m all out – let me know if there’s anything you’d like to know about 😊

There’s also a poll going on Twitter today (13/08)

A couple of notes for the reader

Navigation - you can read this guide all in one or use the contents list above to jump to the sections you need.

This guide is intended to give aspiring web developers a one-stop-shop to learn about different areas of the tech industry, languages, frameworks and roles.

I have tried to explain everything very simply, if you feel patronised, I’m sorry but as someone who found other guides too technical, I wanted to try a no jargon approach.

Ok if you are still with me, lets dive in.

The real Juicy Stuff…

Learning Outcomes

By the end of this post, I hope you will be able to:
• Understand what Web Development is
• Understand a little bit more about the tech industry
• Understand the different roles available in the industry
• Understand the different language/frameworks
• Have some cool resources to make a start on your learning

So, what even IS Web Development?

Web Development used to be thought of as just the development of websites but as our online lives have grown, the definition of web development has become broader. Now days it is used as a very general term to describe the development of anything web related things like websites, web applications, progressive web applications (don’t worry we’ll go over what these are below).

The tech industry continues to grow as do the various job titles and niches. As a newbie you’ll see guides that say “…if you want to be a X developer learn x, y, z”. That’s all well and good if you know the pathway that you want to go down but if, like me, you picked up coding because you were bored you probably don’t know which area you’re aiming for because you probably don’t know about the possibilities.

So here it is, a comprehensive guide to areas of the tech industry involving programming, the possible job types and titles, the languages and frameworks most used in those areas and how to get started with your learning.

Web/Web Applications

The development of content based on the web including websites and web applications.

Web Application (Native Web Application)

A web-based application where the viewing area (user interface) must be downloaded to your device. The application is accessed via the internet and uses web-based languages and servers – they need an internet connection to work.

In the olden times (say, before 2005), you needed to buy expensive software on a CD and all the data for that software was stored on your device. Now you can have hugely powerful programs on a tiny device as all the data is dealt with remotely.

Examples of Web Applications

• Twitter
• Waze
• Netflix

You may have also seen the term ‘progressive web applications’. These are a new type of web application that combine web and mobile technologies to give the user quicker access to the service. They’re like websites with all the functionality of an app and you don’t have to download them from the app store to access the content, it’s available on the web and has the look and feel of an app.

Examples of Progressive Web Applications

• Twitter Lite
• Pinterest
• Starbucks
• Spotify
• Uber

Roles and their Responsibilities

Front End Web Developer

Deals with what the user sees and interacts with, depending on the size of the company, sometimes the FE developer will also be responsible for the design of the content but in larger organisations, the FE developer is given a design by the design team and is just responsible for creating the lines of code to bring that design to life.

Other Job Titles May Include:

Front End Web Designer
Junior Front End Developer
Senior Front End Developer
Front End Designer
Front End Engineer

Languages Used by a Front End Developer

• HTML
• CSS
• JavaScript

Frameworks & Building Tools

• React
• Vue.js
• AngularJS
• WebPack
• Bootstrap

Extensions

• Saas (Syntactically Awesome Style Sheets)

Resources for Learning

  1. freeCodeCamp
  2. CodeCadmey
  3. Udemy
  4. YouTube

Back End Developer

Deals with all the behind the scenes functions, things like: servers, applications, databases, functionality, reporting, security, they also need knowledge of hosting and the cloud.

The work of a Back End Developer is never seen by the user they speak in server-side languages and deal with the data required to make the website responsive to the users requests on the front end.

Alternative Job Titles:

• Web Developer

Languages Used by a Back End Developer

• Java
• PHP
• .NET
• C#
• Node
• Ruby
• Python
• JavaScript

Frameworks

• Laravel
• Django
• Ruby on Rails
• Flask
• Phoenix
• Zend
• Symfony
• CakePHP
• ExpressJS

Resources for Learning

  1. freeCodeCamp
  2. Udacity
  3. Udemy
  4. YouTube

Full Stack Developer

Is a hybrid between Front End and Back End – they do both, a jack of all trades. Full Stack is becoming more and more common in the industry but some companies still like specialisms so do what you want to do, if you start with Front End there’s nothing to say you can’t pick up the Back End skills later.

Other Roles/Areas in Programming

User Interface (UI)/User Experience (UX)

UI and UX usually go hand in hand with each other and Front End Development, some companies will have a separate Front End/UI/UX roles and others will keep them together in one role.

It’s important to note that although some Front End Developers deal with UI/UX, they are not the same thing, UI/UX is a specialism. UI/UX is generally more design focused and deals with creating designs that are visually pleasing, easy to use, enjoyable and ethical.

UX deals with the human-first design principles and how to make the interaction with a service an enjoyable experience for the user, how easy is this service? Can the user access all the content they need quickly and simply? Is this element relevant or necessary?

UI is a digital term and deals with the look and feel of a service and how a user is going to interact with that service in practical terms. They will deal with things like buttons, icons, spacing, typography and colour schemes. They are less focused on usability and more about making a design visually pleasing.

UI/UX design requires a lot of user research, analysis, testing, interaction design and design strategy.

Alternative Job Titles:

UI Developer
UX Developer
UI Designer
UX Designer
UI/UX Developer
UI/UX Designer

Languages Used by a UI/UX Developers

• HTML
• CSS
• JavaScript
• Java
• PHP
• .NET
• C#
• VB
• Node
• Ruby
• Python

Other Tools Used by UI/UX Developers

• Adobe Creative Suite
• Adobe Xd
• Marvel
• Figma
• Sketch

Resources for Learning

  1. Bootcamps (lots of them now offer UI/UX specific course, examples: GA & Ironhack)
  2. Udemy
  3. UX Design
  4. YouTube

Games Dev/Design

You guessed it, a Games Developer deals with the development of games, these could be browser-based games, web application games or video games.

Potential Job Titles

Games Developer
Games Designer
Video Games Developer
Video Games Engineer
Software Developer
Software Engineer

Languages Used by a Games Developers

Browser/web-based Games:

• HTML
• CSS
• JavaScript

Video Games:

• Java
• C++
• VB
• C#
• PHP

Learning Resources:

  1. Ania Kubów’s JavaScript Games
  2. Codecademy
  3. PluralSight
  4. Udemy

Data Science

Creating complex algorithms to help businesses interpret large amounts of data, you’ve probably heard the term Big Data thrown around, Big Data deals with datasets that are too large or too complex to be dealt with by standard data software.

This data is extracted, analysed, and then used to inform all sorts of decisions in business. Data Science, Machine Learning and Automation work hand in hand (read more about these terms below).

As datasets grow and become more complex, the cloud is being used more and more in Data Science. You can read more about Data Science and AWS here.

Potential Job Roles:

• Data Scientist

Deals with creating data solutions – deciding how the data should be dealt with

• Data Engineer

Deals with scaling the data solution created so they can run over large datasets, they need to understand the configuration of databases

• Data Analyst

Deals with complex SQL queries and the maintenance of the data

Alternative Job Titles

• Data Architects
• Business Intelligence Analyst
• Business Intelligence Specialist

Languages Used in Data Science

• Python
• R
• Java
• SQL
• Scala
• Julia
• C++

Other Tools used in Data Science

• SAS
• Apache Spark
• BigML
• D3.js
• Excel

Learning Resources

  1. Datacamp
  2. LinkedIn
  3. PluralSight

Machine Learning(ML)/Artificial Intelligence(AI)

About teaching computers to learn and act like humans do, I know you’re now thinking about iRobot and exciting things like that but unfortunately AI isn’t always that exciting…

Imagine trying to learn JavaScript, you try to write something on your own for the first time but you can’t quite get it to work, you consult Google (the data) and then you go back to your code and finish it, next time you face a similar problem you’ll remember the mistake made or the knowledge gained and you will therefore be better at JavaScript. Repeat this in a never-ending cycle and at a really rapid rate and that’s a bit like AI.

Machine Learning is all about teaching computers to use data to make better decisions the next time around but this learning happens very quickly.

Imagine you’re shopping for clothes, the recommended products section? Yeah, that’s AI, it’s gathering data from all the shopper buying that product and data from your previous purchases to make suggestions of things that you are likely to buy.

Machine learning works with big data (described above in Data Science), using complex algorithms to analyse that data which then improves decisions made by the computer.

Potential Job Titles:

• ML Engineer
• AI Engineer
• ML Programmer
• AI Programmer

Languages used in ML/AI

• Python
• .NET
• C#
• VB
• JavaScript
• SQL Server
• Oracle

Learning Resources:

  1. Udemy
  2. FutureLearn
  3. CS50 Intro to ML/AI

Cyber Security

Is the practice of helping protect computers, servers, mobile devices, networks and data from nasty people, basically.

There are many different types of security professionals some deal with creating the security measures and some deal with trying to break them (like ethical hackers).

Some security professionals do not use code in their work and just have a very good knowledge of network security instead, I have only included those that require programming for this list.

Potential Job Titles:

• Security Software Developer

Creates software for the detection of viruses.

• Cryptographer

Develops security systems using algorithms and cyphers to encrypt sensitive data.

• Cryptanalyst

The study of analysing information systems in order to study the hidden aspects of the systems and decrypt secret messages.

• Ethical Hacker

Also known as White Hats – these are people who attack a system on purpose to check for areas of vulnerability.

Languages used in Cyber Security

• Python
• C
• JavaScript
• PHP
• C++
• Java
• Ruby
• Perl
• Lisp
• Bash
• Assembly
• Scheme
• HTML

This is where is get a bit complicated folks!

These two were left to last because I thought they were the most challenging to capture simply, I had to reach out to the Twitter network for support on these ones, so thank you to:

@jEdwardKats
@doomhammerng
@MonkeyPaddler
@gchandra
@CreativeBuilds
@madebygps
@thenjdevopsguy
@andrewbrown

For their help in understanding these concepts so I could bring this section to you!

Cloud Development/Cloud Computing

The cloud sector is growing massively as are the various job opportunities available for working in/on 🤷‍♀‍ the cloud. As of 2020 the majority of businesses use cloud services instead of traditional web hosting.

Cloud development deals with the design, building and maintenance of cloud-based systems and infrastructures.

I know we talked about the cloud last time, but I think it’s important to have a refresher here…

Remind me, what is the Cloud again?

The cloud is everywhere, essentially the cloud accesses hundreds of servers that are connected via the internet to bring you content.

It allows easier access to applications for the user, for example, if you were to download Microsoft Office to your computer, you would need a computer powerful enough to run it and a lot of memory to store the application and its data whereas, if you use cloud-based service like Google Docs, you can access the same features through the internet without the need to download anything to your computer.

Before the cloud, software applications were tied to one computer, you couldn’t access the same software or data on your PC and on your smartphone.

The cloud is not owned by anyone, it is collectively managed, and its easily accessible nature has allowed for lots of new application to be offered for free. And some older application be offered at a much cheaper price.

For example, Adobe applications used to cost hundreds of pounds and you would only get one licence, now you can access the whole Adobe creative suite for a monthly fee.

The cloud has also made it easier and cheaper for the businesses behind these applications. Companies now have a lot more choice about their backend set-up so instead of requiring a whole team of infrastructure professionals they can access all or some of these features through the cloud.

There are three types of cloud:

• Public
• Private
• Hybrid

There is a tier system for the different types of cloud services:

Infrastructure as a Service (IaaS)

This is the most basic level, you rent the back end services like: servers, storage, networks, firewalls etc.

Platform as a Service (PaaS)

PaaS includes everything from IaaS, but it also has added “middleware” with things like operating systems, development tools (easily accessible development software managed by the cloud provider), business intelligence (analytics) services, database management

Software as a Service (SaaS)

SaaS is basically for organisations using the software over a large network like Outlook, the company would rent the hardware and the software from the cloud provider so that all their employees can access the application.

There is also:

Serverless Computing

Is very similar to and crosses over with PaaS however, it is highly scalable and event-driven meaning code is only executed when necessary, so the “renter” is charged for exact usage rather than a fixed amount.

Examples of cloud computing services are:

AWS
IBM Cloud
Google Cloud

So, what's Cloud Development?

Cloud developers have many of the same skills as Front End, Back End and Full Stack developers however they design and maintain cloud systems. That includes the development of applications used on one of the services like IaaS, PaaS, Saas but also the development of those services.

Cloud computing is very complex and is still growing, it’s hard to find easy to digest guides on the subject and as it's quite new, there's lots of differing views on the topic, if you are really interested in the cloud, I’d check the learning resources below for getting started with AWS.

I’ve tried my best to describe the roles in more detail below.

Potential Job Titles

Cloud Administrator

Mainly dealing with the maintenance of current running cloud services and applications.

Solutions Architect

Deals with the design of cloud applications or services and part of a development team.

Cloud Developer

Developing cloud-based software, applications and services.

Languages Used in Cloud Computing

• .NET
• Java
• Python
• Node.js
• Golang
• SQL
• Go
• JavaScript

Cloud Service Providers (that you might wanna Google)

• Amazon Web Services (AWS)
• Microsoft Azure
• Google Cloud
• Alibaba Cloud
• IBM Cloud
• Salesforce

Other Tools used in Cloud Development

• CloudStack
• OpenStack

Learning Resources

  1. This amazing freeCodeCamp Course
  2. Microsoft Azure Certification
  3. Google Cloud Certification
  4. A Cloud Guru
  5. Danny Steenman’s blog ####DevOps

Depending on who you speak to DevOps is either a way of life or sort of does what is says on the tin, it is a combination between Development and Operations which means applications can be developed and released faster as the two teams are working together rather than for different purposes.

It used to be that development and operations were dealt with as two very separate processes, the developer would create a new piece of code and operations would then add that new feature to production (the live version).

It was found that new code needed a little bit of extra refinement to work in the live environment which would cause delays and operations teams often felt a bit lost as to what the development team had been trying to achieve which caused further issues.

With DevOps the two processes or teams are brought together so they can work more effectively. They automate a lot of the work, code is broken down into lots of smaller, more manageable bits so the changes can be implemented over hours instead of days. It also mean less errors when the new feature is pushed into live.

For DevOps there are no particular languages to learn as you can use the languages of the application you are building but you will need to be aware of these services and tools:

• NGINX
• AWS
• Azure
• ELK
• Ansible
• Chef
• Jenkins
• Docker
• Bladecenter
• Kubernetes
• Vagrant
• VMWare

Learning Resources for DevOps:

  1. Fantastic article by @DoomHammerNG
  2. IBM
  3. YouTube

Posted on by:

lauracharvey profile

lauracharvey

@lauracharvey

Front End Developer from the UK. I'm a code newbie, I write no jargon guides on subjects I've found really hard to make them more accessible for others who are just starting out.

Discussion

markdown guide
 

Nice informative post.
Just a suggestion : try avoiding capital letters for the title of the post.

 

Thanks, what makes you say that? 😊

 

Hi, Laura.

Loved the post, It hurts my eyes (personal opinion) + Screen Readers will read letters individually "B" "R" "E". It's good to keep it accessible to people who can't see.

Hope it helped.

Thanks I’m not quite sure what you mean can you give me more detail! Thanks 😊

Laura, I hope more details will help you understand.

Small part of this post

There are two problems with capitalized text in links.

Firstly, some screen readers read capitalized text letter-by-letter. And this occasionally even occurs when the HTML is in sentence-case and the CSS forces the capitalization.

The second problem is that capital letters are harder to read (for everyone, but especially people with reading disabilities).

The capitalized text has no difference in shape: all the words are just one big rectangle. Sentence capitals have differentiated shapes based on the letters used.


Small part of another post concerning the same issue.

For people with dyslexia, the ability to read and understand text can be affected by the way in which text has been written and produced.

If you are producing information to be read by others, it is important to remember that up to 10% of your readers may have dyslexia.

Dyslexia friendly text will have improved readability and better visual impact for all readers, but especially those with dyslexia.

The following are some simple recommendations to help ensure that your text is dyslexia friendly: ... Use lower case letters. Avoid unnecessary use of capitals. Using all capital letters can make it harder to read, and it can also appear that you are shouting at the reader.

That’s really helpful thank you so much for those tips! I will definitely act on them 😊🙏

 

Thanks Laura, this article is very informative

 
 

Wow! JavaScript was on just about every possible job desc - seems like for a shotgun approach to web dev, that's the most bang for your buck to learn!

 

Awesome article 👏 really concise and detailed 🤗

 

Thanks! Glad you enjoyed it!

 

Make a notice about the basic of unit testing and how to write them as web dev.
Very important to become a prof!