How to THINK like a Programmer

Sdílet
Vložit
  • čas přidán 18. 03. 2019
  • First 500 People Get 2 Months of Skillshare FREE --- bit.ly/forrestknight6
    I've been wanting to consolidate my thoughts of what I've been discussing in recent videos, especially the "My Process of Completing a Software Engineering Task" video, and that's what I did in this video. The overall aspect of thinking like a programmer is all about problem solving. You don't call a carpenter a "hammerer." That's just a tool in their belt. And although many of us call ourselves "programmers," that's just a tool in our belt as well. As software developers we need to understand how to come up with solutions to the problems we're given and use our skills to see out those solutions.
    I'm sharing the framework I use to solve these problems, which is essentially how I THINK as a programmer. The context is what's really important in this video, not necessarily what I decided to title each piece of the framework.
    This video is sponsored by Skillshare.
    Books that discuss similar principles
    - The 4-Hour Chef by Tim Ferriss --- amzn.to/2FcSZXb
    - Think Like a Programmer --- amzn.to/2TNGOKK
    ----------------------------------------------------------
    I document and share my experiences on topics including computer science & software engineering. I'm a full-time Software Engineer and a part-time CZcamsr. My less nerdy activities include fishing, hunting, surfing, and snowboarding. I'm just here to have some fun.
    Subscribe, so you don't miss a thing!
    ---------------------------- SOCIAL MEDIA ----------------------------
    Instagram --- / forrestpknight
    Twitter --- / forrestpknight
    GitHub --- github.com/ForrestKnight
    Twitch --- / forrestknight
    Medium --- / forrestknight
    Discord --- / discord
    ---------------------------- DESK SETUP ----------------------------
    Monitor --- amzn.to/2E9sioB
    Monitor Arm --- amzn.to/2E8UckG
    Standing Desk --- amzn.to/2C3T3oG
    Desk Chair --- amzn.to/2EaWTy5
    Keyboard --- amzn.to/2EaSxHa
    Mouse --- amzn.to/2C3Bbud
    Mousepad --- amzn.to/2GWASVB
    Microphone --- amzn.to/2C4Upzj
    ---------------------------- VIDEO GEAR ----------------------------
    My NEW Camera --- amzn.to/2Sty5IO
    Microphone --- amzn.to/2eHr7xj
    Tripod --- amzn.to/2jgbaOI
    Bendy Tripod --- amzn.to/2eO2r5S
    Editing Software --- clkuk.tradedoubler.com/click?p...
    ---------------------------- OUTRO MUSIC ----------------------------
    Country Cue 1 by Audionautix is licensed under a Creative Commons Attribution license (creativecommons.org/licenses/...)
    Artist: audionautix.com/

