SlideShare a Scribd company logo
1 of 14
Download to read offline
A Guide to Becoming a
Full-Stack Developer in 2018
1
Full
Full-Stack Web Development, according to the Stack Overflow 2016
Developer Survey, is the most popular developer occupation today.
It’s no wonder then that there are dozens of online and in-person
programs that will help peovple become Full-Stack Developers and
then even assist these new developers land high-paying program-
ming jobs.
Some popular online programs can be found on Lynda, Udacity, Cour-
sera, Thinkful, General ozAssembly, and so much more. Aside from
these online programs, there are also in-person coding bootcamps
that are teaching people the skills required to become web develop-
ers.
2
Stack Developer
In this article I won’t be discussing which websites or coding bootcamps
have the best web development programs, instead I will be providing a
definitive guide to what I believe are the most important skills required to become
a Full-Stack Web Developer today and land a job if you’ve never coded before. I
will be basing the list off of three things
01 02 03
A combination of what most
programs in 2017 are
teaching students.
My own personal experi-
ences from interviewing at
companies for developer po-
sitions in the past and also
interviewing potential candi-
dates for current Full-Stack
Developer positions at my
current company.
Stories and feedback from
people on Coderbyte who
have been accepted to coding
bootcamps and then proceed-
ed to get programming jobs
3
If you want to become a Full-Stack Web Developer in 2018
and land your first job, below is a reference guide with a list of
things you should learn.
The Definitive
Guide
A Full-Stack Web Developer is someone who is able to work on
both the front-end and back-end portions of an application. Front-
end generally refers to the portion of an application the user will
see or interact with, and the back-end is the part of the application
that handles the logic, database interactions, user authentication,
server configuration, etc.
4
1. HTML/CSS
The following topics related to HTML/CSS come up
often in interviews and on the actual job when
you are working.
HTML allows you to add content to a website and
CSS is what allows you to style your content.
Semantic HTML
Be able to explain the CSS Box Model
Benefits of CSS preprocessors
CSS Media Queries to target different
devices and write responsive CSS
Bootstrap
5
Below are some topics you need to understand as a Full-Stack
Developer
2.JAVASCRIPT
Understand how to work with the DOM. Also
know what JSON is and how to manipulate it.
JavaScript is the most popular language in
both Full-Stack, Front-end, and Back-end
Development. It’s the only language that
runs natively in the browser, and can double
up as a server-side language as well
Important language features such as functional
composition, prototypal inheritance, closures,
event delegation, scope, higher-order functions.
Asynchronous control flow, promises, and call-
backs.
Learn how to properly structure your code
and modularize parts of it, things like webpack,
browserify, or build tools like gulp will definitely
be helpful to know.
Although some may argue that you should be
using this less or that it’s slowly dying, jQuery
code still exists in most applications and a solid
understanding of it will be helpful.
Some knowledge on testing frameworks and why
they’re important (some may even claim that this
topic should be optional).
6
Once you feel you’ve gotten a good
grasp on HTML/CSS and JavaScript,
you’ll want to move on to a back-end
language that will handle things like
database operations, user authentica-
tion, and application logic
 Here are jobs out there for all the
