Web Dev Self Study Guide

Wow, let me blow the cobwebs off this blog before I get down to business. In the last couple months I began a part-time job as an instructor/developer at a local bootcamp and added another human to my family and unfortunately this blog was left in park but then something happened…

A few weeks ago, a friend of mine, looking for a bootcamp, sat in on one of my classes and was interested in joining but the price tag and uncertainty of the job market upon graduation were major concerns. As a member of one of my favorite coder’s, Laurence Bradford’s Facebook group, Newbie Coder Warehouse, I noticed this same issue was preventing many other people from joining bootcamps or online programs. Now, it may not be in my best interest to tell you, or rather write you, nah, let’s just go with tell you it sounds better… anyways, what I’m trying to tell you is that you don’t NEED a bootcamp to get a job.

Here’s what bootcamps give you that self-study won’t: motivation, peer pressure, access to a developer who will have the answers to all those gotcha questions that may take you hours to find online, and a clear and concise path to web dev super stardom. Now, the motivation and peer pressure mainly come from the high price tag most camps charge: you tell your friends you’re shelling out upwards of 15 grand for a camp and quitting your job, then you damn well better finish that assignment on CSS media queries on a Tuesday night. For many people, keeping their interest and engagement in learning is not an intrinsic process and they need an external influence to keep them on the straight and narrow… that’s not a bad thing, it just may mean you will benefit more from a traditional class enviro (I just shortened environment, let’s try and make this a thing… enviro!) than the free wheeling self study path.

Here is the email I wrote to her outlining what I think is necessary, in the Bay Area, in 2017 to become an entry level developer; there are many places where I encouraged her to write me with any questions or further explanation on what to study and that offer is open to you the reader as well (my email is at the bottom of the page and in the contact section)

***
I thought about what I do at work and what I see as a typical day for a junior developer and what skills are necessary to join a team as a contributing member. Here’s a rough outline of what I think you’ll need:
HTML & CSS:
Take codecademy’s HTML and CSS course as well as their bootstrap course. Replicate two web pages: Google’s home page and a much more difficult page like the front page of air bnb or the home page of apple (not the functionality) just the look.
You should also be using web development tools in chrome like inspecting elements on the page and feel comfortable adjusting the css from the browser.
You should have a good concept of how to create a basic web page, ids, classes and how to use images, add links, etc.
This could take 2-3 weeks and I would watch some videos or read about what you can do with chrome browser tools, css box property, positioning elements, inline vs block style display.
More CSS:
CSS is tricky and you’ll really need to get a good hang on it before moving forward. Google ‘PSD’ (photoshop design) and pick a couple PSD’s of web pages/sites and replicate them using html and css. These projects can be used in your portfolio which you will need later.
Github:
Get a github and push some code to your repos every few days and at least once a week. You should feel comfortable creating new repos, and pushing code to them through the command line. Try to pull some other projects from people as well. Every recruiter will look at your github so keep it up to date. Git is perhaps the least friendly language you’ll come across so watch a video or reach out if it’s difficult to get started doing that.
Bootstrap and Responsive Design:
Understand Bootstrap’s grid system and make use of their components like dropdown menus, navigation menus, etc. Start using bootstrap for every site you create because nearly every company is using bootstrap or something like it. Responsive design is basically what people use to make sure their website sizes down properly when looking at it on different devices. Codecademy has a great course on Bootstrap you should take. When it comes to media queries, reach out to me after you’ve done some Googling on the subject and we can go over how to implement them.
Make a Site:
Google free bootstrap templates, get a template, and make a site for a friend or a local business. This will be your first “real” project that shows people that you can do developer stuff. BTW, using a template is not frowned upon, in real life you’ll be using a template or working with a large code base and updating features so this is more like what you’ll likely be doing than creating something from scratch.
JQuery:
Use codecademy’s course on Jquery to get down the basics. Learn how to make elements disappear, fadein, fadeout and change their css through button clicks. Add some jquery to your previous projects.
JS:
Once, again, use codecademy to get the basics down and maybe even buy this book. Do everything you can do with jquery with plain javascript. Make a one page quiz that tells user’s their score after completion. A random quote generator. Google fizz pop challenge and do that. Create a simple login system. Make a site that iterates over an array of objects with car info, including pics and display it on a page. Go on codewars and frustrate yourself with some challenges as well. You should be able to iterate, do for each loops, shift, pop and push into arrays and create objects.
More JS:
Learn about object constructors, object literal notation and prototypal inheritance. These are all fancy ways of constructing and replicating objects in JS.
AJAX:
Make http requests using Jquery’s ajax method. Search the web for API’s (todd motto has a great list) and use these API’s to retrieve information from a server and display it on a web page on a button click or allow users to enter a search term that will retrieve info. I can walk you through all this when the time comes. AJAX and using web services is how many companies accesses their databases so getting a good grip on ajax and calling web services is key to getting a job.
Databases:
MongoDB is pretty hot but so is Firebase. Firebase takes only a few minutes to set up and stores your data in JSON format (just like mongodb) through an API call. It’s easy to use and will give you a nice intro to databases and hosting data outside your local machine. I’d create a simple login using Firebase and a page where users can post and retrieve messages or whatever…
Node:
Download nodejs and express through your command line and learn how to set up a server on your machine to host your files. There are about a million tutorials on this. Node allows you to write server side code in javascript like creating apis, accessing databases and other server stuff we can go over.
JS Framework:
Learn React! React is javascript but just a different way of writing it and it’s super hot in the bay area so get down the basics. By this point you should be able to pick up a framework and tinker around with it and find online resources to help you. That’s basically how you’ll pick up whatever framework is in style if you decide to get a full time dev job.
The most important thing is to code for a little bit everyday and always google stuff you’re curious about or don’t know. Create a codepen account and make fun things for POCs (proof of concept). You don’t need to know everything on this list, in fact I would begin applying once you can create a basic web page, make ajax calls and feel comfortable using javascript in a functional way.
You will learn more on your first job than any amount of studying and things change constantly so the best asset is a desire to learn and pick things up quickly. React won’t be here in five years, maybe less, but javascript will so feel comfortable with it!
As you go down this list, you should have many questions lol so always feel free to reach out and send me a link to your projects on your github account if you’d like me to check them out. If you have time, go to meetups and meet with other coders as it will allow you to see how others work and different ways of achieving the same goal.
***
I hope you found this email I wrote to a friend helpful and if you think I should add anything to this list, or have questions as you embark upon your path to web dev hot shot, feel free to email me: hotdevdude@aol.com brianjenney83@gmail.com

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s