In 2008 I lost everything. By spring, 2009 I had to sell my house. I was penniless and couch surfing with friends. JavaScript turned that all around. Now I've dedicated my life to helping others learn to code. You can help! #jshomes

Important Update

In order to allow more people to take advantage of the limited
time deals, we've extended the deadline to October 11th.
Unfortunately, we're not allowed to edit the perk descriptions after
they have been claimed. Don't worry -- we'll disable them after they
expire. As long as you're allowed to purchase them, we will honor
the purchase. Thanks for your support!

All perks can be used by you or donated.

Fighting Poverty with Code: #JSHomes

In 2008 I lost everything. By spring, 2009 I had to sell my house. I
was penniless and couch surfing with friends. JavaScript turned that
all around. Fast forward to 2010, I had a great job, and I was
commuting through downtown San Francisco. One day I literally tripped
over a homeless man who was trying to sleep on a cardboard box in the
middle of the sidewalk. The conditions that homeless people are forced
to endure are shocking. They should be shocking. We
should be outraged.

How did we let this happen? How is it that we can send a rover to
Mars, but we can’t afford basic dignity and respect for the people
who need it the most? How is it that our brilliant solution to
this problem is to put spikes in doorways to
discourage people from laying down?

Ever since I personally faced the problem of finding shelter with no
income, I’ve spent a lot of time thinking about how we might solve the
problem for everybody. That’s what programmers do best: identify a
common problem and figure out how to solve the problem more generally.

You might think it’s impossible to solve a problem like homelessness.
It’s so overwhelming! But you’d be wrong. In the US, we’re in the
middle of a nation-wide initiative to end homelessness for good.

Did you know it costs more money to let somebody sleep on the street
than it costs to give them homes for free? The chronically homeless
are hyper users of social services. They’re much more likely to
require ambulance rides than people with homes, and since a homeless
person typically doesn’t have health insurance, and they can’t pay a
dime out of pocket, taxpayers foot the bill. In other words, we’re
already giving each of them anywhere from $20 thousand to $3 Million
every year for being homeless. Why not give them a lot more and spend
a lot less money?

It doesn’t have to be this way

Around the world, local cities are finding solutions to homelessness
through housing-first programs. It works like this:

1. Get homeless people into free or assisted housing,
depending on their needs. Across the US, this saves taxpayers
about $1.3 billion by reducing homeless reliance on social
service programs like ambulance rides, hopsitalization, etc...

2. Provide tailored counseling to help recently
homeless people get back on their feet. Different people have
different needs, and it's important to be sure that basic needs are met.

3. Provide job counseling and training so that those
in assisted housing can find good employment and become
self-reliant. This step is very important to keeping families off the
streets permanently.

That's where you come in.

We're creating a job training program

When I first learned and fell in love with JavaScript in the 90's,
few people took it very seriously. Nobody guessed it would play the
critical role it plays today. In case you’re not aware, most of the
software applications we use and take for granted now are built with
JavaScript. It powers Facebook, Twitter, Netflix, PayPal, and millions
of other services.

Because JavaScript is the only programming language supported by
every modern browser, the entire web is dependent on it, making it the
most widely used programming language in the world — and it’s still
growing faster than any other programming language. There’s just one
problem: There aren’t enough JavaScript developers to keep up with demand.

Demand for software developers is so high that most of the top
companies have an always hiring policy for developers; they hire as
quickly as they can find qualified candidates, and when that’s not
fast enough, they actively recruit candidates from other countries or
outsource work to India.

So we’re paying money to keep people on the streets and then going
out of our way to give some of the best paying jobs in the world to
foreign citizens. Insanity.

Why is it national news when one homeless man learns to
code? We should have thousands of homeless people training
for high paying jobs every day. This situation is intolerable.

I used to say to myself, “you can’t help everybody” a dozen times a
day as I used San Francisco’s subway system that swarms with people
pleading for help.

I was wrong. You can help everybody. Any of us can.

Funding a High Quality Job Training Program

We're working with the leaders in the housing-first movement to train
people who are fighting for their lives so that they can
qualify for great, high-paying jobs -- and you can help. We're
focusing on JavaScript programming and web platform skills.

Why JavaScript?

The web is eating software, and Atwood's Law is in
full effect:

"Any application that can be written in JavaScript, will
eventually be written in JavaScript." - Jeff Atwood

Experts estimate that within the next 2-3 decades, 45% of the
jobs we have today will be replaced by software and robotic
automation. I believe that number will be even higher. As the
only programming language supported by every major browser, JavaScript
has become the most widely used programming language in the
world. The most popular JavaScript package repository (a
place to distribute openly shared JavaScript software components and
tools), is the largest software component library of its kind, and
it's growing faster than any other package repository.

JavaScript developer positions pay an average of
$93,000/year in the United States. Compare that to the US
national average salary of just $43,000/year.

On any given day, there is a standing demand for 60,000
JavaScript developers in the US, and that's just the jobs
paying more than $100,000/year. The job
growth rate is 22%,much higher than the average growth rate for other US jobs.
The situation is similar all over the world.