languages listed .
7
3. Back-End Language
LANGUAGES
Node.js
This is a great option because
Node.js is itself just a JavaS-
cript environment which
means you don’t need to learn
a new language.
Ruby
Some popular frameworks for
developing in Ruby are Rails
and Sinatra. Plenty of programs
teach Ruby as a first back-end
language.
Python
Some popular frameworks for de-
veloping in Python are Django and
Flask.
Java
The Java language isn’t taught
so much these days when it
comes to Full-Stack Web De-
velopment, but some companies
do use Java as their back-end
and it is still a very in-demand
language
PHP
PHP is rarely taught in pro-
grams these days, but just
like with Java, it is still very
in-demand and it is a cor-
nerstone of the web today.
8
4. Databases &
Web Storage
When learning to build web applications, at some point you’ll probably
want to store data somewhere and then access it later. You should have a
good grasp on the following topics related to databases and storage.
Understand the benefits of relational data, e.g. SQL.
Learn about NoSQL databases, e.g. MongoDB.
Understand which would be better in certain situations.
Know how to connect a database with your chosen
back-end language (e.g. Node.js + MongoDB)
Understand the benefits of in-memory data stores like Redis or
memcached
Web storage to store sessions, cookies, and cached data in the browser.
Scaling databases, ACID, and ORM (all optional).
1
2
3
4
5
6
7
9
5. HTTP & REST
HTTP is a stateless application protocol on the Internet —
It’s what allows clients to communicate with servers
1. What is REST and why is it important in regards to the HTTP
protocol and web applications.
2. Best practices for designing a RESTful API. POST/GET requests.
3. Learning how to use Chrome DevTools can be extremely helpful.
4. What are SSL Certificates.
5. HTTP/2 & SPDY (optional)
6. WebSockets, Web Workers, and Service Workers (all optional)
H
T
T
P
10
11
6. Web Application
Architecture
Learn about common platforms as a service, e.g. Heroku and AWS.
Heroku allows you to easily upload your code and have an application
up and running with very little configuration or server maintenance and
AWS offers dozens of products and services to help with storage, video
processing, load balancing, and much more
Performance optimization for applications and modern browsers.
Some opinions on what a web application architecture should include.
Once you think you have a grasp on HTML/CSS, JavaS-
cript, back-end programming, databases, and HTTP/
REST, then comes the tricky part. At this point if you want
to create a somewhat complex web application, you’ll
need to know how to structure your code, how to sepa-
rate your files, where to host your large media files, how
to structure the data in your database, where to perform
certain computational tasks (client-side vs server-side),
and much more.
Designing Web Applications by Microsoft.
MVC.
Most importantly though you should try to work on projects with
people, look at codebases of popular projects on GitHub, and learn as
much as you can from senior developers.
7. GIT
Git is a version control system that allows developers working on a team to
keep track of all the changes being made to a codebase. It’s important to know
a few important things related to Git so that you understand how to properly
get the latest code that you’ve missed, update parts of the code, make fixes,
and change other people’s code without breaking things. You should definitely
learn the concept behind Git and play around with it yourself.
12
8. Basic Algorithms
&
Data Structures
This topic is somewhat polarizing in the development world because there are de-
velopers who don’t think there should be such a heavy focus on computer science
topics like tree traversal, sorting, algorithm analysis, matrix manipulation, etc.
While there are companies that practically require applicants to have a computer
science degree or equivalent, there are plenty of companies that will hire people
without this technical qualification if they can prove that they know how to develop
applications and show an understanding of the whole domain.
13
14
Improving your Algorithms & Data Structure Skills Article
Study hash tables and try to understand them on a deeper level.
This data structure underlies objects in JavaScript (dictionaries
in Python and hashes in Ruby).
Understand how trees and graphs can be beneficial as data
structures.
Understand the basics of Big-O analysis so you don’t do silly
things like create a nested loop 3 levels down if you don’t need
to!
Know when to use an object vs an array and understand the
trade-offs.
Learn why caching is so important when working with a large
amount of data. Also learn the pros and cons of in-memory vs
disk storage.
Learn the difference between queues and stacks.
It’ll be hard work learning all of this, but it’s rewarding in the end and Full-Stack Development is fun!!!
Here are some things you
should definitely learn:
1.
2.
3.
4.
5.
6.
7.

More Related Content

What's hot

ucla_curriculum_overview_12116
ucla_curriculum_overview_12116ucla_curriculum_overview_12116
ucla_curriculum_overview_12116
John Nguyen
 
Internet programming lecture 1
Internet programming lecture 1Internet programming lecture 1
Internet programming lecture 1
Mohammed Hussein
 
Html journal chris kweks (microbold)
Html journal   chris kweks (microbold)Html journal   chris kweks (microbold)
Html journal chris kweks (microbold)
Chris Kwekowe
 

What's hot (20)

Aye, Aye, API - What makes Technical Communicators uneasy about API document...
Aye, Aye, API  - What makes Technical Communicators uneasy about API document...Aye, Aye, API  - What makes Technical Communicators uneasy about API document...
Aye, Aye, API - What makes Technical Communicators uneasy about API document...
 
User Group Meeting PaperVision3D
User Group Meeting PaperVision3DUser Group Meeting PaperVision3D
User Group Meeting PaperVision3D
 
GTU MCA PHP Interview Questions And Answers for freshers
GTU MCA PHP  Interview Questions And Answers for freshersGTU MCA PHP  Interview Questions And Answers for freshers
GTU MCA PHP Interview Questions And Answers for freshers
 
PSU Guest Lecture: Database Programming
PSU Guest Lecture: Database ProgrammingPSU Guest Lecture: Database Programming
PSU Guest Lecture: Database Programming
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | Introduction
 
ucla_curriculum_overview_12116
ucla_curriculum_overview_12116ucla_curriculum_overview_12116
ucla_curriculum_overview_12116
 
KMUTNB - Internet Programming 1/7
KMUTNB - Internet Programming 1/7KMUTNB - Internet Programming 1/7
KMUTNB - Internet Programming 1/7
 
DOT NET TRaining
DOT NET TRainingDOT NET TRaining
DOT NET TRaining
 
The best programming languages for blockchain
The best programming languages for blockchainThe best programming languages for blockchain
The best programming languages for blockchain
 
Rcs project Training Bangalore
Rcs project Training BangaloreRcs project Training Bangalore
Rcs project Training Bangalore
 
Front-end development introduction (HTML, CSS). Part 1
Front-end development introduction (HTML, CSS). Part 1Front-end development introduction (HTML, CSS). Part 1
Front-end development introduction (HTML, CSS). Part 1
 
PHP Courses in Chandigarh
PHP Courses in ChandigarhPHP Courses in Chandigarh
PHP Courses in Chandigarh
 
Professional Persona
Professional PersonaProfessional Persona
Professional Persona
 
Internet programming lecture 1
Internet programming lecture 1Internet programming lecture 1
Internet programming lecture 1
 
Web designing and publishing computer studies theory lesson
Web designing and publishing computer studies theory lessonWeb designing and publishing computer studies theory lesson
Web designing and publishing computer studies theory lesson
 
Front end web development
Front end web developmentFront end web development
Front end web development
 
NLP and the Web
NLP and the WebNLP and the Web
NLP and the Web
 
Website development-osgl
Website development-osglWebsite development-osgl
Website development-osgl
 
Html journal chris kweks (microbold)
Html journal   chris kweks (microbold)Html journal   chris kweks (microbold)
Html journal chris kweks (microbold)
 
PHP is One Useful and Support for Websites
PHP is One Useful and Support for WebsitesPHP is One Useful and Support for Websites
PHP is One Useful and Support for Websites
 

Similar to The Guide to becoming a full stack developer in 2018

Learning subjects for junior level developers at Skitsanos Inc.
Learning subjects for junior level developers at Skitsanos Inc.Learning subjects for junior level developers at Skitsanos Inc.
Learning subjects for junior level developers at Skitsanos Inc.
Evgenios Skitsanos
 
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdf
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdfNode.js and the MEAN Stack Building Full-Stack Web Applications.pdf
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdf
lubnayasminsebl
 

Similar to The Guide to becoming a full stack developer in 2018 (20)

30 Skills to Master to Become a Senior Software Engineer
30 Skills to Master to Become a Senior Software Engineer30 Skills to Master to Become a Senior Software Engineer
30 Skills to Master to Become a Senior Software Engineer
 
Improve Your Business Standards with Backend Development .pdf
Improve Your Business Standards with Backend Development .pdfImprove Your Business Standards with Backend Development .pdf
Improve Your Business Standards with Backend Development .pdf
 
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxLATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
 
