Everything You Need to Know about PROGRAMMING You Learned in Kindergarten
It's OK to Cry on your first day

learn The Basics first
this
before this
LEarn the Basics (cont.)
and this
before this
LEarn the Basics (cont.)
and this
before this
Use the right tool for the job

Don't waste your life implementing Missing language features
- Don't use PHP to write a command-line data processing app
- Don't write an immersive 3D game in HTML/CSS/JS (yet)
- Don't use a SQL database to store documents
- Don't use a document database to store relational data
Play to the language's strengths
- JavaScript is great for event-based programming
- Python and Ruby are very expressive and flexible
- C languages are fast! C, C++, C#, Objective C
- Erlang: when it absolutely must not EVER fail
Play to developers' strengths
- Facebook: write PHP (large developer pool) → transform to C++ (tiny developer pool)
- &yet (and many others): using node.js allows programmers to write for the back-end while keeping important client-side skills sharp
Remember who the teacher is
If you have a question, Raise Your Hand
HOW?
- Google it?
-
Do they have a
GitHub repo?
- File an Issue.
- Maybe they use
Gitter?
-
Are they on
IRC?
- Twitter?
- Do they have a website?
- StackOverflow!
sometimes you just need a nap
It's important to take turns

The best resume is a portfolio
- Put your code on GitHub
- Contribute to open source projects
- Write tutorials, post-mortems when you build something, solve a problem, etc.
- Help other people on StackOverflow
Now, go forth and be awesome!
Made with Slides.com