7 Tips to Grow as a Developer

แชร์
ฝัง
  • เผยแพร่เมื่อ 6 มิ.ย. 2024
  • I meet many programming students. Here are 7 opportunities to grow that I see time and time again.
    🙌 / christopherokhravi
    Books and talks from mentors that have shaped the way I think:
    SANDI METZ
    ⚙️ geni.us/APcJLnI (Practical Object-Oriented Design)
    • RailsConf 2015 - Nothi... (Nothing is Something)
    MARTIN KLEPPMANN
    🏛️ geni.us/Pj6IS4U (Designing Data-Intensive Applications)
    RICH HICKEY
    • "Simple Made Easy" - R... (Simple Made Easy)
    • Rails Conf 2012 Keynot... (Simplicity Matters)
    • The Value of Values wi... (The Value of Values)
    ROBERT C MARTIN
    🧼 geni.us/IBhtLnh (Clean Architecture)
    MARTIN FOWLER
    🛠️ geni.us/k8KhT3 (Refactoring)
    KENT BECK
    😸 geni.us/7PBVNF (Tidy First?)
    🏎️ geni.us/Iwa0NPw (Extreme Programming Explained)
    GARY BERNHARDT
    • Ruby Conf 12 - Boundar... (Boundaries)
    MISKO HEVERY
    • The Clean Code Talks -... (Global state and Singletons)
    DANIEL KAHNEMAN
    🧠 geni.us/Jtc6 (Thinking Fast and Slow)
    PETER DRUCKER
    🧑‍💼 geni.us/LqFHE (The Essential Drucker)
    CONTENTS:
    00:00 Intro
    00:07 Don’t Fear Deleting Code
    01:53 Define The Goal
    02:54 Embrace Debugging as Learning
    04:09 Find & Follow Mentors
    05:12 Articulate Your Ideas
    06:10 Learn Fundamentals, Not Frameworks
    06:55 Explore Other Paradigms
    07:18 Outro

