How To Bootstrap Your Career in Web Development: The Ultimate Guide
How To Bootstrap Your Career in Web Development: The Ultimate Guide
How to Bootstrap
Your Career in
Web Development
First Edition
Copyright 2015
Table of Contents
3
5
7
9
12
13
16
16
18
20
20
21
21
22
24
25
27
29
Getting Your Feet Wet: Learning the Building Blocks of Web Development
mit OpenCourseware 31
Khan Academy
31
Codecademy
32
Coursera
32
html5 Rocks
32
A List Apart
33
Mozilla Developer Network
33
Conclusion
34
Section 1
What is Web
Development?
Server: The remote computer that physically houses all the files (and thus code)
that make up the website.
With our three fundamental components identified, we can briefly examine how a website
recognizes a visiting user and ultimately displays the appropriate page for viewing. The
following diagram provides an approximate illustration of the process.
5. The server takes the data and executes the front-end code to produce a response.
6. This response is sent back out to the client where it is then displayed
(or rendered) on the client computer as a standard web page.
The end result is that Jenny is now looking at the Google homepage as expected, all
within a matter of milliseconds in most cases.
Image: Google.com
Image: Netflix.com
on the platform.
Phase 3: Development
The development phase is of course the most crucial for web developers involved in the
project, and where the majority of time and energy will be spent producing the final
product.
For most modern websites, the development process is broken down into three
architectural components that the web developer will intermix throughout the procedure.
Application Logic: Often referred to as the model component, this represents the
majority of the back-end code a developer will write to make the site function as
expected. This logic is also where a developer must understand and utilize the
connection between the site and the database that powers it.
Presentation: Commonly known as the view component, this is where the mockup
that was created during the design phase is used by a developer to recreate the look
and feel of the mockup image utilizing the basic building blocks of html and css,
such that the end result is a webpage that looks identical to the mockup.
Connection: Also referred to as the controller component, this code defines the
connections between the back-end business logic that handles the grunt work of the
site and the front-end pages that users will access: It connects the back- and frontend code together.
Front-End Developer: A developer focused on the look and feel of the site (the
presentation layer discussed above) and almost exclusively utilizing the languages
of html, css, and JavaScript.
Back-End Developer: A back-end developer writes all the code necessary for the
core logic of the website: Grabbing data from the database and molding how that
data is appropriately used and displayed to the user through the front end. Languages
commonly used for back-end development are varied, but a handful among the most
popular are Ruby on Rails, Python, php, and Node.js.
Full Stack Developer: A much-lauded position, and rightfully so, the full stack
developer is one who is adept at all aspects of the development process and is
capable of contributing code and functional solutions every step of the way, from
planning and design to both front- and back-end coding.
Section 2
Web development is one of the fastest growing and most in-demand occupations to date,
and with no sign that this train will halt anytime soon, theres no better time for new
up-and-comers to get into the field. Even if the demand for strong developers werent as
high as it is, there are even more reasons beyond the high demand to consider a career in
web development, from freedom of scheduling and choice of employer to working/living
locale and unavoidable on-the-job training.
Lets explore just a few of the multitude of reasons that a career in web development is a
sure bet for many years to come!
Web Developers
Percent change in employment, projected 2012-22
Web Developers
20%
18%
11%
The expansion is largely based on the ever-increasing drive toward eCommerce, as online
purchasing is expected to grow faster than the retail industry.
An overwhelming surge of mobile device usage is also largely a cause of this projected
growth, with a great deal of both new and existing websites requiring designs and
development that support a mobile platform.
In fact, according to the 2015 Internet Trends report, which is published annually by the
venture capital firm Kleiner Perkins Caufield & Byers, mobile device usage for digital
media consumption has handily surpassed that of traditional desktop platforms with no
sign of slowing.
5.6
Mobile ( 51% )
5
2.7
0.3
12% of
Total
2.2
80% of
Total
1
0
0.2
2008
9% of
Total
5.3
4.3
3.7
3
2
4.9
1.6
2.3
2.8
2.6
3.2
0.8
2.3
2.4
2.6
2.5
2.3
2.4
2.4
0.3
0.4
0.3
0.3
0.3
0.3
0.4
2009
2010
2011
2012
2013
2014
2015YTD
3.0
0.3
0.4
51% of
Total
42% of
Total
7% of
Total
@KPCB
Note: Other Connected Devices include OTT and game consoles. Mobile includes smartphone and tablet. Usage includes both home
and work. Ages 18+; time spent with each medium includes all time spent with that medium, regardless of multitasking.
Source: eMarketer 9/14 (2008-2010), eMarketer 4/15 (2011-2015).
10
Perhaps just as critical to those looking to get their feet wet in the field of web
development is the pay:
According to the bls, the median annual wage in the U.S. for a web developer in May
2012 was $62,500, which as seen in the diagram below, is roughly middle of the pack for
similar computer-related occupations, and well above the median across all occupations
at $34,750.
$120,950
Software Developers
$93,350
$86,170
$79,680
Database Administrators
$77,080
Computer Programmers
$74,280
Web Developers
$62,500
$61,370
$48,900
Graphic Designers
$44,150
$34,750
11
12
13
Section 3
Web development is a discipline that primarily focuses on coding, yet it also requires
knowledge and capability in a multitude of similar disciplines such as database
administration, user interface/user experience (ui/ux) design, and search engine
optimization (seo). Depending on your background and technical prowess, learning
the various disciplines to become a capable web developer may feel daunting or even
overwhelming, but the wonderful thing about web development and which makes
entering the field so amazing is that anyone can truly do it, with a bit of effort and
education.
While anyone that has the desire can become a web developer, there are a handful of
qualities and attributes that particularly successful developers will possess.
Like many other occupations, a strong web developer should be creative and thus able
to brainstorm and come up with the best solutions to a problem. A developer must also
be adaptive, being both willing and able to quickly shift gears as new technologies are
popularized. A reasonable amount of diligence is also required, displaying a strong
sense of focus and attention to detail.
Beyond those basic concepts well explore three additional qualities that are more specific
to web development itself. As we delve further into the detail of these attributes, consider
how each of these qualities relates to you. If you feel lacking in any given attribute, well
also outline some brief advice on how to improve yourself in a particular area and thus be
better prepared for a career in web development.
15
Technically Savvy
Perhaps most obviously, a web developer needs to be technically savvy. Most web
developers will spend a great deal of their work day using a computer of course, but
beyond the simple notion of being adept at computer use, there is also the need for a
strong understanding of coding/programming.
Most developers will naturally learn multiple languages over time. The key is not
necessarily learning the syntax (i.e. the required format) of any given language, but
instead to understand the principles and concepts of programming. Concepts
like true/false values, if-else logical statements, and many others are used globally
throughout virtually every language, so once a developer learns those basic ideas, they
can easily be applied to any new language, thus making the learning process far simpler.
Tips: Education and personal research are the best tools to improve your technical
savvy. Once youre comfortable with using the computer overall, begin educating
yourself about general programming structures and concepts, and then begin a
program to develop your own understanding of a specific language or two in which
you can start producing workable code. Once you have something tangible that
youve created and that you are building upon and trying to debug, youll gain a much
better appreciation and understanding of code as you move forward.
Problem-Solver
To be an exceptional web developer, one must possess an exceptional ability to consider
solutions for and ultimately solve problems. Perhaps surprisingly to those outside the field,
16
The manner in which a developer spends his or her time thinking about how to solve
problems will of course differ from individual to individual, but it is critical to the process
that this time be allotted and allowed to occur. A strong web developer is one who is
logical and has a methodical approach to resolving issues that will inevitably rise in the
day-to-day process of development.
Tips: For those that feel their problem solving skills are subpar, an easy practice to
get into that will help improve your ability to discover solutions is to apply a crude
version of the scientific method.
1. Assess the situation and identify the problem (or your best guess at the
problem if youre uncertain).
2. Create a hypothesis for how to solve the issue. In most cases, begin with the
most obvious possibilities first then work toward the more complicated options.
3. Test your hypothesis to see if the issue is resolved but more importantly, to
see if the results you expected were altered.
While this will at first feel a bit like a trial and error methodology, it serves a very
important purpose and will eventually lead to insight into the fundamental cause of the
problem and ultimately a solution.
17
Researcher
While a strong technical understanding of the code you are working with and the ability
to solve problems for yourself are crucial to becoming a strong developer, a skill that is
equally as critical to development is the ability to effectively and thoroughly research.
Due to the rapidly changing nature of the field of web development, it is only natural that
at some point in the day, a problem will arise that you simply have no idea how to resolve.
Youve tried and tried to figure it out yet nothing seems to be working and frustration
might be getting the better of you. At times like this, the absolute best resource you have
available to you is the knowledge, expertise, and efforts of other developers.
While there are a multitude of sites out there to request help from fellow web developers
such as StackOverflow and A List Apart, the absolute best research tool is Google.
because Google is likely to be the primary method for helping you solve particularly tricky
problems or to find coding resources you suspect may exist, but arent sure where exactly
to locate them.
Tips: While the simplest searches on Google are fairly straightforward, to become
an exceptional web developer you should take the time to learn the advanced
techniques of Google search to provide far better results. Googleguide.com has
a series of particularly thorough and useful guides to improve your Google search
expertise.
18
Section 4
Common
Misperceptions
About Web
Development
Like any group or occupation, web developers and the role web development is
susceptible to any number of misperceptions and stereotypes. While these labels are not
always harmful nor even applied with ill-intention, it is important that both the general
population as a whole as well as individuals interested in a web development career
understand the facts about the occupation and the environment that surrounds it.
For those not currently in the industry who wish to get a better understanding of what
exactly web development and the people who perform it are like, well explore a handful
of the most prevalent misperceptions and set them straight.
20
client.
A successful web developer will need to be adept at communication with other
developers, designers, clients, and managers to accomplish the day-to-day tasks
necessary to complete a finished product.
21
Numerous coding boot camps are popping up that offer a focused and streamlined
education to learn the ropes and get started with a web development career. Once an
individual knows how to make something functional, the expertise and portfolio begins to
grow and most employers or clients will require little else beyond that proof.
22
Section 5
Determining Your
Discipline: Front-End,
Back-End, or Full
Stack Development
As the field of web development continues to grow and expand, with the ever-increasing
breadth of technology and tools utilized for building state of the art websites, in recent
years the terminology to define a particular occupation or discipline within web
development has evolved. As the needs of companies and clients have changed, so to have
the labels placed upon, and ultimate focus of, the developers creating these final products
of the web.
24
For those that were using the web back then, we might remember this to be a fairly
modern and common style of web design: sidebar navigation with primarily static
content including a few hyperlinks mixed in.
Therefore, it comes as no surprise that the first web developers were labeled as web
designers because early website creation was largely all front-end code; structuring
html tables and other tags, along with images, to create a functional if nondynamic site.
As technologies emerged and dynamic content was necessary for most websites, the
need for a back end powered by a database arose, typically using database engines like
sql. This is also the period when the term web designer began to shift toward web
developer, as it was now necessary to do more than simply edit front-end html, but
to also code dynamic back ends that could query the database and provide relevant
information to the user.
The broad term of web developer carried on through the early 2000s until around 2007,
when use began to decline. The cause of this drop-off? Modern websites were becoming
complex enough that more specialized disciplines were necessary, as only the most welltrained and experienced web developers could manage to do everything that developers
of yore could do.
Within the last decade weve seen the emergence of the discipline-specific terms: first
front-end developer, then back-end developer, and only most recently, full stack
developer.
Front-End Development
While modern front-end development is far more complex and technical than it was back
in 1996, the core ideas remain the same: a front-end developer primarily focuses on the
look and feel of the website. This typically involves coding in three primary languages:
html5, css3, and JavaScript.
Virtually everything to do with front-end development and coding involves altering the
client-side view of the website: what the user will see and interact with.
25
as the name implies, are in charge of styling the page. This is performed
by defining selectors, which are text tags that match a particular set of
html tags from the generated html of the document. When any
matching html tags are found, the css tells the browser how to style
that particular chunk of the page. In the example below, were altering the look of all the
primary headers (h1) and all standard paragraph text (p).
26
JavaScript is a massive beast unto itself that can perform almost limitless
tasks. For most front-end development uses, JavaScript is a scripting
language that is purely client-side: Once the users browser loads the page,
the JavaScript code then executes and performs the functions it is
intended to. These potential functions are far too numerous to list, but
effectively JavaScript can alter virtually every aspect of html that has been rendered
and displayed for the user, however front-end developer desires. For example, a common
task is to cause an action when a particular event occurs, such as the user clicking inside
a contact form to enter his or her email address. Below is an example of causing (an
admittedly annoying) pop-up alert to appear when the email field is clicked.
Best suited for: Individuals with a keen eye for style, interface design, layout, art,
color palettes, and structure. Front-end developers are also very likely to interact
with non-technical individuals during projects and must be adept at communicating
across that knowledge gap about how designer or client desires will manifest into
the look and feel of the site.
Back-End Development
Whereas front-end development is all about the visual style and user interaction of a site,
the back end is where the dynamic content and core logic of the site is performed. Put
simply, the back-end code provides the data and information that is then utilized by the
front-end code to produce the expected webpage.
Unlike front-end code, which will generally be comprised using just the three standard
aforementioned languages, the back end can be coded using any of a multitude of serverside languages or frameworks. Just a handful of currently popular examples include php,
Ruby on Rails, Python, and Node.js. A back-end developer must also typically be adept
at understanding databases and how to query (retrieve data from) a common database
engine such as Mysql, Postgresql, and Oracle to name a few. With the appropriate data
collected, based on the user request or the function being performed, that data can be
inserted into the front-end code and rendered to the user.
27
For example, below we see some code from Ruby on Rails for when a user visits the
show user url (i.e. http://domain.com/users/1). The back-end code finds the user in
the database and that retrieved user record will be used elsewhere to display some user
information such as name or email.
Best suited for: Individuals with very logical minds and methodical practices.
Generally far more code-centric than front-end development, back-end developers
will write the core business logic of every application, defining how each piece or
module of the site fits together. Those who enjoy coding, solving puzzles, and have
honed their attention to detail are well suited for back-end development.
28
A full stack developer is one who combines the
ability to code both the front end and back end of a site, from html and css to serverside business logic and database integration. Full stack development may also include
integration of outside third-party tools and resources, such as a content delivery network
(cdn) which typically provides images, video, and other heavy content for a web
application.
Best suited for: Individuals with a desire to learn and to be among the most valued
developers in the industry or on their respective teams. Full stack developers are
logical, creative, and technically savvy; able to work with (or willingness to learn) a
multitude of technologies and languages. Strong research skills are a must have due
to the numerous tools that a full stack developer will engage with on a day-to-day
basis.
29
Section 6
Getting Your Feet Wet: Learning the Building Blocks of Web Development
Perhaps one of the most exciting prospects about entering a field like web development is
the ability to simply get into it right away. Unlike many professions that require months
or even years of training, with web development you can easily get started today if you
feel the fire of learning and discovery smoldering under your feet!
The best place begin getting a feel for how development works are the numerous
free, self-guided resources available around the web that cover everything from basic
programming introductions to development best practices. Below well take a look at the
cream of the crop web development resources and highlight what they can each offer you
and a selection of the best links or tools to check out.
MIT OpenCourseware ( Visit )
An abundance of self-guided courses from none other than one of the best technical
schools in the United States, mit. The mit OpenCourseware program offers an incredible
breadth of topics to learn about, including hundreds of courses relating to programming,
development, mathematics, and computer engineering.
Dont miss The great introduction to the sql database engine includes guided
narration and even personal challenges that ask you to write sql yourself to perform
simple tasks. A fun series for learning the basics of drawing and animation using
JavaScript is great for getting into that prolific front-end language.
31
Getting Your Feet Wet: Learning the Building Blocks of Web Development
Codecademy ( Visit )
Codecademy provides a series of self-guided tutorials for beginners to learn the basics of
web development programming. An in-browser, self-contained development environment
is created where you can learn the basic structures of front-end code like html and
css, before moving on to back-end languages such as Ruby on Rails and Python.
Dont miss The Make a Website and html & css programs are great beginning
points if you need to learn the basics of web structure and design. For heavier coding,
try the Ruby language tutorial followed by the Learn Ruby on Rails guide for making
a basic, functional website.
Coursera ( Visit )
Similar to mit OpenCourseware, Coursera offers a plethora of online courses from a variety
of universities around the world for free. Each course varies slightly in format and timeline,
but numerous courses are available for programming, development, and computer science
to get a taste.
Dont miss Getting Started with css Shapes provides a great introduction
into advanced css techniques that many beginners may not even realize can be
accomplished purely with css.
32
Getting Your Feet Wet: Learning the Building Blocks of Web Development
Dont miss Building Nonlinear Narratives for the Web offers great insight
into the notion that the scattered, modular nature of modern websites requires
that narratives about our content are allowed to be free-flowing and not follow
the traditional beginning, middle, end structure of storytelling. Also check out
Reframing Accessibility for the Web, which attacks some of our own inherent
prejudices about web users with disabilities and how developers can move
forward designing for accessibility, regardless of the user at the other end.
Dont miss Getting started with the Web is a great resource for beginners to
learn about how websites function, and the guide then moves onto writing and
playing around with front-end technologies such as html, css, and JavaScript.
33
Getting Your Feet Wet: Learning the Building Blocks of Web Development
Conclusion
Together in this book we began by examining what web development actually is and what
you might expect to be doing on a day-to-day basis with a career in web development.
Understanding the basic network communications between a users computer and the
server computer that houses the website, we could then better understand where web
development ties into that process and how you yourself might soon be able to create a
functional site accessible by millions of people online.
We also looked closely in Chapter 2 at the astounding growth and employment
opportunities in the web development field, from a 20% increase in hiring opportunities
over the next seven years to the exceptional starting salaries and limited education
requirements to get into the industry. We also explored the freedom available to web
developers with regards to workplace locale and even self-employment opportunities for
the ultimate freedom employment and self-reliance.
In Chapter 3 we examined the critical qualities and attributes necessary to be a successful
developer, from technical savvy and creativity to being a logical problem-solver and
becoming adept at research and information gathering. For those feeling slightly
inadequate to any extent, we also offered potential methods to improve your skills and
increase your competence in each area.
As with any profession, web development and the individuals who work in the field are
not immune to misperceptions and misinformation, so we looked at clearing up a number
of the most popular misperceptions in Chapter 4. We learned about just how abundant
the need for web developers truly is in the current marketplace and how traditional rules
of requiring a four-year college degree for hiring eligibility simply do not apply to the web
development field.
34
Getting Your Feet Wet: Learning the Building Blocks of Web Development
In Chapter 5 we examined the three primary disciplines most web developers will
consider when making a career move: front-end, back-end, and full stack development.
We explored each in detail including small code snippets and examples of how the
development needs for the industry have evolved over the past few decades to a more
nuanced and specialized series of roles for developers.
Finally, in the last chapter we explored some incredible websites and resources around
the web for getting your feet wet in web development, from interactive coding tutorials
through Codecademy and Khan Academy to articles from professionals at A List Apart
and full, free university courses from mit OpenCourseware.
Web development as a career choice has never been a more promising, exciting, and
actually possible than it is right now. Your potential for success in the field of web
development is only limited by your willingness to grow and learn. The industry is full
of success stories of regular individuals just like you who, with little to no education or
training, took that first step down the road to a career in web development and are now
successful developers with a wide portfolio and great salary to show for it.
Start your future now with Coding Dojos 14-week full stack development program,
which offers a rapid coding bootcamp to train you in a variety of full stack technologies of
your choice including lamp, mean, Ruby on Rails, Python, and even Swift for ios app
development. These astounding programs pack in everything a beginner will need to get
started with a web development career, including both front- and back-end technologies,
providing you with the tools and knowledge necessary to label yourself as a true full
stack developer.
With Coding Dojos proven track record of 92% job placement for black belt certified
students within 60 days of graduation, now is the time to apply and discover what an
amazing career opportunity awaits you in the incredible field of web development, with
the help of the coding ninjas at Coding Dojo!
35