Roadmap to Become a Pro in MERN Stack Development
Roadmap to Become a Pro in MERN Stack DevelopmentRoadmap to Become a Pro in MERN Stack Development
Roadmap to Become a Pro in MERN Stack Development
 
Learning subjects for junior level developers at Skitsanos Inc.
Learning subjects for junior level developers at Skitsanos Inc.Learning subjects for junior level developers at Skitsanos Inc.
Learning subjects for junior level developers at Skitsanos Inc.
 
web development ppt by prakash bedage
web development ppt by prakash bedageweb development ppt by prakash bedage
web development ppt by prakash bedage
 
web development project prakash.pptx
web development project prakash.pptxweb development project prakash.pptx
web development project prakash.pptx
 
Website development courses
Website development coursesWebsite development courses
Website development courses
 
Tech Stack & Web App Development For Startups
Tech Stack & Web App Development For StartupsTech Stack & Web App Development For Startups
Tech Stack & Web App Development For Startups
 
How to choose the best frontend framework in 2022
How to choose the best frontend framework in 2022How to choose the best frontend framework in 2022
How to choose the best frontend framework in 2022
 
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdf
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdfNode.js and the MEAN Stack Building Full-Stack Web Applications.pdf
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdf
 
Over view of Technologies
Over view of TechnologiesOver view of Technologies
Over view of Technologies
 
PHP vs .NET vs JAVA : The Right Tech for Your Next Big Project
PHP vs .NET vs JAVA : The Right Tech for Your Next Big ProjectPHP vs .NET vs JAVA : The Right Tech for Your Next Big Project
PHP vs .NET vs JAVA : The Right Tech for Your Next Big Project
 
Full Stack Development
Full Stack DevelopmentFull Stack Development
Full Stack Development
 
Making Of PHP Based Web Application
Making Of PHP Based Web ApplicationMaking Of PHP Based Web Application
Making Of PHP Based Web Application
 
IT for HR professionals
IT for HR professionalsIT for HR professionals
IT for HR professionals
 
The 10x Academy
The 10x AcademyThe 10x Academy
The 10x Academy
 
Top 30 Scalability Mistakes
Top 30 Scalability MistakesTop 30 Scalability Mistakes
Top 30 Scalability Mistakes
 
Intro to web dev
Intro to web devIntro to web dev
Intro to web dev
 
Rapid Web Development with Python for Absolute Beginners
Rapid Web Development with Python for Absolute BeginnersRapid Web Development with Python for Absolute Beginners
Rapid Web Development with Python for Absolute Beginners
 

More from Amit Ashwini

More from Amit Ashwini (12)

Sample Marketing Budget.pdf
Sample Marketing Budget.pdfSample Marketing Budget.pdf
Sample Marketing Budget.pdf
 
Go to Marketing GTM template - Template.pdf
Go to Marketing GTM template - Template.pdfGo to Marketing GTM template - Template.pdf
Go to Marketing GTM template - Template.pdf
 
Covid 19-employee-manual-template
Covid 19-employee-manual-templateCovid 19-employee-manual-template
Covid 19-employee-manual-template
 
Zibtek Company Presentation
Zibtek Company PresentationZibtek Company Presentation
Zibtek Company Presentation
 
Zibtek’s Software Development Comparison Guide
Zibtek’s Software Development Comparison GuideZibtek’s Software Development Comparison Guide
Zibtek’s Software Development Comparison Guide
 
Offshore Software Development Playbook
Offshore Software Development PlaybookOffshore Software Development Playbook
Offshore Software Development Playbook
 
CognitiveClouds Customer Presentation
CognitiveClouds Customer PresentationCognitiveClouds Customer Presentation
CognitiveClouds Customer Presentation
 
Top digital predictions for 2017 & beyond
Top digital predictions for 2017 & beyondTop digital predictions for 2017 & beyond
Top digital predictions for 2017 & beyond
 