Komentáře • 207

  • @fknight
    @fknight  Před 5 lety +84

    Basically, in order to think like a Programmer just think this all the time - “BEEP BOO BOO BOP.”
    While you practice that, here’s some free stuff from Skillshare 😆 --- skl.sh/forrestknight6

  • @arnomaddelein8369
    @arnomaddelein8369 Před 5 lety +626

    My thought process during a programming assignment:
    1. Nope, doesn't work
    2. WTF Why doesn't this work?!
    3. WTF Now it is working and I don't know why!
    4. Okay, it wasn't working, nevermind.
    5. WHAT THE HELL IS GOING ON HERE?!
    6. Hey, this might work
    7. IT WORKS! I AM GOD!
    8. Repeat until project is ready while questioning your life choices.

  • @Yazuroshi
    @Yazuroshi Před 5 lety +269

    Steps:
    1. Understand the problem (3:32)
    2. Divide the problem into smaller ones (5:23)
    3. Get Unstuck - Fix Bugs/Errors (6:50)
    4. If you really want to think like a programmer (8:55)

  • @Fillentr
    @Fillentr Před 5 lety +165

    No one:
    Forrest’s Hand Motions:
    🔝🔙🔙🔜🔝🔙🔜🔝🔝

    • @pandadncr4825
      @pandadncr4825 Před 5 lety +1

      Hahaha lol why do i find this way funnier than it i should 😂😂😂

  • @GoalDen
    @GoalDen Před 5 lety +268

    Iv been coding so much that iv started to dream in code.

    • @m4tchb0x
      @m4tchb0x Před 5 lety +30

      Goal Den I swear sometimes I don’t think I sleep, my brain will try to keep coding. lol

    • @EduardoRFS
      @EduardoRFS Před 5 lety +7

      USAUOU that really happens with me, it's fun specially if it's work related

    • @TallWall908
      @TallWall908 Před 5 lety +3

      Stop lyin

    • @opod_dev
      @opod_dev Před 5 lety +25

      @@TallWall908 its a real thing, im new to programming in java and ive been coding so much whenever i try to sleep I start thinking about stuff in code

    • @mahmoudabdo6054
      @mahmoudabdo6054 Před 5 lety +1

      That's what I was want to listen
      Thanks 💓💓

  • @williamcoleman2128
    @williamcoleman2128 Před 5 lety +34

    Love your channel. I’m a CS student planning on going into software engineering, and from my perspective your content is great. You present ideas in a very natural, straightforward, and most importantly, non-condescending way. So many CS related videos/articles come across as condescending and seem to purposely use language that is overly technical and confusing to someone new to learning the topic being discussed. It’s refreshing to have a glimpse into the mind of a real, normal software engineer who isn’t trying to sound like a genius, but genuinely cares about helping lift up those seeking knowledge.

    • @fknight
      @fknight  Před 5 lety +2

      Much appreciated!! Good luck with your journey.

  • @SoraAmm
    @SoraAmm Před 5 lety +47

    For me the problem is not the problem.
    The problem is how to translate that problem into code (syntax)

    • @jaymhlurbaloyi7813
      @jaymhlurbaloyi7813 Před 3 lety

      It's been one year , how have you been holding up
      I've just game dev
      U think why I can't translate the solution to code is because I don't know the tools of the engine yet

  • @lestatgss
    @lestatgss Před 5 lety +1

    Your vids are getting better and better, as time goes on.. thank you, sir!!!

  • @rroca
    @rroca Před 5 lety

    Awesome video! The visual thing works really well for me, not just that but the act of drawing itself seems to help a lot in understanding the problem.

  • @mahmoodtareq3520
    @mahmoodtareq3520 Před 5 lety +1

    Great video, I like these types of videos which make us grow as developers.
    Keep it up and please keep uploading such videos.

  • @baphnie
    @baphnie Před 3 lety +6

    Responding positively and optimistically to error messages is the hardest skill I’ve forced myself to learn.
    Also, I have a masters in DS and took *not a single class* that mentioned debugging as a practice. Run you code in debug mode! ❤️

  • @panblacksolutions
    @panblacksolutions Před 5 lety

    Good points, especially the starting over point. There have been many times I have commented out whole sections of c++ code.
    Sometimes at least for me personally, I have the wrong logic to solve a problem. One example is when I first started using templates. I thought I understood vectors, but I couldn't get vectors to output the different sets of objects with none matching types. I had to start over and relearn vectors and pointers to make the code work.

  • @jackgisel3211
    @jackgisel3211 Před 5 lety

    Very good video. Going into my first internship this summer. This is going to help me a lot!

  • @iderbat
    @iderbat Před 5 lety

    For rest! Love your channel. Keep up the work. You inspired me to create my own vlog and get my shit together and start my own start up!!

  • @sparklyspartan1833
    @sparklyspartan1833 Před 3 lety

    I have a rubber ducky on my desk for unrelated reasons and I'm also a programmer, my mind has been blown that the rubber ducky knew the answer to a lot of my problems already!

  • @mohamadkhazai9157
    @mohamadkhazai9157 Před rokem +1

    the best video I've ever seen in CZcams

  • @shreyansjain3680
    @shreyansjain3680 Před 5 lety +8

    One approach that I follow to solve a problem is named "Humanly process" (I named it myself xD). In this I break down the problem in the way in which a normal human being goes through each step to solve that particular problem. This generally gives a better understanding of the problem at more granular level while also providing me a idea about how the problem is described.

  • @milekrizman
    @milekrizman Před 3 lety

    These advices are gold.

  • @sayampalrecha9314
    @sayampalrecha9314 Před 5 lety

    Great work once again

  • @essentialsound3462
    @essentialsound3462 Před 5 lety +1

    Thank you. Greetings from Brazil.

  • @ps8883
    @ps8883 Před 5 lety +3

    As soon as I saw his video dropped, I just clicked download

  • @ankitshaw2011
    @ankitshaw2011 Před 5 lety

    Really a great video on how to think....

  • @ashmarock
    @ashmarock Před 2 lety

    Great video!

  • @abelkidanemariam6485
    @abelkidanemariam6485 Před 4 lety +1

    oh my god, I came here to search for how to think like a programmer and it's on my first recommendation list. nice job youtube

  • @JD-oj1hr
    @JD-oj1hr Před 5 lety +1

    What was the program you used to keep track of tasks to be done, in progress, and done? Thanks, can't find the original video you mention it, love the videos!

  • @rileysimpson5304
    @rileysimpson5304 Před 5 lety +1

    Hey Forrest,
    Where would you recommend is a good starting place or good starting tutorial for learning backend code? I learned how to do some basic DOM manipulation with JS and I want to learn how to code the backend of a server using js and be able to make the connection between the front end and communicating with the back end. Hopefully that made sense... Thanks!

  • @bensonputhethu5918
    @bensonputhethu5918 Před 3 lety

    Think guy is awesome, I am binging his vids.

  • @ranjeet1449
    @ranjeet1449 Před 5 lety +1

    Man thank you very much for this video. I’ll try out all the things you said. My problem is when I look at the code I understand everything but when try to write it on my own I can’t write anything

  • @nikko6883
    @nikko6883 Před 5 lety +1

    Hey, great channel. Could you make a video for people starting CS next September? Like how to prepare, what to be ready for, complete basics, ect. ?

    • @fknight
      @fknight  Před 5 lety +1

      Sure thing. Here you go! czcams.com/video/S7MDDPeS258/video.html
      I've also made a video talking about math in CS: czcams.com/video/yKJz5IntDW8/video.html
      I don't know what I said in those lol, but I hope they help! If you have any questions don't hesitate to ask.

  • @rutvikkachchhi7826
    @rutvikkachchhi7826 Před 5 lety

    Bro after watching your videos i got boost to learn coding thanks man

  • @theboringprogrammer4444
    @theboringprogrammer4444 Před 4 lety +18

    Interviewer: How many starbucks are there in your city?
    Me: **WHIPS OUT RUBBER DUCKY**

  • @Rajat-rh5fn
    @Rajat-rh5fn Před 5 lety +2

    Make a video on how to do competitive programming for getting started with it

  • @reihtw2048
    @reihtw2048 Před 5 lety +10

    Man, I want to have a beard like yours when I grow up

  • @ottomanempire3746
    @ottomanempire3746 Před 5 lety

    Really Loved this !!!

  • @mollyknight6650
    @mollyknight6650 Před 5 lety

    Love this video!

  • @movieidiots5542
    @movieidiots5542 Před 5 lety +11

    Finally, Someone who's talking in my language... (Pun Intended)

  • @georgehammond867
    @georgehammond867 Před 2 lety

    Very great video..

  • @aqray30
    @aqray30 Před 5 lety +1

    Your content more than awesome!
    Could you please talk about your first experince as a fresh software engineer?

    • @fknight
      @fknight  Před 5 lety +1

      Thank you! And I'd love to make a video like that. Added to the list!

  • @translugastyasante3581

    Great info ...😊

  • @edrickreyes-melendez4215
    @edrickreyes-melendez4215 Před 4 lety +1

    My problem is understanding the conceptual parts of programming, any tips with that?

  • @TallWall908
    @TallWall908 Před 5 lety

    How much storage should a programmer get on his or her computer

  • @bearscarf3077
    @bearscarf3077 Před 5 lety

    Hey Forrest, Quick off-topic question (everybody always seems to get funny when asked this) but, without letting out any specific financial income, could you specify whether you earn more as a youtuber? or a programmer? as ive seen a lot of coders move to youtube. Love the vids keep it up man

  • @Jonathan-od5xc
    @Jonathan-od5xc Před 5 lety

    You're the man dude

  • @imnotmatthew
    @imnotmatthew Před 3 lety

    do you have a "follow through" project video? Cause I love your vids and the way you speak and teach. but I am so confused

  • @indrex8838
    @indrex8838 Před 3 lety

    thanks bro now i now programming

  • @andresramirez3840
    @andresramirez3840 Před 4 lety +1

    I’m having trouble what to code. How to think to code. I sit infront of my computer for hours trying to think what to do😩😩😩😩😤

  • @awaraamin9670
    @awaraamin9670 Před 3 lety

    Thank you man

  • @itsbk6192
    @itsbk6192 Před 5 lety +7

    Here before 1 million subs

  • @khalilmehtal6938
    @khalilmehtal6938 Před 5 lety +5

    i'm i a knight in the notification squad !!

  • @sachinmodha71
    @sachinmodha71 Před 4 lety

    0:51 the car behind the window 😅🤣

  • @miltonkhan
    @miltonkhan Před rokem

    Why caption not available??

  • @KayOScode
    @KayOScode Před 5 lety +1

    When debugging my assembler, I wrote a lot of test asm code. I cannot tell you how frustrating it was when my asm code didnt work and I had to play the game of asking whether I fucked up in the assember, or in the asm program. Not a fun thing to debug

    • @fknight
      @fknight  Před 5 lety

      haha no wonder your name is Lunatic Programmer! I'd be the same way after dealing with that.

  • @Canleaf08
    @Canleaf08 Před 4 lety

    Set some break points, print out variables. This is how to determine how your code works. Make a plan how to solve your problem.

  • @falsesectslikeshiaarejudeo6543

    get s tructure of the problems
    make problems smaller!
    6 :45 fix bugs, to allow you to learn, its one thing to fix it and understand the fixing.

  • @FreeSkypeGenerator1
    @FreeSkypeGenerator1 Před 2 lety

    thanks

  • @fiendsgaming7589
    @fiendsgaming7589 Před 5 lety +3

    How to grow a beard like u?, Mine just gets swirly

  • @m4tchb0x
    @m4tchb0x Před 5 lety +1

    Pseudo coding is the first thing I learned in boot camp. I really suck at it. I just code line by line. It usually works out...

  • @snorresyvertsenhanisch2284

    You should mention Brilliant!😊😊

  • @RunawayYe
    @RunawayYe Před 5 lety +1

    "We in here talking about practice..." -Allen Iverson

  • @keilonrobertson8165
    @keilonrobertson8165 Před 5 lety +3

    Hey thanks for this vid....btw do you code in Python? If you do what IDE do you use? This is a question for anyone else too....

  • @humbledev4758
    @humbledev4758 Před 4 lety

    Thanks 👍🏻

  • @brofessor2677
    @brofessor2677 Před 5 lety +1

    Can you tell me
    What major in computer science to take to become a full-stack developer?

    • @panblacksolutions
      @panblacksolutions Před 5 lety

      Any of them. But the degree want teach you everything, you'll have to take the basics you learn and apply it to learning new languages and frameworks and queries and algorithms

  • @fractalelement857
    @fractalelement857 Před 3 lety

    a person can apply this philosophy on other aspects of life....i think it would be of use.

  • @molnvr
    @molnvr Před 2 lety

    I like how the video is "only binary numbers" minutes long.

  • @lionsskyblue442
    @lionsskyblue442 Před 4 lety

    impressive beard
    thanks for sharing

  • @nicolasnasr945
    @nicolasnasr945 Před 5 lety +1

    5:55 aliens at the window

  • @vidohub728
    @vidohub728 Před 4 lety

    VIP video

  • @Joselson14
    @Joselson14 Před 5 lety +2

    Sir, hm..You might wanna check your backyard, your house appears to have an unknown creature 4:51

  • @AdriellyNegreiros
    @AdriellyNegreiros Před 5 lety +2

    How can I have a beard like yours?

  • @shogofajamili5548
    @shogofajamili5548 Před 4 lety

    Wow!

  • @koyha5266
    @koyha5266 Před rokem

    I don't know if anyone has told you this, but you sound exactly like Matthew McConaughey!

  • @limitless1692
    @limitless1692 Před 4 lety

    I will get a flock of rubber duckies on my desk :)

  • @ankitsharma8154
    @ankitsharma8154 Před 5 lety +1

    Which laptop are you using right now???
    Tell me please Sir...

  • @__gadonk__
    @__gadonk__ Před 2 lety

    i thought his shirt said Mass Nutter for a sec

  • @vidohub728
    @vidohub728 Před 4 lety

    Level

  • @SupreetSinghsuppi
    @SupreetSinghsuppi Před 3 lety

    Can you do a video on Beard Grooming?

  • @pup_lover
    @pup_lover Před 4 lety +1

    Thx for the tips Jesus.

  • @CrazyFrog94x
    @CrazyFrog94x Před 4 lety

    You kinda look like the youtuber, Riflegaming.

  • @ozzman1997
    @ozzman1997 Před 2 lety

    >Complex math problem
    >5-10 steps
    *Laughs in non-steady state heat transfer*

  • @misterengineer6187
    @misterengineer6187 Před 3 lety

    Did I ever tell you the definition of InSaNeTy?! 8:55

  • @jugurthahaya3246
    @jugurthahaya3246 Před 5 lety +2

    4:53

  • @dontlethimbullyyouson
    @dontlethimbullyyouson Před 5 lety

    How old are you?

  • @CoupeDominic
    @CoupeDominic Před 5 lety

    Those ads though..

  • @Shvmadogg
    @Shvmadogg Před 5 lety

    Problem

  • @graciedaniels4833
    @graciedaniels4833 Před 5 lety +6

    He's really Good looking.......

    • @gaucesauce288
      @gaucesauce288 Před 5 lety

      Gracie Daniels is it the money, or? 😩😂

  • @-nivek6489
    @-nivek6489 Před 4 lety +2

    5:05 I already think out loud so no need for that method here. It is really useful though because I personally retain info in 4 steps.
    1 learn
    2 write notes
    3 read learning content and notes and think out loud.
    4 create something

    • @-AKrishnaMohan
      @-AKrishnaMohan Před 3 lety +1

      That's a Good one.
      Thx for that kev :)

    • @-nivek6489
      @-nivek6489 Před 3 lety +1

      @@-AKrishnaMohan glad I could help:)

  • @christopheryoder8292
    @christopheryoder8292 Před 5 lety

    Your framework sounds a lot like Polya's Principles. It is featured in the supplementary reading to the Intro to CS course you recommend in your Open Source CD degree.

    • @fknight
      @fknight  Před 5 lety

      Yea, it's a very common approach. I included a few books in the description that discuss this same thing as well. You know what they say, if it ain't broke...

  • @MoSylla45
    @MoSylla45 Před 3 lety

    As soon as people start marketing business instead of directly diving into the subject, I leave at once.

  • @TheSkepticSkwerl
    @TheSkepticSkwerl Před 5 lety

    If I need a beard that bad ass, I'm screwed. ☹️

  • @patrickmayer9218
    @patrickmayer9218 Před 2 lety

    1. Fully understand the problem before you try to implement a solution.
    2. Divide the problem into smaller sub problems.

  • @fknight
    @fknight  Před 2 lety

    This is an automated comment to display likes & dislikes for the video you're currently watching, since CZcams decided to disable the dislike count on videos.
    Views: 108767
    Likes: 4587
    Dislikes: 69
    Ratio: 98.5%
    Last Updated: Dec-29-2021
    CZcams, please don't ban or shadowban me. I learned how to do this from your own docs.
    Lol thanks.

  • @milkyway9225
    @milkyway9225 Před 3 lety

    will you ever start to explaining WHAT we came here for or just explain WHY we came here all video long?

  • @joshuabudiarto5036
    @joshuabudiarto5036 Před 3 lety

    Amount of times he said problem
    |
    V

  • @justinschmidt9652
    @justinschmidt9652 Před 3 lety

    Bro I swear you look just like Connor McDavid(best hockey player in the world right now)

  • @DeprecatedAPI
    @DeprecatedAPI Před 5 lety +1

    PewDee Pie codes??? NOICE :)

  • @alshaklawi
    @alshaklawi Před 5 lety +1

    Make youreelf look like Pewdiepie to attract people to watch your video.

  • @muradapayev6258
    @muradapayev6258 Před 5 lety

    get subtitles on

    • @fknight
      @fknight  Před 5 lety +2

      Weird, I thought they were! I'll change that.
      Edit: It's turned on, but not showing up on the video. Maybe it's still processing or just can't understand what I'm saying lol

  • @mcfluffier
    @mcfluffier Před 5 lety +4

    IMO programming is the constant problem of processing data.

  • @alfonstabz9741
    @alfonstabz9741 Před rokem +1

    I have a question is it necessity to hate windows OS to be called independent web developer !? heheheheheheheheheh 🤣😂😅

  • @mostafaashraf3738
    @mostafaashraf3738 Před 5 lety

    Hey Forrest ,
    Check out a youtuber called : Stefan mischook
    I think u well get a huge knowledge from him