Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
August 13, 2020 06:43 pm GMT

BREAKING INTO WEB DEV - THE NO JARGON GUIDE - ARTICLE 3 - WHAT EVEN IS WEB DEVELOPMENT?

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.

Im 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? thats this one!

Ive got a surprised planned for number 4 but after that Im all out let me know if theres anything youd like to know about

Theres 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, Im 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 (dont worry well go over what these are below).

The tech industry continues to grow as do the various job titles and niches. As a newbie youll see guides that say if you want to be a X developer learn x, y, z. Thats 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 dont know which area youre aiming for because you probably dont 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. Theyre like websites with all the functionality of an app and you dont have to download them from the app store to access the content, its 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 theres nothing to say you cant 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.

Its 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 Kubws JavaScript Games
  2. Codecademy
  3. PluralSight
  4. Udemy

Data Science

Creating complex algorithms to help businesses interpret large amounts of data, youve 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 youre now thinking about iRobot and exciting things like that but unfortunately AI isnt always that exciting

Imagine trying to learn JavaScript, you try to write something on your own for the first time but you cant 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 youll 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 thats 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 youre shopping for clothes, the recommended products section? Yeah, thats AI, its 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 GETS 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 its important to have a refresher here

REMIND ME, WHATS 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 couldnt 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

OK SO WHATS A CLOUD DEVELOPER?

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, its 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, Id check the learning resources below for getting started with AWS.

Ive 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 Steenmans 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 @DoomHangerNG
  2. IBM
  3. YouTube

Original Link: https://dev.to/lauracharvey/breaking-into-web-dev-the-no-jargon-guide-article-3-what-even-is-web-development-5728

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To