Top 4 reasons to outsource
Top 4 reasons to outsourceTop 4 reasons to outsource
Top 4 reasons to outsource
 
How to de-risk your outsourcing project
How to de-risk your outsourcing projectHow to de-risk your outsourcing project
How to de-risk your outsourcing project
 
Creating a mobile app: Concept and design
Creating a mobile app: Concept and designCreating a mobile app: Concept and design
Creating a mobile app: Concept and design
 
Infographic: How mobile will transform the future of Air Travel
Infographic: How mobile will transform the future of Air TravelInfographic: How mobile will transform the future of Air Travel
Infographic: How mobile will transform the future of Air Travel
 

Recently uploaded

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 

Recently uploaded (20)

Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 

The Guide to becoming a full stack developer in 2018

  • 1. A Guide to Becoming a Full-Stack Developer in 2018 1
  • 2. Full Full-Stack Web Development, according to the Stack Overflow 2016 Developer Survey, is the most popular developer occupation today. It’s no wonder then that there are dozens of online and in-person programs that will help peovple become Full-Stack Developers and then even assist these new developers land high-paying program- ming jobs. Some popular online programs can be found on Lynda, Udacity, Cour- sera, Thinkful, General ozAssembly, and so much more. Aside from these online programs, there are also in-person coding bootcamps that are teaching people the skills required to become web develop- ers. 2 Stack Developer
  • 3. In this article I won’t be discussing which websites or coding bootcamps have the best web development programs, instead I will be providing a definitive guide to what I believe are the most important skills required to become a Full-Stack Web Developer today and land a job if you’ve never coded before. I will be basing the list off of three things 01 02 03 A combination of what most programs in 2017 are teaching students. My own personal experi- ences from interviewing at companies for developer po- sitions in the past and also interviewing potential candi- dates for current Full-Stack Developer positions at my current company. Stories and feedback from people on Coderbyte who have been accepted to coding bootcamps and then proceed- ed to get programming jobs 3
  • 4. If you want to become a Full-Stack Web Developer in 2018 and land your first job, below is a reference guide with a list of things you should learn. The Definitive Guide A Full-Stack Web Developer is someone who is able to work on both the front-end and back-end portions of an application. Front- end generally refers to the portion of an application the user will see or interact with, and the back-end is the part of the application that handles the logic, database interactions, user authentication, server configuration, etc. 4
  • 5. 1. HTML/CSS The following topics related to HTML/CSS come up often in interviews and on the actual job when you are working. HTML allows you to add content to a website and CSS is what allows you to style your content. Semantic HTML Be able to explain the CSS Box Model Benefits of CSS preprocessors CSS Media Queries to target different devices and write responsive CSS Bootstrap 5
  • 6. Below are some topics you need to understand as a Full-Stack Developer 2.JAVASCRIPT Understand how to work with the DOM. Also know what JSON is and how to manipulate it. JavaScript is the most popular language in both Full-Stack, Front-end, and Back-end Development. It’s the only language that runs natively in the browser, and can double up as a server-side language as well Important language features such as functional composition, prototypal inheritance, closures, event delegation, scope, higher-order functions. Asynchronous control flow, promises, and call- backs. Learn how to properly structure your code and modularize parts of it, things like webpack, browserify, or build tools like gulp will definitely be helpful to know. Although some may argue that you should be using this less or that it’s slowly dying, jQuery code still exists in most applications and a solid understanding of it will be helpful. Some knowledge on testing frameworks and why they’re important (some may even claim that this topic should be optional). 6
  • 7. Once you feel you’ve gotten a good grasp on HTML/CSS and JavaScript, you’ll want to move on to a back-end language that will handle things like database operations, user authentica- tion, and application logic  Here are jobs out there for all the languages listed . 7 3. Back-End Language
  • 8. LANGUAGES Node.js This is a great option because Node.js is itself just a JavaS- cript environment which means you don’t need to learn a new language. Ruby Some popular frameworks for developing in Ruby are Rails and Sinatra. Plenty of programs teach Ruby as a first back-end language. Python Some popular frameworks for de- veloping in Python are Django and Flask. Java The Java language isn’t taught so much these days when it comes to Full-Stack Web De- velopment, but some companies do use Java as their back-end and it is still a very in-demand language PHP PHP is rarely taught in pro- grams these days, but just like with Java, it is still very in-demand and it is a cor- nerstone of the web today. 8
  • 9. 4. Databases & Web Storage When learning to build web applications, at some point you’ll probably want to store data somewhere and then access it later. You should have a good grasp on the following topics related to databases and storage. Understand the benefits of relational data, e.g. SQL. Learn about NoSQL databases, e.g. MongoDB. Understand which would be better in certain situations. Know how to connect a database with your chosen back-end language (e.g. Node.js + MongoDB) Understand the benefits of in-memory data stores like Redis or memcached Web storage to store sessions, cookies, and cached data in the browser. Scaling databases, ACID, and ORM (all optional). 1 2 3 4 5 6 7 9
  • 10. 5. HTTP & REST HTTP is a stateless application protocol on the Internet — It’s what allows clients to communicate with servers 1. What is REST and why is it important in regards to the HTTP protocol and web applications. 2. Best practices for designing a RESTful API. POST/GET requests. 3. Learning how to use Chrome DevTools can be extremely helpful. 4. What are SSL Certificates. 5. HTTP/2 & SPDY (optional) 6. WebSockets, Web Workers, and Service Workers (all optional) H T T P 10
  • 11. 11 6. Web Application Architecture Learn about common platforms as a service, e.g. Heroku and AWS. Heroku allows you to easily upload your code and have an application up and running with very little configuration or server maintenance and AWS offers dozens of products and services to help with storage, video processing, load balancing, and much more Performance optimization for applications and modern browsers. Some opinions on what a web application architecture should include. Once you think you have a grasp on HTML/CSS, JavaS- cript, back-end programming, databases, and HTTP/ REST, then comes the tricky part. At this point if you want to create a somewhat complex web application, you’ll need to know how to structure your code, how to sepa- rate your files, where to host your large media files, how to structure the data in your database, where to perform certain computational tasks (client-side vs server-side), and much more. Designing Web Applications by Microsoft. MVC. Most importantly though you should try to work on projects with people, look at codebases of popular projects on GitHub, and learn as much as you can from senior developers.
  • 12. 7. GIT Git is a version control system that allows developers working on a team to keep track of all the changes being made to a codebase. It’s important to know a few important things related to Git so that you understand how to properly get the latest code that you’ve missed, update parts of the code, make fixes, and change other people’s code without breaking things. You should definitely learn the concept behind Git and play around with it yourself. 12
  • 13. 8. Basic Algorithms & Data Structures This topic is somewhat polarizing in the development world because there are de- velopers who don’t think there should be such a heavy focus on computer science topics like tree traversal, sorting, algorithm analysis, matrix manipulation, etc. While there are companies that practically require applicants to have a computer science degree or equivalent, there are plenty of companies that will hire people without this technical qualification if they can prove that they know how to develop applications and show an understanding of the whole domain. 13
  • 14. 14 Improving your Algorithms & Data Structure Skills Article Study hash tables and try to understand them on a deeper level. This data structure underlies objects in JavaScript (dictionaries in Python and hashes in Ruby). Understand how trees and graphs can be beneficial as data structures. Understand the basics of Big-O analysis so you don’t do silly things like create a nested loop 3 levels down if you don’t need to! Know when to use an object vs an array and understand the trade-offs. Learn why caching is so important when working with a large amount of data. Also learn the pros and cons of in-memory vs disk storage. Learn the difference between queues and stacks. It’ll be hard work learning all of this, but it’s rewarding in the end and Full-Stack Development is fun!!! Here are some things you should definitely learn: 1. 2. 3. 4. 5. 6. 7.