Bro-gramming (teaching my brother to code)
I’ve been trying to get my brother into coding for years now. He’s expressed interest but has always been too busy. Last week, having just finished his first semester at college - and bored at home on winter break - was finally ready to learn.
I was in San Francisco and he was in NJ so we started over video chat. I outlined the various parts of web development, described how they fit together, and then let him pick where to start. He opted to begin with front-end coding as he liked the quick feedback loop and wanted to create a personal website. He found back-end programming interesting but didn’t have any project ideas about which he was excited.
Normally we’d sit at the same computer and I’d walk him through different examples but being on opposite coasts complicated things. I turned to the excellent Scratchpad.io - a tool which allows for real-time collaborative editing and instant rendering; it was just what we needed.
I outlined various concepts in HTML and CSS with real-time examples and then tasked him with changing the examples. Being able to see the impact of his changes in real-time was valuable for both of us and I loved being able to help him as he typed.
After walking him through HTML and CSS, I wanted to give him a taste of JavaScript. Scratchpad.io doesn’t allow JS yet so I decided to use Cloud9. Cloud9 is a web based IDE (interactive development environment) and was a bit overkill for what we needed. It did however allow for JS and use of multiple files.
With a taste of JS under his belt, I set him free to build his website. I sent him some links to Mozilla’s documentation and told him to ping me if he gets stuck. He’s since been building up the site and asking lots of good questions. I warned him in advance that front-end code is kludgey because it was designed by committee over a couple decades; he was perplexed by why CSS Floats are such a pain.
He’s refining the first version now and I’m starting to look ahead to what to teach next. I’m eager to show him Bootstrap - I’ve held off so that he could learn the fundamentals himself. I’d also like to introduce him to jQuery. Other things on the horizon are MVC web apps, how to use the terminal / Linux, and how to deal with data / databases. I’ll also send him to check out Codecademy in advance of our impending dual on FightCode
It’s going to be a fun journey!