Skip to content

mingsterism/hipo

Repository files navigation

The Checklist to become a good junior coder

Devops

  • Able to navigate linux using just commandline
  • Understand how the linux file system works
  • Understand what is the OSI model and able to explain it to a layman
  • Challenges
    • Deploy your own website to a cloud server using GCP or AWS

Programming Languages and logic thinking

  • Functional Programming
    • Write a recursive factorial function
    • Write a tail recursive factorial function
  • Object Oriented Programming
    • Create a class object with methods and constructors
  • Challenges
    • Solve basic algorithm challenges on Freecodecamp
    • Solve all of intermediate algorithm challenges on Freecodecamp

Frontend

  • Familiar with CSS and HTML
  • Familiar with CSS Flexbox and CSS Grid
  • Challenges
    • Able to replicate a major website with 80% - 90% accuracy using just HTML and CSS

Backend

  • Understand what is a web server
  • Familiar with API and what it does
  • Understand how Nodejs Works
  • Deploy an express web server and expose API calls

Mini project challenges

  • Build your own guessing game
  • Build a web scraper
  • Build a todo application using DOM methods
  • Ddos a website

Build a full web application

  • Integrate to a database
  • Add login / logout functionality
  • Make API calls to a backend server
  • Use a SPA framework to build the web application (Vue, React, Angular)S

Additional checklist to become a great junior coder

  • Able to learn up a new framework on your own
  • Able to touch type and use VIM
  • Learn a low level coding language (Golang, Rust, C)
  • Understand how pointers work
  • Learn infrastructure as Code (Terraform)
  • Deploy a CI / CD pipeline
  • Build your application in a docker container

The Program Learning Strategy

  • Strong focus on programming logic and solving algorithm problems
  • Some degree of focus on computer science to give that deeper understanding of code and technology
  • Practical devops learning with primary emphasis on how to deploy applications and websites to servers
  • Using the right tools from the beginning (Git, Linux, VSCode)
  • Strong focus on helping the individual to find out answers for themsevles (being a good googler)
  • Encourage each person to teach one another

Expected Outcome

  1. To think like a coder and able to solve logic problems
  2. Knowledge of HTML, CSS and Javascript
  3. Able to use Javascript NPM packages to install JS libraries
  4. Able to build full fledged web applications using Vuejs Framework
  5. Familiar with essential developer tools like Git and VSCode
  6. Understand web server technology and how to build one using ExpressJs
  7. Being a good googler and able to ask the right questions
  8. Able to become a job ready junior coder

How to use this github repo

  1. Clone this repo and make it your own
  2. Push all your work in this repo and make this your own

Pre-requisites

  1. Dual boot linux on your windows machine (if Mac, can skip this option) video tutorial
  2. Install VSCode on your computer
  3. Install Nodejs Installation guide

HiPO Milestones (Web Development)

Month 1 (Mentor Led) -----------------------

*We go through all the basics of programming logic as well as concepts of servers and cloud deployment. Understanding how a server works is essential to any developer. We get a taster of the 2 major areas of being a developer, Programming Langauge Fundamentals and managing Backend Servers"

  • Programing Logic 101
    • Complete Codeacademy Modules (1 - 4)
    • Understand deeply what are variables, conditionals, loops and data structures (objects and arrays)
  • Computer Science 101
    • Crash Course Computing
  • Backend 101
    • Understand how web servers work
    • Deploying websites to the cloud
  • Expected Outcome

Month 2 -----------------------

  • Programming Logic 102
    • Codeacademy Modules (5- 8)
    • Learn what is a class, methods and functions
    • Understand the concept of recursive function
    • Understand what is Big O Notation
  • Computer Science 102
    • Crash Course Computing
  • Solve basic algorithm problems on freecodecamp. Select 5 random problems and complete the solution - Part 2
  • Build your own personal website with HTML + CSS Sample Site to follow

Month 3 (Mentor Led) ----------------------

Building a todo app

In this month, we run through how an entire app works, from the frontend, to the backend to deploying it to the cloud. Running through the whole steps gives you the bigger picture and idea of how apps work. Sure you may not understand parts of it, but getting the bigger picutre and idea gives you a strong foundation and goal to work on. It sets you the roadmap of what you need to do to get a basic web application up and running.

  • Building the Frontend Build the entire frontend of the todo app with javascript

    • HTML
      • Input box
      • Dropdown box
      • List of todos
    • CSS
      • Styling the code
    • Javascript / Vuejs
      • Showing my completed todos
      • Showing my pending todos
      • Showing my deleted todos
  • Deploying it to the cloud

  • Hosting your app on digitalocean

  • Database Intgration

    • Google Firebase
  • Handling User Authentication (login/logout)

    • Login / logout

Month 4 -----------------------

Month 5 -----------------------

  • Make a todo application with Javascript + Jquery Reference
  • Complete all javascript modules on Codeacademy and able to solve all problems without assistance

Month 6 -----------------------

  • Hacking Kali Linux The key to being a great coder is understanding the fundamentals of servers and opearting systems, which is Linux. The big chunk of software applications today run on Linux OS, and knowledge of this OS is key to being able to deploy and run your applications. The best way to learn something is to hack it.
  • Finish all crash course computing videos
  • Complete entire guide to build a full web server with express js framework Tutorial Guide

Month 7 -----------------------

  • Build your own project (Do something of your own)
  • Understand vuejs. Read complete the essentials guide
  • Build todo application with Database and login / logout features using Firebase Firebase Ref

Month 8 -----------------------

  • Internship (practical projects) | Matching to a real company

FAQ

  1. What will I be able to build once I complete this program after 8 months? You will be able to build a full application that stores data and allow's users to login and logout using firebase.

Tips

  1. Do not just use this resource as the ultimate guide. Go out there and explore other areas of technology and development. Get excited to be on the tech innovation rollercoaster ride. The journey will not be easy, but you can satisfy your curiosity with new libraries, tools and resources being released daily.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors