Skip to content

Latest commit

 

History

History
94 lines (80 loc) · 5.07 KB

File metadata and controls

94 lines (80 loc) · 5.07 KB

Developer Skills & Editor Setup


Installing Node.js and setting up a dev env

  • Check if npm is already installed in your IDE using: npm -v.
  • Install live-server by running npm install live-server -g
  • Launch the web page by running live-server. Now you will not have to reload the page every time you make changes to see if the changes took effect or not.

How to fail at learning to Code

A person named "Noob Programmer"

  • He didn't have a clear goal at the beginning of his journey
  • He started by watching courses and reading tutorials, but he would just copy the code without caring how it works. Sometimes he would just copy and paste code!
  • He didn't reinforce what he was learning by doing small challenges or taking notes He didn't practice coding, and didn't come up with his own project ideas
  • He quickly became frustrated when his code was not perfectly clean or efficient He lost motivation because he thought he could never know everything
  • He was learning in isolation
  • After finishing a couple of a courses, he thought he now was a web developer and could start applying to jobs. But he couldn't even build an app on his own!

How to succeed at learning to Code

  • He didn’t have a clear goal at the beginning of his journey
    • FIX
      • Set a specific, measurable, realistic and time-based goal
      • Know exactly why you are learning to code: Switching careers? Finding a better job?
      • Imagine a big project you want to be able to build!
      • Research technologies you need and then learn them
  • He would just copy the code without caring how it works. Sometimes he would just copy and paste code!
    • FIX
      • Understand the code that you're studying and typing
      • Always type the code, don't copy-paste!
  • He didn't reinforce what he was learning by doing small challenges or taking notes
    • FIX
      • After you learn a new a feature or concept, use it immediately
      • Take notes
      • Challenge yourself and practice with small coding exercises and challenges
      • Don't be in a hurry to complete the course fast!
  • He didn't practice coding, and didn't come up with his own project ideas
    • FIX
      • Practicing on your own is the most important thing to do
      • This is NOT optional! Without practice outside of courses, you won't go anywhere!
      • Come up with your own project ideas or copy popular sites or applications, or just parts of them in the beginning Don't be stuck in "tutorial hell"
  • He quickly became frustrated when his code was not perfectly clean or efficient
    • FIX
      • Don't get stuck trying to write the perfect code!
      • Just write tons of code, no matter the quality!
      • Clean and efficient code will come with time
      • You can always refactor code later
  • He lost motivation because he thought he could never know everything
    • FIX
      • Embrace the fact that you will never you know everything
      • Just focus on what you need to achieve your goal!
  • He was learning in isolation
    • FIX
      • Explain new concepts to other people. If you can explain it, you truly understand it!
      • Share your goals to make yourself accountable
      • Share your learning progress with the web dev community ( ##100DaysOfCode, ##CodeNewbie, ##webdev, etc.)
  • After finishing a couple of courses, he thought he now was a web developer and could start applying to jobs
    • FIX
      • The biggest misconception that people have!
      • Courses are an amazing starting point, but are only the beginning of your journey!

Learning how to code is hard, but you can do it!

How to fail at solving problems

WHENEVER JOHN ENCOUNTERS A PROBLEM:

  • He jumps at the problem without much thinking
  • He implements his solution in an unstructured way
  • He gets stressed out when things don't work
  • He is too proud to research solutions
  • FIX
    • Stay calm and slow down, don't just jump at a problem without a plan
    • Take a very logical and rational approach (programming is just logic, in the end...)
    • Use my 4-step framework to solve any problem
  • Make sure you 100% understand the problem. Ask the right questions to get a clear picture of the problem
  • Divide and conquer: Break a big problem into smaller sub-problems.
  • Don't be afraid to do as much research as you have to
  • For bigger problems, write pseudo-code before writing the actual code

What is a software bug?

  • Software bug: Defect or problem in a computer program. Basically, any unexpected or unintended behavior of a computer program is a software bug.
  • Bugs are completely normal in software development!
  • Debugging: Process of finding, fixing and preventing bugs.
  • Note - A real bug which was causing an error in Harvard's computer in the 1940s

The Debugging Process

Debugging with the Chrome Console and Break Points

  • In Chrome, you can go to the Sources tab and view the debugger. You can set breakpoints, check the values of the variables, everything that you want.
  • Alternatively, you could also write down debugger; anywhere in your js code, and then the code would automatically switch over to the debugger when that particular line is reached.

BACK ⬅️