7 Tips to Grow as a Developer

Sdílet
Vložit
  • čas přidán 29. 06. 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

Komentáře • 93

  • @karoI508
    @karoI508 Před 2 měsíci +42

    Learning fundamentals instead of frameworks is a godlike rule

  • @RISHABHJAIN4
    @RISHABHJAIN4 Před 2 měsíci +6

    Step 8: Follow this guy❤

  • @user-yi4zd6gh5h
    @user-yi4zd6gh5h Před 2 měsíci +13

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

    • @AlanMitchellAustralia
      @AlanMitchellAustralia Před 2 měsíci

      Agree. Nothing quite like this on CZcams. So incredibly valuable. Thank you!

  • @georgesealy4706
    @georgesealy4706 Před 2 měsíci +9

    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  Před 2 měsíci +1

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

  • @snail8720
    @snail8720 Před 2 měsíci +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.

  • @detaaditya6237
    @detaaditya6237 Před 2 měsíci +4

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

    • @ChristopherOkhravi
      @ChristopherOkhravi  Před měsícem +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 😊😊

  • @ragsbigfella
    @ragsbigfella Před 2 měsíci +1

    Good to see that you're active on CZcams and uploading new videos. Thank you

  • @Boganella
    @Boganella Před 2 měsíci

    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

  • @NostraDavid2
    @NostraDavid2 Před 2 měsíci +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 Před 2 měsíci +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.

  • @johnconnor9787
    @johnconnor9787 Před 2 měsíci

    Great that you are back! Amazing content and inspiration

  • @user-un5pn6jx9u
    @user-un5pn6jx9u Před 2 měsíci +1

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

  • @fatihtepekoy1374
    @fatihtepekoy1374 Před 2 měsíci

    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.

  • @sandyj342
    @sandyj342 Před 2 měsíci

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

  • @ThiagoLimaRocks
    @ThiagoLimaRocks Před 2 měsíci +1

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

  • @nested9301
    @nested9301 Před 2 měsíci +1

    Love your energy man!

  • @cosmicjava
    @cosmicjava Před 2 měsíci

    Loving your tutorials! 🎉 thank you!

  • @patrickstephen7885
    @patrickstephen7885 Před 2 měsíci

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

  • @opethforlife
    @opethforlife Před 2 měsíci +1

    You're such a blessing. Thank you.

  • @johnekare8376
    @johnekare8376 Před 2 měsíci

    Thank you! This was great!

  • @BF0001
    @BF0001 Před 2 měsíci

    Great tips. Love your content

  • @seppotaalasmaa3404
    @seppotaalasmaa3404 Před 2 měsíci

    Thanks for sharing your mentors mate.

  • @thisisnabi
    @thisisnabi Před 2 měsíci +1

    Thanks, Great sharing.

  • @fersahahmet9597
    @fersahahmet9597 Před 2 měsíci

    Again another great content. Thanks a lot

  • @raularmendariz7873
    @raularmendariz7873 Před 2 měsíci +1

    I needed this 🎉

  • @paulovitorbal
    @paulovitorbal Před 2 měsíci

    Great content buddy, I really enjoy your thoughts.

  • @arminium56
    @arminium56 Před 2 měsíci

    Amazing and informative thanks man

  • @AlanMitchellAustralia
    @AlanMitchellAustralia Před 2 měsíci +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  Před 2 měsíci

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

  • @NeuroAnder
    @NeuroAnder Před 2 měsíci

    Amazing tips!

  • @luisdominguesforprogramaca3221
    @luisdominguesforprogramaca3221 Před 2 měsíci +1

    Thanks for your mentoring

  • @Wildstraw
    @Wildstraw Před 2 měsíci

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

  • @martmartmartmartmart
    @martmartmartmartmart Před 2 měsíci

    Thank you!

  • @user-ev9jg6ts6e
    @user-ev9jg6ts6e Před 2 měsíci

    Excellento! Thanks

  • @hoangphuong98
    @hoangphuong98 Před 2 měsíci

    Good tips. Thanks

  • @minirasamedova648
    @minirasamedova648 Před 2 měsíci

    Legend is back!!!

  • @i_Kode
    @i_Kode Před 2 měsíci

    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

  • @riccarrasquilla379
    @riccarrasquilla379 Před 2 měsíci

    thanks for the tips

  • @StuartLoria
    @StuartLoria Před 2 měsíci

    I love his energy

  • @Msyo_Jaber
    @Msyo_Jaber Před 3 dny

    Thank you this is the usfol tip I will do it

  • @t3qiro
    @t3qiro Před 2 měsíci

    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.

  • @zenlogie9310
    @zenlogie9310 Před 2 měsíci

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

  • @askarabdullayev2163
    @askarabdullayev2163 Před 2 měsíci +1

    Best way of learning is teaching

  • @bogdanf6698
    @bogdanf6698 Před 2 měsíci

    Oh! Video for me ❤

  • @zerg-zx5rx
    @zerg-zx5rx Před 2 měsíci

    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.

  • @dominiktworek6455
    @dominiktworek6455 Před 2 měsíci

    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.

  • @Igoryan481
    @Igoryan481 Před 2 měsíci +1

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

  • @praveenr3396
    @praveenr3396 Před 2 měsíci

    Nice 👏

  • @nashitmashkoor
    @nashitmashkoor Před 2 měsíci

    You deserve more views !

  • @waelsalama84
    @waelsalama84 Před 2 měsíci

    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

  • @filipbarbaric1960
    @filipbarbaric1960 Před 2 měsíci +2

    you are good mentor. :)

  • @JonBck
    @JonBck Před 2 měsíci

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

  • @SimGunther
    @SimGunther Před 2 měsíci

    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  Před 2 měsíci

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

  • @johantchassem1553
    @johantchassem1553 Před 2 měsíci

    Can you make a video on Metaclasses metaprogramming and ites importance

  •  Před 2 měsíci

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

  • @aviramshovali
    @aviramshovali Před měsícem

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

  • @cosmicjava
    @cosmicjava Před 2 měsíci

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

  • @jon_batista
    @jon_batista Před 2 měsíci

    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

  • @federico42o
    @federico42o Před 2 měsíci

    4:50 Cristopher Okhravi

  • @FritsvanDoorn
    @FritsvanDoorn Před 2 měsíci

    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 Před 2 měsíci +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 Před 2 měsíci +2

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

  • @zeocamo
    @zeocamo Před 2 měsíci

    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?

  • @MichaelKire
    @MichaelKire Před 2 měsíci

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

    • @ChristopherOkhravi
      @ChristopherOkhravi  Před 2 měsíci

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

    • @MichaelKire
      @MichaelKire Před 2 měsíci

      @@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.

  • @bn3106
    @bn3106 Před 2 měsíci

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

    • @ChristopherOkhravi
      @ChristopherOkhravi  Před 2 měsíci +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 😊🙏

  • @donatasjakutis4359
    @donatasjakutis4359 Před 2 měsíci

    Funny guy 😂

  • @orionh5535
    @orionh5535 Před 2 měsíci +1

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

  • @Gigusx
    @Gigusx Před 2 měsíci

    1:17 instructions unclear, deleted the entire Facebook codebase

  •  Před 2 měsíci

  • @devwatch2359
    @devwatch2359 Před 2 měsíci

    Thank you!