Skip to content

jonny-novikov/programmer-training

Repository files navigation

PaperHat Programmer Program

Welcome to the PaperHat Programmer program where we will teach you how to become a world-class programmer!

This is a working document / repo. It will change as we work on each goal. If you find something that fits with our learning add it to your branch and create a pull request to have it added to master.

How to become a world-class programmer

All our training will be designed and customized to your learning, with specific goals in mind. Our learning will mostly be split into three different categories:

  • Foundational knowledge - complemented by practical coding skills.
  • Conceptual knowledge - that will give context and create understanding of the patterns that reoccur in programming.
  • Industry knowledge - Some of the materials we'll learn will be purely for review; we will not dive deeply into them. This will mostly be industry knowledge.

Program goals

  • Use the right tools: Learn the most up to date tools, techniques and best practices available.
  • Build the right foundation: Cement the computer science foundations that will help you to interpret and understand the wider context of programming as well as filling any knowledge gaps that there may be.
  • Be the most affective: Create a platform of skills, knowledge and products that will make us the most affective when applying for jobs.

The areas we will cover

Steps to achieve our goals

  1. Review: Begin a thorough review, discovering where the holes and weaknesses are your knowledge.
  2. Foundation building: Work on building your conceptual foundations while practicing using the most up to date JavaScript methods available.
  3. Portfolio building: Build up your portfolio with real world examples: During this time - if you can find a small contract to do, you will be able to practice, get real world experience and earn extra income.
  4. Git / Work flow: What is work flow? What are the best practices for using git?
  5. Hacking the interview game: Practice being able to answer the most typical technical interview questions.

What makes a world-class programmer?

What makes a world-class programmer? The ability to manage complexity. Before we become amazing at doing that, here are a few tips for when learning gets a bit tough. Remeber:

  • You are going to over think absolutely everything. Understanding comes slowly - so don't be too hard on yourself.
  • It's easier then it seems. It will seem harder and more complicated first, you'll hurt getting up some learning curves but eventually you'll weed through the complexity to the simple parts that create that complicated mess.
  • Practice makes perfect. Practice creates second nature understanding. Practice, practice, practice!
  • Break all the things! You'll create a deeper understanding of how ad why things work the way they do.
  • Don't over do it. At a certain point pushing yourself means creating bad habits and inefficient learning. Take breaks. Don't work more then 6 hours in one consectutive sitting.
  • Go have fun too!

You are not stupid. You can do this. You're already amazing. Go be awesome you!

Releases

No releases published

Packages

No packages published