What Does This Fundraiser Pay For?

Course website creation and course delivery systems

The money collected here will pay for web development and hosting
expenses to package the course content into an easy-to-use learning
environment online. There are existing learning environments, but due
to the course content and nature of the materials, we really need a
custom solution that can accommodate the student workflow and
self-grading exercises.

There, students will be able to see the courses available, the
courses they have enrolled in, the courses they've completed, and
access the bonus content available to all students. So far we have
exceeded our original fundraising goals for the first phase, but
there's a lot left to do to bring these courses to the people who need them.

We're planning a pilot course launch for October - November.
We want to get students involved, learning and providing feedback. The
faster we can get the first round of feedback, the faster we can fine
tune the systems and bring it all to a wider audience.

Automated software testing is essential to the
process of software development. These training programs are all about
teaching students the essential skills they'll need to thrive
in a work environment, or to produce their own web applications.

Our first course teaches the fundamentals of an agile software
development process. Automated testing plays a key role in that
process, before you even begin to write application code. To bring
this course to you, we've partnered with our favorite provider of
automated cloud testing solutions: Sauce Labs.

We're working with Sauce Labs to be sure that we're teaching
current suggested practices (nobody knows more about
software testing than they do!), and in order to supply students with
access to the best tooling available.

As we continue to develop courses, we'll continue to look for
strategic partners to give students practice with some of the
actual applications and tooling they'll use on the job.

JSHomes website

We need some basic design work done so that we can present
information to housing-first job training programs, handle media
inquiries, and host the scholarship gift program.

Paying the Bills

The usual. Keeping the lights on and the water running. Paying
various miscellaneous expenses.

The training is online and self-paced, so anybody can fit it around
any schedule.

You Can Learn JavaScript

When I was very young, every computer came with BASIC. I was curious,
and I loved video games, so I started to play with it and
create my own silly games. Within a few years I'd moved onto graphical
games that required math skills. Having something fun to do with it
made math a lot easier to learn and understand. I don't just believe
that anybody can learn to program, I believe that everybody should
learn to code. If a child can learn to code, you can
learn JavaScript.

The Skills Gap

In recent years, I've been tasked to interview skilled JavaScript
application engineers, but found the talent pool critically
lacking in people who really understand how to use JavaScript
to create robust applications. That motivated me to write the book,
"Programming JavaScript Applications"
published by O'Reilly Media.

Learning JavaScript basics is easy, and lots of resources do
a good job with that. Learning the skills you need to build serious
applications is hard. For that, the currently available learning
materials simply aren't cutting it.

JavaScript is very different from other programming languages. I help
students understand how it's different, and how to put those
difference to work on large scale production applications.

The Courses

All of the course bundle rewards are scholarships that you will own,
and may grant to schools or redeem for yourself. If you intend to
grant the scholarship to a school, be sure to ask for a receipt from
the school. Certain types of scholarship grants may be considered a
charitable donation to the school for tax purposes.

All of the courses will teach the timeless principles of software
development as well as agile productivity and project management
skills that will serve students well even if they decide to do
something else with their careers.

Each course consists of several modules. Each module has an
introduction video, plenty of explanatory text, and self-grading
exercises. It's important to engage as many senses as we can while
we're learning. The exercises are critical, because they give students
the opportunity to practice the concepts they've learned. There will
be plenty of practice projects to help students apply what they've learned.

All of the bundles include the book, "Programming JavaScript
Applications." As well as going over important features of the
JavaScript language, the book goes into detail about the structure and
architecture of modern JavaScript Applications, and touches on many
topics that nearly every app developer will need to consider for each
project. Features like module design, separation of concerns, API
design, logging.

(This rest of this section gets a little technical for those who want
to purchase course access for themselves.)

1. Prototypal Inheritance

Most programming languages make use of classical inheritance, where
objects inherit from classes. There are several major problems with
the way that classical inheritance works that can have a tremendously
negative impact on developer productivity.

This course will expose the long, painful history of classes, and
teach students about JavaScript's easy prototype delegation and
dynamic object extension. Students will find a welcome relief to the
pain of classical inheritance, and emerge from the course with a new
appreciation for JavaScript's elegant approach to objects.

2. Functional Programming

Functional Programming has a long celebrated history in computer
science, but most popular languages lack good support for it.
JavaScript's first-class functions and closures make functional
programming both possible and practical in JavaScript applications. In
fact, several standard functional patterns are natively supported by
JavaScript objects. Students will learn how to put functional
programming to work and get plenty of hands on practice with
functional approaches to common problems.

3. Node and Express

Node.js brings the power of JavaScript to the server, allowing you to
share many modules between your client and server code. More
importantly, Node.js and most modules written for it are non-blocking
by default. That feature allows for concurrent execution of
asynchronous tasks. This approach has led to major performance and
productivity gains as organizations have ported code from existing
code bases to JavaScript and Node.js. I have led several Node porting
projects, and witnessed improvements ranging from 2x to more than 10x.

