This video will change the way you think when coding

This video will change the way you think when coding

Understanding Programming as a Problem-Solving Skill

In this section, the speaker discusses how programming requires a different way of thinking and problem-solving compared to other tasks.

Thinking Like a Programmer

  • Programmers make computers do things that humans wouldn't attempt.
  • Thinking like a programmer can be challenging.
  • The example of creating 9-digit numbers using digits 1 to 9 is given.
  • A human would solve it by multiplying the digits from 9 to 1 (factorial).
  • Programmers approach the problem differently.

Programming Approach vs Human Approach

  • Programmers start from scratch and generate all possible combinations.
  • Using buckets, programmers add new digits to existing numbers.
  • The total number of combinations is calculated by multiplying the previous count with the current digit count.

Engaging the "Slow" Brain in Programming

  • Our brain has two modes: "Fast" brain and "Slow" brain.
  • The "Fast" brain jumps to conclusions quickly, while the "Slow" brain engages in deeper thinking.
  • Programming requires engaging the "Slow" brain for effective problem-solving.
  • First principles thinking involves breaking down complex problems into fundamental elements.

Breaking Down Complex Problems

  • Breaking down complex problems into smaller chunks is essential in programming.
  • Modular programming separates different tasks into separate functions for easier testing and maintenance.
  • Dynamic Programming (DP) also involves breaking down complex problems into smaller solvable ones.

Importance of Problem Decomposition

  • Senior engineers excel at decomposing large complex problems into manageable parts.
  • Effective architecture design relies on understanding dependencies and breaking down systems into components.

How to Think Like a Programmer

In this section, the speaker discusses the mindset and approach of thinking like a programmer. They emphasize the importance of knowing where to find solutions rather than trying to reinvent the wheel.

Thinking Like a Programmer

  • To solve problems as a programmer, it is important to understand that there are existing libraries and resources available.
  • Front-end development often involves using pre-made UI components from libraries instead of building everything from scratch.
  • When faced with a new problem, it is likely that someone has already encountered and solved it before. Avoid reinventing the wheel.
  • The example of peppered moths in England illustrates how adaptation and natural selection apply not only in nature but also in programming.
  • Industrial revolutions have caused significant changes in the programming world, leading to new technologies and opportunities for programmers to adapt and evolve.
  • Bruce Lee's quote "become water my friend" signifies being open-minded and adaptable to the changing environment as a programmer.

Conclusion

Adopting an open-minded and constantly evolving mindset is essential for thinking like a programmer. This approach allows programmers to adapt to new technologies and effectively solve problems.

Video description

"How to learn coding efficiently", this is a question that haunts many self taught programmers. In this video, I will answer this question and some others. For example: 1. How to become better at Programming? 2. How to actually make progress when learning to code? 3. How to become a Software Engineer? ► For more content like this, subscribe to our channel: https://www.youtube.com/PowerCouple26 ► Follow us on Linkedin: https://www.linkedin.com/in/gabag26 https://www.linkedin.com/in/sarrabounouh ► Let's be FRIENDS! https://www.instagram.com/power_couple26/ ► For business inquiries, reach us on: powercouplejourney@gmail.com #learncoding #programming #softwareengineer DISCLAIMER: All opinions shared on this channel are our own and don't express views or opinions of our employers. We only use our experiences and public knowledge to make our content. NO CONFIDENTIAL INFORMATION of our employers is used or shared on this channel. This is not a Professional Coaching channel, it only highlights the public resources that have worked for our careers.