Javascript ❤, Resources, Uncategorized

How a failed arranged marriage set-up landed me a gig at a coding boot camp

 

Scene 1: Picture This

I started to learn how to code in 2014 sitting on the couch while I went through Codecademy, Codeschool and other courses.I had made up my mind fullstack JavaScript was going to be my path of action. How did I land on that couch? Well,  an arranged marriage meeting set up by my  friend’s mother had gone bad. Long story short, I wasn’t considered good enough for the family’s prodigal private school educated son,  and I said my most polite and cultured “get lost” to them.

And this is how I ended up on a couch learning how to code, trying to mentally challenge myself out of a negative experience.

Back then,  Udacity was just starting out and they  didn’t have any Nano-degrees.  They had an orange colored website with  a few courses on web development. At this point Udacity, CodeSchool and others were just beginning to solidify their place  in the market and understand their customers better. There were courses and blogs that catered to learning how to code, but it was in an exercise in futility trying to piece the information together, as in there were plenty of articles on Local & Global variables but not contextual enough to make the learning curve any less steep.

The problem then and now remains :

Time & money  spent learning how to code  is NOT PROPORTIONAL to the  effort  & results spent in learning how to code.

It is not the technologies themselves that are lacking, or the teachers themselves. Rather teaching and learning how to code is a different ball game. Because of the mental energy that you expend in learning how to code, it must be efficient within a time frame that isn’t exhausting to the learner. I’ve found that a 1-2 hours of coding is usually a good time frame to retain a learner’s attention and impart information effectively for project based learning.

Scene II: The accidental discovery

After a few weeks of slogging away into HTML & CSS I decided to take up a small contract from a friend who wanted a website made. I took up the project for 3 reasons:

1. I was inundated with too much reading material that was not cohesive and needed a break doing something, I had learned how to. For example now there are “paths”, for example “Front-end Developer Pathway”, “JavaScript Pathway”.  The pathways taught JavaScript but after doing a couple of them (yes, I’m a course connoisseur), I was at the point where I had to learn a new pathway everytime that I finished the previous one.  for example “Angular.js Path”. The projects in each of the learning paths weren’t connected, therefore resulting in not having a higher-up  understanding of  how to code a web-app, or what to learn next and why.

2.  I wanted to see if I could actually make money of this coding thing

3) To validate what I had learned.

My friend  didn’t want to spend a lot because she wasn’t sure if her house cleaning services agency was going to take off.  To put things into perspective she paid me exactly $200  after an enormous “friend discount”.

It was during the course of this 1 week gig that I actually learned Twitter Bootstrap because it’s 2014 and you know gotta have shit that scales down on people’s phones and stuff. So not only did I learn Twitter Bootstrap., but by modifying a pre-existing Twitter Bootstrap theme I also got more proficient at HTML & CSS,

Scene III:  The decision

A good instructor is not one who is a jedi at knowing-it-all, but is competent at imparting knowledge in a way that helps a learner learn.

My first tutorial was on coding a full width video header like on AirBnB’s website  for SitePoint, called Learnable then (remember, this is 2015 now and video header’s were all the rage).  Tutorials for front-end projects such as HTML, CSS, React.js tend to be easier due to the visualization aspect for learners.

Also by  this time, I had picked up Git, JavaScript, Jquery, Node.js, Meteor and a bunch of other stuff.

I had discovered through my own learning and instructing that the best way to learn how to code was to actually implement concepts while coding a project.  So I put this into practice with my next course on Git.

By this time I was convinced that the only way a beginner could actually move into coding territory was to learn how to code by coding bite-sized project components. Very much like how you would work as part of a team in a development  company.

Scene IV:  A use case scenario

I have a popular case on SitePoint called  Git It Together: Master Version Control with Git and GitHub  

Learner’s learn how to initiate and use Git commands by pretending they are working in a team that is developing a website for a client.  And this is how it goes:

  1. A free Twitter Bootstrap theme is downloaded from startbootstrap.com.
  2. From there on, the learner watches a short 2-4 video lesson on a git command
  3. Then the learner makes a few changes locally to the theme file
  4.  The changes are recorded and committed using Git

The course has a 4.5 rating out of 5.   It was popular because :

Made it easy for learners from varying degrees of web development experience. So it was an introductory course to Git. Not an introductory course on Git only for beginners or an introductory course for already experienced web developers. The difference is subtle, yet real.

The course was practical from the start

In short I was able to take something a bit abstract like Git and made a project based course of it.

Scene V:  Moving on to a JavaScript series

 

 

After consulting with a couple of companies and making courses for Sitepoint and more recently Envato (Tuts+) I decided to venture out solo. So I spent about a couple of months on and off creating a series of 5 projects  for www.letsjavascript.com

The courses are aimed as a first step after learning HTML & CSS. Yep, thats right. You dive straight into coding with JavaScript after playing around with HTML & CSS for a bit.

The premise of the projects is to to learn and implement concepts in a small project. With each project building upon concepts learned and implement in the previous one. A more efficient way to learn JavaScript than doing only exercises.

So a total of 51 concepts are taught (local & global variables, conditional statements,  time & date object, functions, methods etc) over a course of 5 projects.

 

I analyzed and enrolled in over 15 JavaScript courses! Yes, you read that right.  I analyzed highly rated courses online (from various teachers and platforms) and combined the best parts of each to create something that would make it painless to learn how to code in JavaScript knowing very little.

A huge part of beginner’s JavaScript is DOM manipulation. And it makes sense to teach JavaScript through DOM manipulation since JS is apt for that and it makes it easier for the learner to visualize the outcome of the code all the while coding.

 

Scene VI: Coding Bootcamp Stint

 

Instead of a traditional resume, I showcased the promo video for  Let’s JavaScript and a few sample lessons.  They liked what they saw, and I was hired to instruct at the Cultivating Coder’s coding boot camp teaching people HTML, CSS,  Command Line and JavaScript. I followed the same methodology there, teaching by doing as part of a project. The same coding Bootcamp recently had it’s curriculum vetted by a university and is now approved by the State Board of Higher Education in California.  They do amazing work at the community level and are super committed. So needless to say my courses did work on me!

Scene VI: Moving on

This year I am working on 3 more projects aimed at Intermediate JS (objects, prototypes, anonymous functions, callbacks, working with APIS etc).  The 3 projects will be:

  1. Recipe App
  2. Social Media Monster
  3.  Bullet Journal

Teaching the way I would have liked to learn. No pretentious nerd snobbery. Just lots of hard work sprinkled with empathy.

 

ps: As for marriage ? Well I  did receive this comment for a video tutorial up on YouTube:

YouTube Comment