Not-So-Enlightened Path to Coding Enlightenment

A friend of mine is finishing up a BSCS and looking to get into the tech industry. Ready to code? Here’s the list I sent him…

  • Pick a Linux distro (Fedora or Ubuntu). I would recommend Fedora if this is your first encounter with Linux.
  • Read How to Become a Hacker
  • Read The Art of Unix Programming
  • Master Vim – (http://www.vim.org/)
    • This is kind of a personal preference, as are all editors.
    • I recommend mastering vim because it is ubiquitous.¬†You can run it on all of your workstations (Linux / Win) and you can usually depend on it being installed on just about every Linux server you SSH to.
    • Being able to use the same editor everywhere has its advantages.
  • Read Learn Python the Hard Way
  • Read¬†Pro Git
  • Install Django, then run through the tutorial
  • Read Test Driven Development with Python
  • Next…. JavaScript stuffs
    • Learn JavaScript (don’t have a readily available book for this)
    • Learn Angular
    • Learn NodeJS
    • Learn Meteor
  • Along the way, you should pick up some knowledge about
    • Cryptography
    • web services and REST APIs
    • security
    • networking
    • Databases
      • Start with…
        • MySQL
        • PostgreSQL
        • MongoDB
      • Move up to
        • DynamoDB (Amazon’s AWS)
        • Hadoop
        • other NoSQL stuffs
        • Oracle or Microsoft SQL Server if you have to