ความคิดเห็น • 92

  • @karoI508
    @karoI508 หลายเดือนก่อน +41

    Learning fundamentals instead of frameworks is a godlike rule

  • @user-yi4zd6gh5h
    @user-yi4zd6gh5h หลายเดือนก่อน +12

    Man, I am really happy that you have returned to yt. one of the best programming advice/tutorials, I've seen

    • @AlanMitchellAustralia
      @AlanMitchellAustralia หลายเดือนก่อน

      Agree. Nothing quite like this on TH-cam. So incredibly valuable. Thank you!

  • @RISHABHJAIN4
    @RISHABHJAIN4 หลายเดือนก่อน +6

    Step 8: Follow this guy❤

  • @georgesealy4706
    @georgesealy4706 หลายเดือนก่อน +8

    I was a software developer for 30 years using all the major languages. I was a manager of a team from time to time. We hired both contractors for short term projects and full time people to keep over the long term. So I interviewed a lot of candidates. My usual stock question was "Tell me ways to make sure your code never, ever fails when it goes into production. How can you make it fail-safe?" How they answered this question told me a lot how well they coded to handle various situations and how they tested their code. It demonstrated experience and maturity. I will say that if you want to be a good developer then think about my question before you release your code to production. Think about how it handles all situations reliably, smoothly, and solidly.

    • @ChristopherOkhravi
      @ChristopherOkhravi  หลายเดือนก่อน +1

      Excellent question. Thank you very much for sharing. 😊🙏

  • @detaaditya6237
    @detaaditya6237 หลายเดือนก่อน +4

    My "mentor" is Scott Wlaschin. He's so good at explaining functional programming concepts it's very life-changing

    • @ChristopherOkhravi
      @ChristopherOkhravi  หลายเดือนก่อน +1

      Ooh I had forgotten about this guy. Thank you for reminding me 🙏. Now I need to dive into that rabbit whole for a few days 😊😊

  • @snail8720
    @snail8720 หลายเดือนก่อน +5

    Git is a godsend when it comes to #1. If you're like me and feel a frantic fear of some part of your memory being erased when you delete code, by all means, learn to utilize git. Deleting your code is more like cleaning your workspace and less like killing your pet cactus, when you understand that the best place for the code might not be right in front of you.
    Teaching others is not only a great way to learn, but also to inspire others to do the same! On more than one occasion, a person I was mentoring has taught me something new, which hours of reading documentation couldn't. People are innately communicative, so it's important to capitalize on it.

  • @NostraDavid2
    @NostraDavid2 หลายเดือนก่อน +2

    My "mentor" was John Carmack, the guy who programmed Commander Keen, Wolfenstein 3-D, Doom, Quake and so much more. I always read any article he made, and because of him I learned how to debug at an early stage, and selected a Minor that taught me Functional Programming (I now easily understand C code that borrows some FP notions like "callbacks"! :D ), Parsing AND Regex.
    I'm pretty sure I've become a much better programmer because of his articles alone.

  • @Oaisus
    @Oaisus หลายเดือนก่อน +2

    I've found the best way for me to learn is to decide on something to make and just start making it. The first 15 tries are never very good but I learn something at every step. Eventually I get there and am better for it.

    • @ChristopherOkhravi
      @ChristopherOkhravi  หลายเดือนก่อน

      I very much agree. Thanks for sharing 😊🙏

  • @ragsbigfella
    @ragsbigfella หลายเดือนก่อน +1

    Good to see that you're active on TH-cam and uploading new videos. Thank you

  • @johnekare8376
    @johnekare8376 หลายเดือนก่อน

    Thank you! This was great!

  • @opethforlife
    @opethforlife หลายเดือนก่อน +1

    You're such a blessing. Thank you.

  • @johnconnor9787
    @johnconnor9787 หลายเดือนก่อน

    Great that you are back! Amazing content and inspiration

  • @user-un5pn6jx9u
    @user-un5pn6jx9u หลายเดือนก่อน +1

    You're the best! Continue sharing content, tech needs it. Thank you Chris.

  • @nested9301
    @nested9301 หลายเดือนก่อน +1

    Love your energy man!

  • @fersahahmet9597
    @fersahahmet9597 หลายเดือนก่อน

    Again another great content. Thanks a lot

  • @raularmendariz7873
    @raularmendariz7873 หลายเดือนก่อน +1

    I needed this 🎉

  • @BF0001
    @BF0001 หลายเดือนก่อน

    Great tips. Love your content

  • @cosmicjava
    @cosmicjava หลายเดือนก่อน

    Loving your tutorials! 🎉 thank you!

  • @luisdominguesforprogramaca3221
    @luisdominguesforprogramaca3221 หลายเดือนก่อน +1

    Thanks for your mentoring

  • @arminium56
    @arminium56 หลายเดือนก่อน

    Amazing and informative thanks man

  • @ThiagoLimaRocks
    @ThiagoLimaRocks หลายเดือนก่อน +1

    Christopher you're amazing. I really like your videos and your passion when talking about your ideas. Keep it up =)

  • @seppotaalasmaa3404
    @seppotaalasmaa3404 หลายเดือนก่อน

    Thanks for sharing your mentors mate.

  • @NeuroAnder
    @NeuroAnder หลายเดือนก่อน

    Amazing tips!

  • @thisisnabi
    @thisisnabi หลายเดือนก่อน +1

    Thanks, Great sharing.

  • @paulovitorbal
    @paulovitorbal หลายเดือนก่อน

    Great content buddy, I really enjoy your thoughts.

  • @patrickstephen7885
    @patrickstephen7885 หลายเดือนก่อน

    excellent tips on so many levels...teaching, learning new paradigms, stick to fundamentals...these are all much more powerful than many will realize

  • @Wildstraw
    @Wildstraw หลายเดือนก่อน

    it si very motivating watching ur videos, thank u for ur time

  • @StuartLoria
    @StuartLoria หลายเดือนก่อน

    I love his energy

  • @lloyduran
    @lloyduran หลายเดือนก่อน

    Thank you!

  • @Boganella
    @Boganella หลายเดือนก่อน

    these videos make me so happy you're the perfect blend of animated and articulate that scratches my intelligent and juvenile tendencies i'm learning so much and you haven't spoken a single line of code i LOVE this channel

  • @user-ev9jg6ts6e
    @user-ev9jg6ts6e หลายเดือนก่อน

    Excellento! Thanks

  • @hoangphuong98
    @hoangphuong98 หลายเดือนก่อน

    Good tips. Thanks

  • @sandyj342
    @sandyj342 หลายเดือนก่อน

    You are my virtual mentor ❤... really first principles and fundamentals... very few teach on YT like you

  • @minirasamedova648
    @minirasamedova648 หลายเดือนก่อน

    Legend is back!!!

  • @AlanMitchellAustralia
    @AlanMitchellAustralia หลายเดือนก่อน +1

    I love that you recommend books. I bought a few of your recommendations (design patterns, elegant objects) and they've been incredible. I've found reading long form text is a great way to reinforce fundamentals. Thank you 🙂

    • @ChristopherOkhravi
      @ChristopherOkhravi  หลายเดือนก่อน

      Thank you for letting me know this. Also thank you for buying the books 😊🙏

  • @fatihtepekoy1374
    @fatihtepekoy1374 หลายเดือนก่อน

    This is my first comment for a video in English. You are the number one who explains everything clearly and simply. You are a great teller. Thank you a lot.

    • @ChristopherOkhravi
      @ChristopherOkhravi  หลายเดือนก่อน

      Thank you 😊🙏 I'm happy that the content is useful.

  • @riccarrasquilla379
    @riccarrasquilla379 หลายเดือนก่อน

    thanks for the tips

  • @zenlogie9310
    @zenlogie9310 หลายเดือนก่อน

    Great content! I would love a video providing examples for some of those rules, e.g. (Learn fundamentals instead of frameworks)

  • @i_Kode
    @i_Kode หลายเดือนก่อน

    Great video thanks!
    While I see the value in the tip "Articulate your ideas" as a way to grow by teaching others, I have mixed feelings about it. While teaching can indeed reinforce one's own understanding, I believe it's crucial to have a solid grasp of the topic first. Publishing technical articles without a thorough understanding could potentially lead to misinformation and waste the readers' time. It might be beneficial to suggest that one should assess their proficiency in a topic before attempting to teach it to others.
    PS: You have been a mentor to me

  • @bogdanf6698
    @bogdanf6698 หลายเดือนก่อน

    Oh! Video for me ❤

  • @Igoryan481
    @Igoryan481 หลายเดือนก่อน +1

    Thanks for the video!
    I can suggest Tim Cain videos on TH-cam. It's more game development oriented but still he has lots of great videos about team work or about problems that programmers might have.

    • @ChristopherOkhravi
      @ChristopherOkhravi  หลายเดือนก่อน +2

      Thanks! I’ll check him out immediately. 😊🙏

  • @dominiktworek6455
    @dominiktworek6455 หลายเดือนก่อน

    Having your opinions is very crucial. There is a bad reputation around the C++ programming language, due to the complexity of debugging null pointers, ugly syntax, etc. That reputation prevented me from picking C++ for a while, but I gave it a chance. To be honest I found it quite intriguing and that complexity and freedom are what I mostly like in that language. It is my third language and first low-level language.

  • @nashitmashkoor
    @nashitmashkoor หลายเดือนก่อน

    You deserve more views !

  • @waelsalama84
    @waelsalama84 หลายเดือนก่อน

    Learning with you is very interesting ❤
    please provide us with more channels for great mentors, and I want a place to let me have a mentor to learn and to ask and to guide me in software journey

  • @t3qiro
    @t3qiro หลายเดือนก่อน

    Absolutely concur, though I must diverge on point four. Frankly, 80% of these so-called mentors are utterly redundant-don't bother seeking and shadowing random individuals. They merely regurgitate academic drivel. The genuine mentors, the ones truly worth their salt, will naturally appear once you've immersed yourself in the genuine professional milieu. Stick to that path.

  • @zerg-zx5rx
    @zerg-zx5rx หลายเดือนก่อน

    Afraid of deleting code -> Accumulation of more tech debt -> Feature conflicts with existing debts -> Necessity to delete even more code to rewrite and address the issues.

  • @praveenr3396
    @praveenr3396 หลายเดือนก่อน

    Nice 👏

  • @filipbarbaric1960
    @filipbarbaric1960 หลายเดือนก่อน +2

    you are good mentor. :)

  • @askarabdullayev2163
    @askarabdullayev2163 หลายเดือนก่อน +1

    Best way of learning is teaching

  • @JonBck
    @JonBck หลายเดือนก่อน

    Wishes for future video: Version controlling! After 1, I started thinking, there must be deeper thinking and different approaches there as well?

  • @johantchassem1553
    @johantchassem1553 หลายเดือนก่อน

    Can you make a video on Metaclasses metaprogramming and ites importance

  • @aviramshovali
    @aviramshovali 16 วันที่ผ่านมา

    Can you recommend a good starting point and mentors for functional paradigm?

  •  หลายเดือนก่อน

    "Rich Hickey". Ok, Sir, you have my thumbs up ;-D

  • @FritsvanDoorn
    @FritsvanDoorn หลายเดือนก่อน

    Deleting code is the most difficult to me. But I am getting better at it by first commenting it and then after a few days delete it saying to myself "I forgot what it was for, so away with it"

    • @Rodhern
      @Rodhern หลายเดือนก่อน +1

      It is difficult to me too, but at least with more 'modern' versioning systems it is now a good deal easier (I use the "Oh well, I can always find it again, if I *really* need to" argument). Often, I like to commit the old code as commented-out, it shows the code wasn't so much fixed/repaired as it was simply retired.

    • @jsmunroe
      @jsmunroe หลายเดือนก่อน +2

      I've gotten into the habit of type git reset --hard. Often that is the fastest way to the solution.

  • @SimGunther
    @SimGunther หลายเดือนก่อน

    8. Know the difference between Data Oriented Design, OOP (class oriented programming), and BOOP (Smalltalk object oriented programming)
    9. ABC
    Always
    Be
    Sell- I mean Curious
    About the tools and design philosophies
    10. Have side projects to explore your curiosities outside of your main work
    11. Learn digital communications to properly align with product and sell your solutions well without being mean or unconfident
    12. Get good at sketching out your ideas quickly both digitally and on paper/whiteboard ;)
    13. Practice steelmanning other people's decisions because we already get plenty of practice strawmanning everything as it is 😅
    14. Know that no requirements are set in stone, so check in with stakeholders at every development stage to make sure there's no surprise behavior. This kind of development is a team effort, after all.

    • @ChristopherOkhravi
      @ChristopherOkhravi  หลายเดือนก่อน

      Thanks for all the detailed ideas. 😊🙏 Steel-manning is indeed very underrated. 😊

  • @jon_batista
    @jon_batista หลายเดือนก่อน

    I would add "do things even if you don't know exactly how it works, then learn through the process". But perhaps it's part of the topic 1

  • @cosmicjava
    @cosmicjava หลายเดือนก่อน

    P.s. if you find yourself interested in entrepreneurship you must read Peter Drucker’s books.

  • @federico42o
    @federico42o หลายเดือนก่อน

    4:50 Cristopher Okhravi

  • @bn3106
    @bn3106 หลายเดือนก่อน

    6:43 did he misspeak here? wouldn't you want lower-levels of abstraction (minimal frameworks)

    • @ChristopherOkhravi
      @ChristopherOkhravi  หลายเดือนก่อน +4

      Thanks for the feedback. I suppose it’s a matter of interpretation. I’m not big on focusing too much on low level code. I tend to favor learning big abstract ideas that are broadly applicable. Think: Learning map and reduce rather than the difference between pre-increment and post-increment (as an arbitrary example). So it’s in that way I was meaning that we should learn the abstract ideas that are found at the core. I can see how this formulation might seem like an oxymoron however 😊. Thanks for the question and for watching 😊🙏

  • @zeocamo
    @zeocamo หลายเดือนก่อน

    we don't got the right tools and patterns for making good software, we can get close with a mix of stuff but we still don't get the right stuff.
    we need a language that is made for the ever changing software, we need to index all the kind of errors we make, and add patterns to the language that "save" us from making the errors.
    Rust is closer to this, but then they added lifetimes and made a whole new group of errors and problems.
    95% of errors is null ref. or null errors, so we need Maybe from FP. build in to the language.
    can you see a group of problems or errors ??
    then think of a way you can remove it from software?

  • @orionh5535
    @orionh5535 หลายเดือนก่อน +1

    1.
    Please, yes, delete code, dont riddle the codebase with comments that will never be brought back to use.

  • @MichaelKire
    @MichaelKire หลายเดือนก่อน

    8: Console logging is the best debugging method.
    Fight me

    • @ChristopherOkhravi
      @ChristopherOkhravi  หลายเดือนก่อน

      Actually I tend to prefer that as well since I’m a heavy Vim user 😊😊

    • @MichaelKire
      @MichaelKire หลายเดือนก่อน

      @@ChristopherOkhravi i also found that any race conditions won't really show up when debugging normally, but will show in console logs, since you'll realize that the logs will be out of sync compared to what order you thought they would be in.

  • @donatasjakutis4359
    @donatasjakutis4359 หลายเดือนก่อน

    Funny guy 😂

  • @Gigusx
    @Gigusx หลายเดือนก่อน

    1:17 instructions unclear, deleted the entire Facebook codebase

  •  หลายเดือนก่อน

  • @devwatch2359
    @devwatch2359 หลายเดือนก่อน

    Thank you!