Coding Was HARD Until I Learned These 5 Things...

Поделиться
HTML-код
  • Опубликовано: 20 ноя 2024

Комментарии • 760

  • @АлексейБраун-п4у
    @АлексейБраун-п4у 3 месяца назад +1711

    1. Learn by doing
    2. Learn to program, not programming language
    3. Create a roadmap for yourself
    4. Prioritize understanding
    5. Get use to failing

    • @thefreshprince-t4m
      @thefreshprince-t4m 3 месяца назад +42

      0. Be logical and realise the machine code is only running the logic that you have programmed into that code which the program executes. If you understand all the concepts and fundamentals, even the most basic fundamentals, you will then be able to engage with AI to help you with your code, but you must know how to program first, so that you may ask AI to correct the errors that will present to ensure you’re actually a true programmer.

    • @thefreshprince-t4m
      @thefreshprince-t4m 3 месяца назад +15

      lol roadmap, make webpages, stay away from frameworks, stick with the basic fundamentals and innovate, work alongside with AI to create super cool pieces of software for web development purposes, perhaps even apps that align with the web development projects. Have fun. Re-invent web design and web development for the personal computer sphere that will bring webpages back to the people, so that personal home pages may exist as they did in the 90’s but with 34 years of advancements. Leave the business pages to all of the cliche web designs we’ve all seen before and create not over the top but webpages a person would want to have so others who have personal computers may see their webpage, a store of information unique to their interests and self expression unlike social media which imposes limitations on the freedom of expression, but to also be their main point of call over the internet complimentary to social media.

    • @thefreshprince-t4m
      @thefreshprince-t4m 3 месяца назад +2

      When this happens as is starting now, you’re welcome.

    • @allandnothing5987
      @allandnothing5987 3 месяца назад

      @@thefreshprince-t4m what are you babbling about? lol webpage webapage..no!

    • @Starvoider
      @Starvoider 3 месяца назад +10

      6. Read the docs properly!
      Too many times for me, an error was caused by overlooking something in the docs. Even the seemingly unimportant text (e.g. as a footnote) are usually important. If the docs are unclear, ask for help either on forums or in a community group e.g. discord if they have one. Or simply create an issue and ask the developer.

  • @DavidPressley
    @DavidPressley 3 месяца назад +689

    The Algorithm recommended this video. The timing was impeccable. “You have to take the time to understand what you are doing”.

  • @kinsondigital
    @kinsondigital 3 месяца назад +176

    "Learn by doing" is absolutely one of the biggest, if not the biggest, hurdles to overcome when you want to code. You have to commit to failing quickly and failing fast. You need to look forward to the problems and want to solve them. Failing is a "GOOD THING". This is not just something that only applies to programming. This applies to life as a whole!
    Usually, the hardest things in life are very rewarding and worth the time. But that only holds if you interpret it that way with the right attitude.
    Good advice Esla!

    • @markwalker5331
      @markwalker5331 2 месяца назад +3

      Could not agree more!!!
      I've been dipping in and out of it for years, giving up quickly by 'watching' rather than doing.
      Started a small project recently, using books and the net to help with any specific problems and I've learned more from my mistakes than I ever learned watching endless tutorial videos!

    • @ecbftl
      @ecbftl 2 месяца назад

      I still have the printed listing of my first attempt to write a program around 1970. It was an optical marked card fortran program to add 2 numbers on an IBM 1130. I did not read the manual first, and quickly found the syntax was not "intuitive". Got a manual, and kept on going.... By the time I took my first computer course, I was writing complex programs and able to operate the IBM system with a full understanding of the console foo error codes, and restart procedures.

    • @jwilli9510
      @jwilli9510 29 дней назад

      💯 agree. This applies to everything you encounter. Everyone pass this on to all the youngsters.

  • @Ciprian-Amarandei
    @Ciprian-Amarandei 3 месяца назад +173

    When I realized that I didn't have to learn an entire library but instead how to search on a documentation or resource a specific information, I managed to finish my projects faster.
    I am not that good at memorizing exact technical stuff but instead I memorize concepts and abstract processes, so I give up forcing myself to memorize new functions with their exact implementation, instead I know at the higher level what tot do and where to find that information. I also have a file with code snippets for specific tasks. Coding now is a joy.
    So my advice to my younger me would be:
    1. Learn general stuff about what ALL programming languages have in common: (variables, functions, loops, conditions)
    2. Don't worry to much if you can't memorizing the exact specific syntax for certain things, just write it down on a text file
    3. Try to do the same thing in 3-4 different ways and see where it breaks the code, that way you learn what doesn't work and you figure out why it doesn't work.

    • @kantucknadienata-akon1124
      @kantucknadienata-akon1124 2 месяца назад +1

      Thank you!

    • @notmicahhh2628
      @notmicahhh2628 2 месяца назад

      This helped me so much

    • @ryancabaneles
      @ryancabaneles 2 месяца назад

      thanks

    • @ryancabaneles
      @ryancabaneles 2 месяца назад +1

      copied, saved 👍🏻

    • @avinashsuresh5221
      @avinashsuresh5221 2 месяца назад +5

      3. For example, array.filter is supppsed to work just like the iterative approach of building an array. However as the size of array increases, filter may not work always. In such cases, iterative approach is the way to build the filtered array. No one tells you this. You learn this by writing the same logic using different ways and finding what breaks the code.

  • @Pikseller
    @Pikseller Месяц назад +17

    When you first start learning programming, it may seem like language proficiency is the most important thing. But over time, you realize that the key isn’t which language you use, but how you approach problems. This moment of realization is when you truly enter 'god mode.' Being able to analyze problems correctly and discover solutions gives you a power far greater than just knowing the language itself.

    • @jeffkidder5282
      @jeffkidder5282 Месяц назад

      I would not call it god mode; that's ego. Learning to write good code should be more personal. Coding well-done offers confidence to explore, learn, and move forward in your growth and career.

  • @mk553
    @mk553 2 месяца назад +60

    As someone with 30 years experience in programming, I 100% agree with this advice.
    For me, 'prioritize understanding' is something I'm been guilty of skipping. I have deadlines, and I see an example that works, so I run with it, only to later realize it wasn't the best solution to the problem and may even end up being a bigger problem in the end!

    • @cerealport2726
      @cerealport2726 2 месяца назад +1

      I agree with you!
      There's nothing more permanent than a temporary solution...!!!

    • @edunet-lk507
      @edunet-lk507 18 дней назад

      This young lady doesn't seem to have 30 years experience in programming. Still knew these five "secrets". ;-)

    • @mk553
      @mk553 18 дней назад

      @@edunet-lk507 Apparently so!

    • @jbeard3390
      @jbeard3390 6 дней назад +1

      This is how my brain works normally, i need to understand why things do the things they do. And it's frustrating when something doesn't work then manically works. I simple is year a leap year the logic killed my brain with if (year % 4 ==0 && year % 100 != 0 || (year % 400 ==0));{}
      That single line of code is the whole thing but it works and it took me ages of asking chat gpt why and how to understand it

  • @bshmoove08
    @bshmoove08 2 месяца назад +21

    A lot of developers feel they don't have the luxury of understanding how every code fix works when they have deadlines, but I completely agree that they need to know how it works in order to improve.

  • @rolandparenteau7590
    @rolandparenteau7590 3 месяца назад +32

    This is the best lecture on introductory programming I've ever heard. Bravo!

  • @pensularnaseeare9531
    @pensularnaseeare9531 3 месяца назад +22

    🎯 Key points for quick navigation:
    00:00:14 *💻 The speaker has been a software engineer at a FAANG company for almost four years, gaining confidence over time despite early struggles.*
    00:00:43 *💡 The first lesson: "Learn by doing." You can't master coding by just watching videos; actual practice is essential.*
    00:01:12 *🌐 Start by building something you want, like a website, to learn more effectively and create a portfolio piece.*
    00:01:27 *🧠 The second lesson: "Learn to program, not just a programming language." Understanding concepts is more critical than memorizing syntax.*
    00:02:39 *🔍 Focus on understanding the abstract concepts behind algorithms, which can be applied across any programming language.*
    00:03:20 *🗺️ The third lesson: "Create a road map." Determine what you want to build, then learn the necessary technologies in a structured way.*
    00:05:15 *🔧 The fourth lesson: "Prioritize understanding over everything." Take the time to understand why your code works, which will save time in the long run.*
    00:07:06 *🔁 The fifth lesson: "Get used to failing." Failure is essential for learning and growth as a software engineer.*
    Made with HARPA AI

  • @burrahobbithalf
    @burrahobbithalf 3 месяца назад +251

    All so true. The only thing I'd add to this for beginner programmers is this: before you write a single line of code for a project, outline the entire program in comments in the same way you are taught to outline a paper. Amazing what a difference this makes.

    • @williamivey5296
      @williamivey5296 3 месяца назад +28

      I often do this and I've had coworkers ask me why. I point out the obvious: my first programming language was English (insert any human language you're comfortable enough in to be creative and express what needs to be done.)
      The more I did this the fewer bugs I found when I finally coded and executed my programs (and most of the ones I did find were simply typos).

    • @uclassc
      @uclassc 3 месяца назад +11

      Yes pseudo code in plain English

    • @512Squared
      @512Squared 3 месяца назад +2

      You can write your main control methods that handles the key execution, but then your secondary methods don't need in the details, but just get the basic structures, classes, and event system / execution path working. Then work down to the details from there.

    • @JamesStansell
      @JamesStansell 3 месяца назад +13

      I said nearly the same thing as you to an intern at work last week about comments and commit messages. Programming is story-telling and being aware of it results in better code.

    • @Techwalkthroughs
      @Techwalkthroughs 3 месяца назад +1

      ​@@williamivey5296
      Makes sense❤

  • @saurabhBmp
    @saurabhBmp 17 дней назад +4

    Learning to code can definitely be challenging, but resources like this make it so much easier to understand the basics! I’ve seen how Moonpreneur helps kids break down complex coding concepts in a way that’s super approachable.

  • @uclassc
    @uclassc 3 месяца назад +19

    What helps me is putting layman terms to names in software for example an array is a list, an entity is something you add fields to, etc

    • @StuartPembery-ge9nk
      @StuartPembery-ge9nk 2 месяца назад

      An array isn't a list. A list is a list. An array is an n-dimensional list.

  • @NDIDIAHIAKWO
    @NDIDIAHIAKWO 3 месяца назад +9

    Straight on. You're a good coach.
    Most people run away from the work input, yet expect a max output.

  • @Marcus_613
    @Marcus_613 3 месяца назад +40

    I agree.
    The best thing I've learn graduating as an engineer and now use every day as a programmer:
    1/ Architecture: knowing from the start how computer works (CPU, cache, RAM, heap/stack memory, ...) is a bless. Whatever language or technology you are using, you should always know how it works. If some language manage complicate things for you (memory) it's still up to you to use it well.
    2/ Boolean algebra. Every scientific student should learn that, it is beautiful and very useful.
    3/ Assembly. As a C/C++ programmer, there are so many problems I could never solved without analyzing the generated assembly.
    Always be curious, invest your time to understand in depth the how it works rather than learning to repeat what you see.

    • @nounouhome1348
      @nounouhome1348 3 месяца назад +2

      I start learning C and I really don't know what the career for this language what I can do ot work with I will be so much thankful if you help me out

    • @vivekjoshi3769
      @vivekjoshi3769 3 месяца назад +1

      Do you have any book or channel recommendation to learn all thise topics you suggested in your reply?

    • @robainscough
      @robainscough 3 месяца назад +3

      Why on EARTH would you recommend new programmers to learn Assembly? Not only is Assembly hardware specific, it’s almost always NOT computational “safe” (thread safe). Stack and Heap is important to understand (boxing and unboxing). The market for hardware specific Assembly programmers is next to zero. The market for C++ programmers is VERY small and getting smaller by the year. But understand exactly how a CPU works with RAM I/O is going to turn someone off programming quickly … they don’t need to know how the CPU is doing predictive evaluations to determine operation efficiency for the next instruction. Not even going to start in on the HAL and its coding implications.

    • @Marcus_613
      @Marcus_613 3 месяца назад

      ​@@robainscough Like I said, I'm a C++ developper. Assembly knowledge helped me solving countless bugs with much more success than colleague that never tried having a look to disassembly to understand problems and performance issues.
      I've heard that C++ or compiled languages are over for decades. But guess what, they are still there and used to build most OS and many big server application. C++ is evolving every years and several compiled languages have been created relatively recently. Assembly knowledge will always be very useful with those technologies.
      Thinking you don’t need any assembly knowledge because the compiler handle it for you is like thinking you don’t need to know how memory is used with managed languages.

    • @krox477
      @krox477 3 месяца назад

      C++is very hard

  • @CaEm1984
    @CaEm1984 3 дня назад +1

    Nice with a knowledeable woman who comfortable told these points. Thanks for uploading this video.

  • @isman32
    @isman32 3 месяца назад +21

    This is something that sould be at the beginning of every programming tutorial on youtube. Well said, Elsa.

  • @behcettolga
    @behcettolga 3 месяца назад +17

    do not memorize everything. understand the concepts and build a mental index/keywords, so you can search/find details of whatever you need whenever you need them. Good video!

  • @fredesch3158
    @fredesch3158 2 месяца назад +2

    Really good video, seriously I was ready to add something to the conversation, but seriously you covered all bases. And the number 1 tip is really the number 1 tip, DO STUFF, whenever I have to help someone with coding and I ask "what have you done so far" and the answer is nothing, there's little to nothing for me to help, I can't gauge how to help that person because it's impossible to know what they need helping with, and most of the time simply trying, getting it wrong and understanding why you got that wrong takes the person farther than if I sit down with them and explain exactly what they need to do. Awesome video!

  • @Bedfford
    @Bedfford Месяц назад +7

    new generations of kids learning coding: YT videos about "Master X programing language in 2 minutes" + chatGPT + ctrl-C + cntrl-V

  • @tomasslavik1119
    @tomasslavik1119 2 месяца назад +4

    Absolutely valuable advices.
    This is something I needed from beginning.
    It took me ages running through tutorial hell and trying to make "todo lists" and such stuff, unable to work independently, because I sit and what now. So I sat again and ran again through tutorials.
    This year's spring I finally got a project.
    I am a bookworm and I often go through antique book shops searching for books no longer in sale in common book stores. I did it every day.
    One day it clicked - yes, I will automatize it! I was familiar with Python enough to code but not familiar with building. It was pain. Confusion. Hardships. I struggled a lot.
    But I finally learnt how to sit down, think of project, break into pieces, think of smaller pieces, implement pieces, test them, find flaws, take a day to think of this piece and redo it again and again.
    My project can schedule scraping, scrape shops, compose mails and provide me a mail with results - book, edition, issue, price, link. It finally works! First version sucked. One big messy file.
    Second version was more modular but with many mistakes and bad practices. This time I got feedback from experienced guys.
    I am finishing third version. I am almost done. I learnt many principles in my journey. Something I can sell at interview because I can talk about my project, about design problems I faced and why I chose this solution over another.
    I feel like I understand now.
    Alongside my project I try to learn golang and when I said to it, I did one day syntax overview, some practice, and now I am sitting and trying make my own TUI game just using my experience with building. I feel the difference. I can build whole project in pseudocode and now I face just the fact golang forces me to think of "pieces" differently, less OOP, but okay.
    But it is just fun for rest. I keep moving towards my main project.

  • @zoltanboros8963
    @zoltanboros8963 16 дней назад +3

    As a developer for over 20 years, I have to say, these are good advises.

  • @DaveDickens
    @DaveDickens 3 месяца назад +10

    Great advice! I have been programming for 30+ years, and this is exactly what you need to do. Thank you! Cheers Dave

  • @kantucknadienata-akon1124
    @kantucknadienata-akon1124 2 месяца назад +2

    Ms. Scola:
    Thank you dearly, for this video. I watched it twice, and I can see the logic behind your video, and you know what? Your right.
    #2 was especially helpful. In 1981, I got a TI99/4a computer as my first system. Wonderful system aside from one tiny problem. THERE WAS NO STORAGE to speak of! Yes we had an audio tape storage, but that was worthless. 99% of the time it wouldn't save all the code or correctly so I gave up. I finally started just typing back in the code I wanted when ever I started the computer. Ultimately coding became instinctial to the point I could write it in my head, or work out problems, by simply thinking of it.
    Ultimately by the 90s I burned out since it was so damned frustrating to write; We had a saying in one of my computer classes; 1 hour programming, 5 hours debugging cause there wasn't any debuggers, no google or nothing.
    I've been starting back into BASH and Python for about a year, but struggled badly. I now know, I was doing the other part; learning the language, not programming. :(
    Now at 58 I'm trying to became something in IT, (I'm just starting) but this entire video is useful for many things, especially since I now know I'm ADHD but now controlled and so much better than I was. Your other video about having a roadmap also helps in just basically learning, but also in my writing too since ADHD causes problems with that.
    My job will pay for some IT certificate trainings, but with this new structure, maybe now I can even go on to even better things.
    Thank you again, for helping an older, frustrated person now possibly achieve her goals and dreams in life.
    -- Kantuck

  • @SeanCallahan52
    @SeanCallahan52 2 месяца назад +4

    Great video. Conceptualizing the problem is something I wish I could rewind and burn into my brain. For anyone out there just learning - a simple example would be something like, "Imagine you have 10 friends and you need to give each of them a high five. Think about this like what you would do as a human, go one by one and high five them". That’s a for loop. Obviously to anyone who knows what they’re doing they know they can high five all people at once in a lot of cases but for getting started, just think about these things the way you would think about them normally without programming. What would you do? That’s it. Everything else is just syntax and research on how people have figured out the optimal way to do that thing (or if you’re super smart you come up with your own way and people name it after you). :)

  • @matsfrommusic
    @matsfrommusic 2 месяца назад +4

    The hard part when learning to code is that it's catch 22 situation a little bit. When I first started I made the huge mistake in believing I had to understand every little piece and parts of the code, know what every little keyword meant etc, before I could move on to learning the next thing, and that made the learning process so much more difficult. Everything seemed very abstract because I couldn't relate to any of it, it's just gibberish at that point. Eventually I realized I had to take some time to just learn the syntax by writing various types of code over and over until I knew exactly _how_ to write a constructor class or a setter class or whatever it was, even though I didn't really understand how it worked or what these characters really meant. Just learning the syntax "upfront" like this, was a massive help to me.

  • @RobertNewsome
    @RobertNewsome Месяц назад +1

    One other encouragement is to understand the coders in tutorial videos and classroom instruction are working with code they know very well because they have prepared by essentially memorizing much of the code. They appear to be wizards b we cause of this.

  • @aBradApple
    @aBradApple 2 месяца назад +2

    This video was a refreshing paradigm shift for me. I have been told that I spend too much time pondering the fundamentals and that I ask too many questions concerning situations that might never be encountered. While some of that may be true in certain professional contexts, the "learn by doing" mantra leads to very bad and difficult to overcome habits without the understanding aspect. Personally, I don't feel comfortable sharing my programs with others when I haven't already tested all reasonable possibilites for it to fail... And I can't rightfully do that when I don't understand what I wrote haha.

  • @mb58993
    @mb58993 3 месяца назад +3

    I was struggling with a certain code and It's been 2 days and this vid pops up! Incredible timing! Thank you my lady

  • @VudrokWolf
    @VudrokWolf 2 месяца назад +2

    Excellent content, solid advices, loved it! Thank you.

  • @Kassandra-ct4wl
    @Kassandra-ct4wl Месяц назад +1

    that first one is so true, i am now putting in the work and finally getting it, you have to get your hands dirty and just do it

  • @MartinJosefssonFI
    @MartinJosefssonFI Месяц назад +4

    I started coding in approximately 1983. At that time everything was included in the hardware (Sinclair ZX81 and Sinclair ZX Spectrum). You turned on the computer which didn't have any software installed from elsewhere, and the first key you hit was a part of the number for your first line of code, usually "10". Something like that. Today you have to understand what IDE would be best, what language to choose, what framework would be suitable for your project, how different parts and versions are dependent of each other, how much disk space you will need in the long run and on what drive you should install the IDE, where and how to find the information you will need when coding (books, text sites, videos), and a few more things.
    So you have to do very much research before you can start coding, or you have to be prepared to go back to the beginning if you did a bad choice. And when you start watching the first introduction video, someone will start throwing a lot of strange, technical words at you while scrolling through code and menus, for more than five minutes, before writing the first line of code.
    What did we do wrong when we ended up here?! Nowadays, when you are coding, you will be rewarded much later in the working process. Today you really have to have patience if you want to get to the finish line in your project. You can't expect to say "Hello World!" in the first day of your programming career, like we did in the 1980s.

    • @lepidoptera9337
      @lepidoptera9337 Месяц назад

      I am coding Python in Idle, which is almost as basic as your ZX81. What, exactly, is hard about print("Hello World!")??? You aren't making any sense whatsoever, Dude.

    • @MartinJosefssonFI
      @MartinJosefssonFI Месяц назад +2

      ​@@lepidoptera9337 Sure. You can start any kind of IDE and quite fast reach that stage when you can start writing code. But if you thought that that was the goal for all the research that I was mentioning, you missed my message and the bigger picture. My situation is that that I have made so many choices about languages, frameworks and other things, through the years, and seen my skills (and software) become more or less obsolete, that I nowadays prefer to think twice when making choices for a new project. By doing so, I will be rewarded when coding problems will get solved easier and when the software will live for a longer time. One of my better choices have been VBA in Access - a rather "closed environment" which rarely has been changed. The worst cases are from making site specific add-ons for a web browser and seeing the code on the web site being modified. But that problem is indeed about other kinds of choices.
      In other words, don't take that sentence about "Hello Word!" too literally. The project doesn't stop at "Hello Word!", does it? Also remember that a bad choice or defect introduced early in the development process can have big consequences (se table at en.wikipedia.org/wiki/Software_testing?useskin=vector#Controversy).

  • @apmcd47
    @apmcd47 3 месяца назад +20

    If you are afraid of looking stupid in front of your colleagues you could always prefix your question with "this may be a stupid question, but"

    • @g06o84r
      @g06o84r 3 месяца назад +18

      when you ask, you MAY look stupid once. when you don't ask, you DO look stupid every time.

    • @makulmahato8663
      @makulmahato8663 3 месяца назад

      @@g06o84r and you will remain stupid if you dont ask, coz you will lose the opportunity to learn and get your answer

    • @blackmanops3749
      @blackmanops3749 3 месяца назад

      There are no stupid questions....just a lot of inquisitive idiots.😅😂

    • @blo0m1985
      @blo0m1985 3 месяца назад +8

      Depends on the colleagues. If they are normal - they will help in any cost (and if you are decent as well). If they are toxic - nothing will help you, you are doomed.

  • @phamhoaingoc
    @phamhoaingoc 3 месяца назад +1

    Great advice; all relevant, all true. However, I highly recommend switching #4 and #5. It is a fact that people remember the first and last item on lists the most, and Understanding is in my opinion the most important advice. In fact, tongue in cheek, the list should be: #5 Understand, #6 Understand, and #7 Understand.

  • @sunnyboi1221
    @sunnyboi1221 3 месяца назад +9

    This is awesome I would definitely recommend future programmers to this video!

  • @Artride27
    @Artride27 3 месяца назад +5

    You have shared my thoughts. Many of my friends randomly started learning about programming languages and lectures instead of the origin , purpose and logic to learn programming. Really a good video : )

  • @rohitram9701
    @rohitram9701 3 месяца назад +2

    Great video I ever found, no confusion is left. Thanks for sharing the things that teachers normally do not teach about.😀😀😀
    Coding Was HARD Until I Learned These 5 Things...
    1. Learn by doing
    2. Learn to program, not programming language
    3. Create a roadmap for yourself
    4. Prioritize understanding
    5. Get use to failing
    "5 Lessons to Ease into Programming: Insights from a Software Engineer at Fang Company"
    [00:01] Learning by doing is the key to mastering coding.
    - Practice problems and power through adversity to improve coding skills.
    - Avoid shortcuts and invest time in writing code to deepen understanding.
    [01:01] Code actively by building projects, not just watching tutorials.
    - Choose a project to build and learn required technologies.
    - Focus on learning to program, not just a programming language.
    [02:04] Understanding algorithms conceptually is more crucial than memorizing in a specific language.
    - Focus on grasping the concept of algorithms rather than just the syntax in a programming language.
    - It is essential to be able to implement algorithms conceptually, regardless of the programming language used.
    [03:12] Create a roadmap based on what you want to build.
    - Identify your end goal to determine necessary technologies.
    - Utilize free and paid resources to kickstart your software engineering journey.
    [04:15] Structured course with hands-on practice problems and real-life projects for aspiring software engineers
    - Course covers fundamentals and offers specializations in front end, back end, or devops
    - Provides coaching, feedback on code, and free introductory module
    [05:14] Prioritize understanding over everything
    - This advice is crucial for effective coding.
    - Taking the time to understand a problem now saves time in the future.
    [06:17] The best ways to learn as a programmer
    - Referencing the official documentation of the programming language for accurate information
    - Don't be afraid to ask colleagues, friends, and senior engineers for help
    [07:26] Embrace failure to grow as a software engineer
    - Taking on tasks that are challenging or intimidating can lead to valuable learning experiences.
    - Seeking discomfort is essential for personal and professional growth.

  • @apostrophe.t
    @apostrophe.t 2 месяца назад +1

    I needed this video, as I'm new to this. But that light-up dinosaur behind you is SO cute!! I want one.

  • @fedechiar1
    @fedechiar1 3 месяца назад +3

    Stuck in the middle between "Never write a line of code" and Junior seniority and this video is very helpful. Thanks for your advice Elsa

  • @modoulaminceesay9211
    @modoulaminceesay9211 3 месяца назад +9

    The algorithm today blessed me . Nice video

  • @ZoOnTheYT
    @ZoOnTheYT 3 месяца назад +11

    Lesson #1 Work hard. .....Alright, let me stop you right there. ✋🏼

  • @Andre_RDX5
    @Andre_RDX5 Месяц назад

    I love the way you are telling the truth about doing ANYTHING, including learning something. By asking the "W-Questions" first, and once you have a good idea of "What" you want to do, "Why" you want to do it, "When" you should do it, and "Where" you should do it, (even "Who" should do it) then you can move on to the "How" to do it. Everybody is always asking "How do I do this, instead of What should I... When, Why, Where, Who...??
    Great advice you are sharing here. Thank you.

  • @anishdennis
    @anishdennis 3 месяца назад +1

    been a programmer for like 10 years now and i have told young programmers about understanding the program rather than the language but this is what you master as you progress most young people dont listen to such advise they want quick results until after some time they begine to understand. but this is Ouwsome > I would also recommend them a book for structure and interpretation of computer programms

  • @drcl7429
    @drcl7429 3 месяца назад +2

    Number 1 is very important for a lot of people. Don't get too concerned about doing coding the "right way" or making lots of mistakes. You need the mistakes. You should read about patterns and other practices but don't always try to implement them straight away. You will realise when your code is repeating itself or becoming messy and you will naturally refactor. It will take time.
    As she said just work on a self initiated project, not something too simple but not huge. Something that you or someone you know might actually use.

  • @rayraman3243
    @rayraman3243 17 дней назад

    OMG - the best advice I heard in a long time. Thank you - all points are very valuable.

  • @theopogo9159
    @theopogo9159 2 месяца назад

    Thank you! My mentor emphasizes the understanding of what is happening under the hood and will never give the answer, forcing me to figure it out through my own mistakes. This video is clearly an example of how to approach software engineering with the right mindset. I've learned so much from spending hours staring at my mistakes, drawing diagrams, scribbling on paper, just to teach my mind how to understand what is happening. And also thanks for the course info!

  • @suvhampaul9212
    @suvhampaul9212 3 месяца назад +3

    i agree with all (each has their own path and taste)

  • @dubaifatimaali
    @dubaifatimaali Месяц назад +2

    1:06 exactly what i repeat to my students that hands on practice with coding is a must. You wont learn until you type it. Make shorter programs and learn to create solve and debug problems. Very few keep on practicing rest like yeah we saw what we did.

  • @wLiwa
    @wLiwa 3 месяца назад +1

    Thank you so much for the lessons. No more getting stuck in tutorials 👍

  • @Warjun11
    @Warjun11 10 часов назад

    I can agree. Learning the core of programming is learning how to solve real-life problems with code. Abstraction is key. Notice patterns in your code. A lot of problems can be solved with relatively similar code. There are industry standards for solving certain problems. Learn them. Never use code from someone else wich you do not understand.

  • @tectopic
    @tectopic 2 месяца назад +1

    I find Jackson Structured Programming (JSP) still valid and a great help.
    Also ”You don’t understand a problem until you can simplify it”
    Also “you don’t program programs, you BUILD programs” has influenced my thinking for the better.

  • @vfajardo3
    @vfajardo3 2 месяца назад

    This was so goooood! I am just beginning. I loved each point. Number 5 is really important for me as well! Great video! Thank YOU!

  • @charlessmyth
    @charlessmyth 3 месяца назад +5

    [1:30] This is what the programmer Andy Harris recommends to avoid the programming language trap.

  • @adventureDad1976
    @adventureDad1976 Месяц назад

    Sister, I would usually skip short videos like this one but I am glad I watched. Learn to code before coding language was the biggest idea that helped me. Thank you so so so much!!

  • @jaypoling9147
    @jaypoling9147 Месяц назад

    This is such a good video. The great thing is you can apply this approach to many things in life, not just programming (I’m not a programmer). Well done!

  • @charlesabboud1613
    @charlesabboud1613 3 месяца назад +1

    Superb advice Elsa, thank you! A very high tolerance for failure, and an ability to get up again, is a kind of superpower.

    • @uclassc
      @uclassc 3 месяца назад

      Like a dog on a bone

  • @gog6256
    @gog6256 3 дня назад

    Understanding is key. I so agree with 2. the difference between programming and a programming language. If you have your algorithm worked out, you can go to any language and output your program.

  • @DoomsdayGundam
    @DoomsdayGundam Месяц назад

    As one of those people that jumped right in to python learning syntax. This is exactly what I needed to hear! Thanks for the advice

  • @spectrechaos4395
    @spectrechaos4395 3 месяца назад

    Single best video on what to do to get better that I've ever seen. I actually learned something here, thank you Elsa!!

  • @richardsauer1667
    @richardsauer1667 2 месяца назад

    All are good points. Number five is the best.
    When I started software development, I hated mistakes. As I became a better Engineer, I learned to love mistakes. They were opportunities to review my thinking and solution skills. I found that being forced to review my work and find errors made me a better Engineer. It made me consider the re-useability and clarity of my software. It taught me how to design and implement better software.
    For me, it wasn't enough to build a project solution. It was just as important to provide a solution which was easy to understand by another engineer. Self-documenting code and methods no larger than one screen length became big considerations.
    I began to look at my design and translation to code to be an artistic endeavor. That there was no reason for engineering solutions to be terse and abrasive.

  • @sahinsp_07
    @sahinsp_07 2 месяца назад

    This 5points are the
    • MOST BASIC
    • MOST IMPORTANT
    • MOST EFFICIENT
    • MOST ACCURATE
    • MOST PERFECT
    to grow in this field
    I have watched tone of videos regarding similar topics like this.
    But, the way you describes it just fabulous 🙇🏻

  • @StephSancia
    @StephSancia 3 месяца назад +1

    you truly do speak my language lovely lady and I surprisingly understood everything here perfectly with my seriously cluttered PTSD mind. I have visual spatial learning needs especially (and gifts) and usually get bogged down listening to videos and lectures but there's something special about your style, whether it's your accent, your clarity, your focus, I don't know but there was something unique about your delivery that had me understand absolutely everything perfectly so thank you very much. Obviously this is a line that I'm very interested in studying. As a sideline I did actually wonder at 3:55 whether the potted plant was a prehistoric dinosaur or maybe that's just my crazy imagination. Anyway you do have much time on your side whereas I don't but I shall take a look around your channel to see if there's anything else that I might learn, and thank you. Have a fabulous week ahead 🎉

  • @Nithinyadavg
    @Nithinyadavg 2 месяца назад

    Simple but spot on , 1 What , 2 How , 3 Why,
    logical evaluation and simple logical thinking what your doing ,and How are doing it [in real time] , and for why yor are doing it to , & if you have a time revaluation and think to yourself "what else" can be done better
    or just a step & sit back for what you done by yourself and appreciate it ,for that
    doing mistakes will be a new lesson to learn

  • @TheGarynDaSilva
    @TheGarynDaSilva 29 дней назад

    Thank you for your insights, I'm am just starting my journey into the world of coding, and you have provided me with some practical steps and solutions to keep pushing forward 🌟

  • @mveronie
    @mveronie 27 дней назад

    Great tips! Gorgeous plants in the background!

  • @ethicalatheist1078
    @ethicalatheist1078 2 месяца назад +1

    Brilliant and absolutely true! As a person who has been a software engineer for 37 years and typed out millions of lines of code, I can confidently say that I use these 5 things every day.

  • @Cukito4
    @Cukito4 Месяц назад +1

    I learned when I was 12. I read some code, wrote it, ran it, and understood why it happened. Then I learned some more, rinse and repeat. When an error happened, I instantly knew where the mistake was. More learning, simultaneous with programming. I just had a comprehensive and easy to read book. No Internet back in 1985.

  • @tronggia_70
    @tronggia_70 3 месяца назад +81

    1. Learn by doing
    2. Learn to program, not programming language
    3. Create a roadmap for yourself
    4. Prioritize understanding
    5. Get used to failing

    • @Artride27
      @Artride27 3 месяца назад +9

      You you are casually destroying her watch time 😂😂

  • @mcls6289
    @mcls6289 3 месяца назад +5

    Thank you, what a great work, keep going ❤️

  • @josephadeusi5632
    @josephadeusi5632 2 месяца назад

    I love the way she's saying ... on top of that...😄... thanks so much. this is really helpful

  • @SwedeEad
    @SwedeEad 3 месяца назад

    Excellent video. Concise and precise with no artificial additives or flavourings. .As in code, so in life. If the rest of your videos are as good as this I'll be watching more. Thanks!

  • @emmanuelo1177
    @emmanuelo1177 2 месяца назад

    So true. Thanks for sharing to the community.

  • @wzup23
    @wzup23 3 месяца назад +3

    "No discomfort, no expansion." Ok2 noted!

  • @gustavogmartinelli
    @gustavogmartinelli 3 месяца назад +1

    Amazing! Simple and straight to the point. Thanks!

  • @Frank-Guts89
    @Frank-Guts89 3 месяца назад

    A lot of value on this video ! For me it’s perfect timing bc I’m just getting started so thank you so much

  • @hartimyeung6081
    @hartimyeung6081 2 дня назад

    Good points! Back in the old days, programmer was the most rewarding job. I still think it is. I agreed programming is a skill, yet the Recruitment Agencies look for particular language experience only. Like all good profession, it's a life-long learning career. It's exciting to know there's something new waiting for me to learning every year.

  • @seapride-dev
    @seapride-dev 20 дней назад

    Thanks for the advice. It is time to put them in practice. Hope to see your next content

  • @xmante69
    @xmante69 2 месяца назад

    Thanks. I thought i could take shortcuts with C++ but every progress I made sent me right back to the basics which i kinda skipped😂 this video has re-in-forced my interest in re-learning the problem solving concepts instead of coding. Thank you!

  • @dmctube711
    @dmctube711 2 месяца назад

    I wish I could like this more than once. Very helpful and reassuring advice! Thank you!

  • @zorqis
    @zorqis 2 месяца назад

    Good points. To the 1st point (learn by doing), one sub-task is to learn how to *test* ideas, programs and experiments (TDD, test driven development).
    That will help setting the right context, answer the "why" questions and help focusing on the problem to solve. It might also help with the later packaging, deployment and production phases.

  • @rodrigogm
    @rodrigogm 3 месяца назад +1

    certainly takes time learning in that way, and money. I began a few months ago, wish me luck! best video recomendation!

  • @calebnyamwea7123
    @calebnyamwea7123 20 дней назад

    Well explained and truthfully said

  • @FATIMAELAMRANI-k5e
    @FATIMAELAMRANI-k5e 2 месяца назад

    great video finally getting to catch some of the basics through a project based tutorial wish is a great way to know how to implement the basics thank you for your effort

  • @LizKeye
    @LizKeye Месяц назад

    Thank you, this was extremely useful. I've been struggling to discern the underlying fundamentals of programming logic, as you outlined in 2, so it was reassuring to hear this was something worth focusing on. If you ever plan to upload a video with a more abstract overview of how to approach programming logic, that would be amazing. Alternatively, if you have any recommendations on specific resources for this, that would be helpful too.
    Regardless I wish you luck, and look forward to exploring the rest of your channel. I think we may have similar thinking styles.
    Sincere Thanks
    Liz

  • @TheFuture36520
    @TheFuture36520 3 месяца назад +1

    Implementing the math is the crazy part which is a crucial factor in devising an algorithm.
    The algorithm is meant to sort out the datastructures by performing functions like search, add, delete, etc.
    I use w3schools offline version

  • @Anonymous-fr2op
    @Anonymous-fr2op 3 месяца назад +5

    I personally believe those who refuse learning math and calling themselves programmers by writing some code to join a bunch of dependencies are the most prone to losing their jobs to AI, they should be scared far more than those who are comfortable thinking mathematically

  • @Joyfulnoisealaga
    @Joyfulnoisealaga 24 дня назад

    Thanks so much I completely searched a different thing but the algorithm brought your video it is incredible I needed this❤❤❤❤

  • @ISpyLexi
    @ISpyLexi 25 дней назад

    Prioritizing the understanding was huge one for me. At first it felt like I was learning at a slower pace than my peers, but after awhile it seemed like I had a more advanced understanding so I was more equipped to help myself and solve issues on my own. It also gave me a lot more room for creativity.

  • @rphipps8335
    @rphipps8335 3 месяца назад

    Great video. It is very simple advice but "simple" is not the same as easy. I have lost count on the number of times I have tried to learn coding. I think this advice may get me through it. Thank you.

  • @rty1955
    @rty1955 3 месяца назад +1

    I have been coding since 1969, now a CIO.
    Ask yourself this: "does a carpenter build a house without a blueprint? No! Then why should you code without a flowchart?"
    As a CIO i dont care what language you code in, i will ask you to go to the whiteboard and flowchart a problem. If you cant do that, i show you the door.

  • @MafutaGames
    @MafutaGames 2 месяца назад

    Yep, very good advice. Fail your way to Success! I am actually making training tutorials for kids who want to start programming but need a fun way to learn by making a game. Thanks for a nice video.

  • @joe_hoeller_chicago
    @joe_hoeller_chicago 3 месяца назад

    It was code design patterns like services & FP paradigms that unlocked coding for me.

  • @Pewpewz
    @Pewpewz 3 месяца назад +2

    You eventually get to a point in your coding journey where you can watch YT videos on 2x speed and understand everything that’s going on. But that comes after coding for years, not before.

  • @martinfields373
    @martinfields373 3 месяца назад +1

    I love this video. You learn nothing from success. You learn from pushing through failure.

  • @EzeSamuelChijioke
    @EzeSamuelChijioke Месяц назад

    Super great
    The Five are really inspiring
    And it builds me up in my coding skills

  • @SimulationNPC
    @SimulationNPC Месяц назад

    This is sound advice and will be very useful. Active learning is necessary.

  • @shambhugangwar7900
    @shambhugangwar7900 3 месяца назад

    Solid advice. I agree with most of what was being said in this video, however one should keep in mind conceptual learning is also must while learning to program and sole focus on building things may induce to skip on conceptual or theoretical part. In job interviews conceptual part is as much important as the practical part. So you can't underestimate book learning even while learning something as practical as programming.

  • @LabyrinthMike
    @LabyrinthMike 3 месяца назад +1

    My usual experience with Stack Overflow:
    Q: I trying to use X to do Y and I can't get it to work.
    A: Why are you trying to do that?

  • @TheRedPillz
    @TheRedPillz 2 месяца назад

    THIS!....Was Brilliant Elsa. Incredibly insightful and a must for any and everyone from beginner to advanced to always keep in mind from simple to enterprise tasks. Thanks again.

  • @PerriPaprikash
    @PerriPaprikash 2 месяца назад +2

    i think the most amazing thing is that she's been at amazon for 4 years! most people churn out of amazon in 18 months.

  • @alvarolorenz4145
    @alvarolorenz4145 23 дня назад

    This video really helped me. Thanks!