Those performance gains mean that organizations spend less money on
resources. They can use fewer servers, conserve less electricity, and
save on the physical space required to manage their application load.
Faster, smaller, and greener!

The benefits don't stop there. Many organizations are reporting that
developers are more productive writing software on Node, partially due
to the fact that developers only need to learn one programming
language in order to be productive across the full technology stack.
Teams can be more cross functional and collaborative when the software
is powered by Node.

Students of this course will learn the fundamentals of Node, and its
most popular framework: Express.

4. Software Testing

This course teaches about the role of testing in the agile software
development process. It will address issues like how software gets
designed, planned, and tested, and teach the secrets that
great brands use to deploy high quality software
several times per week, as opposed to every few months, or even
once per year or less.

Students will learn about the role of testing in agile
process, functional testing, unit
testing, manual testing, automated
testing, and continuous deployment using
Sauce Labs' best-in-class software for
cloud-based test automation.

More to Come

Of course, there's a lot more to know about software development.
These are just the courses planned for development in 2014 - early
2015. We plan to expand the courses and program until they're complete
enough to teach somebody new to software development everything they
need to know to build and deploy a real-world production application.

Why Should Students Learn from Eric Elliott?

I'm a veteran of JavaScript applications and the author
"Programming JavaScript Applications"
published by O'Reilly Media. I've been building apps for more than 15
years, for some of the world's best-known brands. I've contributed to
software that powers experiences for Adobe,
Zumba Fitness, The Wall Street
Journal, BBC, CNN, and
musicians including Frank Ocean,
Usher, Metallica, and many more.

I know the secrets that serious professionals use to produce
high-quality software. After strugging to recruit and hire enough
qualified candidates for several fast-growing companies, I've seen
first-hand the impact the talent shortage has on our ability to grow
thriving businesses, and as a person who has lost it all and struggled
to rebuild a life from the ground up, I have great empathy for others
in similar situations.

Status

In July, we had little more than an idea. We set out to raise
$7,500 to create the first course materials. We launched a
fundraising campaign and raised $25,000. Today we're
well into the course production and things are looking great.

Now it's time to to launch the first course

We're kicking things off in phases. Here's the plan so far:

1. July 2014: Plan course outlines and raise $7.5k to
pay for the course production costs. This covers the costs of course
materials, video recording, editing, and graphic design. Thanks to
your help, we raised $25,000 and expanded our goal to
create two additional courses.

2. September - November 2014: Course website
design and production. This is where we are today. We've
produced some great course materials, and it's time bring the first
course to the public. Now we need to build a great website where
students can log in and access all their course materials.

3. December - March - Multiple course
deployments & .org accounts. We plan to deploy more
courses and expand website capabilities so that organizations can
subscribe. This is when we'll launch the pilot job training program to
serve the homeless communities.

You Can Help!

1. Make a donation - All of these options are available as
scholarships anybody can use to learn JavaScript. You can gift the
scholarship to schools in your local community, or we can donate the
scholarships to a training program for you.

2. Purchase a scholarship and redeem it for yourself! Learn valuable
skills and help a great cause at the same time!

3. Spread the word. We need your help. Post a link to this program on
social media with the hashtag #jshomes. Tell your friends why you
believe in it, and what helping means to you.

Fighting Poverty With Code Leaderboard

Our leaderboard shows our leading supporters and the contributions they've made or inspired
by sharing our campaign.

Sign in to get your personal share link and see your position in our
leaderboard.

How it works
To appear in our leaderboard, simply make a contribution to our campaign
and show your name, or inspire a contribution from someone else by sharing your personal link (below).
The more contributions you make or inspire, the higher you'll go and the more the campaign will benefit.

,
take your place in our leaderboard!

,
you're currently in position of

,
you've helped raise a total of .

How it works
To appear in our leaderboard, simply make a contribution to our campaign
and show your name, or inspire a contribution from someone else by sharing your personal link (below).
The more contributions you make or inspire, the higher you'll go and the more the campaign will benefit.

UPGRADE ONLY. ✔ You must have purchased access to four courses to qualify. ✔ You can add courses to your current bundle by purchasing the "Add Sauce" perk. ✔ Make sure the selected quantity adds up to four courses when combined with your current bundle. ✔ Deal ends Tuesday, September 30, 11:00pm US Pacific Time.

Delete update

Share this post

Edit your message

Report campaign

Report submitted

Thank you. We take reports like yours very seriously.
Our goal is to keep the community safe.

Please know that we may contact you for more information,
but that we won't notify you personally of our decision.
If the campaign remains available within a few days, it's
likely that we determined it not to be in violation of our
policies.

Thank you. We've already received your previous report.
If the campaign remains available within a few days, it's
likely that we determined it not to be in violation of our
policies.

Record a video

Upload a video

Nothing grabs attention for your cause like a personal
video. Take a minute or two to record one now.
Record a short video message of support.
Or upload one from your device.
You can preview or redo your video before you post it.

Nothing grabs attention for your cause like a personal
video. Upload a short video message of support.
Upload a short video message of support.
Or record one right now.