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


(Less like this…)

And more like this


OR THIS


or this

 

Great places to learn

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



Show your work!



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

Any questions?


Now, go forth and be awesome!

Everything You Need to Know about Programming You Learned in Kindergarten

By Aaron McCall

Everything You Need to Know about Programming You Learned in Kindergarten

Programming isn't hard as long as you remember a few really simple maxims.

  • 2,643