Skip to content

Latest commit

 

History

History
87 lines (74 loc) · 4.42 KB

04. Developer Skills & Editor Setup.md

File metadata and controls

87 lines (74 loc) · 4.42 KB

4. Developer Skills & Editor Setup


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!

![[4. Developer Skills & Editor Setup-1661521832385.jpeg]]

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

![[4. Developer Skills & Editor Setup-1661522068743.jpeg]]