Why Is Programming Difficult?
Вставка
- Опубліковано 10 лип 2024
- Programming is not easy. It takes massive amounts of effort, focus, concentration, stress and sacrifice to become proficient enough to become a software developer. In this video I break down why exactly programming is so hard and how to use it to your advantage.
** JOIN MY GROUP **
Looking for a high-quality group of software developers where you can discuss your ideas and not be bombarded by spam? Then come join my free Facebook group! You can access it by going to: andysterkowitz.com/group
** BOOKS I RECOMMENDED **
The War of Art by Steven Pressfield: amzn.to/2NUe3Wu
The Obstacle is the Way by Ryan Holiday: amzn.to/2NXmjoQ
Psycho-Cybernetics by Maxwell Maltz: amzn.to/2VQe4xn - Наука та технологія
How challenging has programming been for you? How difficult is it compared to other things you've tried to do in your life (get in better shape, change careers, learn a skill, etc.)?
I think it's subjective and we can't generalize it as being difficult or easy , every profession is not for everybody and that's why we are seeing more and more cases of people feeling stuck in their jobs/careers cause they never tried out other stuffs. So we must keep exploring other avenues if possible and do what's best for us. I personally enjoy programming and see it as a never ending learning process rather than to reach a particular level and getting relaxed.
I haven't really thought about it like that before. Usually when I get stuck while doing something I would usually always believe that I am the problem that, maybe I'm not smart or clever enough. When the problem is really the way I handel things that are challenging in general. This video was really nice, I enjoyed it and believe that I learned something that will help me alot in this programming journey
One of the things that I lack is the patience to read and understand documentation about a particular programming technology
I think it's the marathon process that makes it especially difficult for some (and myself). There is no quick fix here, it's a process. Personally I only have an hour or two of free time a day and it's hard to carve out time to code when all I want to do is crash.
I have been on a journey of learning how to code for about 9 months now and for me personally, i never experienced a period or problem so difficult that i want to quit. Of course every once in a while I get stuck on a problem or a bug etc and my self-esteem goes down, but I never reached that issue where i was like "Damn maybe this is not for me". I just take it day by day and try to progress with small task one after another.
My attitude towards programming is:
"I don't know how to do this, i'm scared to do this, but i'll do it"
big mood
I can't even understand my instructor. She can barely speak English.
Keep pushing on if you love it.
@@eazye088 You can self teach yourself like I did. You don't have to rely entirely on your instructor. There tons of good courses on the internet.
finishing a challenge feels so good
To me the hardest part about learning programming was the switch in mindset and thinking that programming takes. You need to switch your mindset to think like a computer, because you are writing code for a computer. Once I switched my mind to think in a purely logical state it became much easier to learn programming.
Yeah I see what you mean. It's hard to understand the concept that "computers are dumb" in the beginning but it really is something you begin to grasp over time. It will simply execute whatever you give it and thus you have to break everything down logically to the smallest step.
@@AndySterkowitz That is so true. I never realized just how dumb computers were until I started programming. If you forget a single semi-colon anywhere, your entire application can come crashing down and that is incredibly frustrating.
Being afraid of programming on your first days because you don't know something is like a doctor being afraid of doing open heart surgery on a patient after only a week of college. (The good thing is you can't hurt the computer so you can start practicing open heart surgery on you first day. :)
Amazing comment. Thank you for sharing this. I needed it.
Remember: just don’t commit to master!
totally
Nice analogy I love it
@Jose Protacio shut your mouth bro if you don't like it don't comment he gave nice analogy
A journey of a thousand miles begins with a single step...
- Keep in mind :)
Exactly
Till you reach a step that says goto step 1 😂
But i begin with a single step and stay there forever cuz its so friking hard
Multiple 10-minute blocks of meditation spaced out evenly through the day is what has helped me the most in learning to program.
Second that. Meditation can really help you take a step back and focus on what you need to do. This also applies to similar things like solving mathematical problems.
Elaborate a little more pls
That or walking. imho 20min is the minimum duration to hit a sweet spot. ymmv ofc.
More I code I feel I'm meditating with it
I’m amazed you still have this much hair doing programming.
😅😅😂😂😂
Lol
It's a wig
great message but he is free from frustration and day and night job as he is an freelancer that's the only reason he is enjoying at his best and comfortable to work
as soon as you land in big companies then get ready with health issues and getting bald.
One thing that I’ve learnt after long time of coding and overall in my life; is That Anything That Worth it, Is Hard.
Definitely. If it was easy, everybody would be doing it and there wouldn't be as much value in doing it.
If you're struggling you're making progress. Also think like a computer it helps
0100 1001 0010 0000 0110 0100 0110 1111 0010 0001
0010 0110 0001 0010 0111 0110
Computers can't think. They just respond to lists of orders to flip switches to the other position, as knocking over a domino or setting it up again. The computer's advantage is that it does this very quickly. The human skill is in creating the lists of orders, the execution of which gives the illusion the computer is doing something useful or even intelligent. The usual difficulty in accomplishing the list creation is that the many levels of abstraction from bit flipping in the machine to a productive human-computer interface are difficult to comprehend overall, and to manage effectively at an optimal detail level to be productive personally and computationally.
A good book that tells the story from machine code to beginning C programming is Code: The Hidden Language of Computer Hardware, by Charles Petzold. He wrote lots of early Windows programming texts, but this book teaches the elementary hardware to software transition for anyone who can read at a (junior) high school level of abstraction.
Thank you for you wonderful statement!! It is true that when you struggle, you are making progress.. this is true
Hey Andy, just wanted to thank you for all the helpful advice you give and for not putting annoying intros and bumpers in your videos by just getting straight into it.
Wow man! You sound like a true friend with real advice. You're appreciated! Much Thanks.
Daaaaaaaamn, this hit me square in the chest Andy! Saving this to listen to while on my coding journey. I needed to hear this!
Your videos are key to get me through the tough times and to continue following my lifelong dream of becoming a software dev. Thank you.
I'm so glad to hear that you dream of becoming an SW developer! That is so cool!
One of the coolest things about SW development is that you can sort of modulate the challenge level. This is a blessing other careers don't have. Imagine if people learned about building houses the way we learn SW development. You don't get to build just the roof or just the doors. You either build the whole house or not. With SW development you can focus on a simple piece of code and learn that.
If you don't consider yourself a software developer (why not?!), you can start by contributing to an open source project. Start by trying to solve the easy bugs. I'd be amazed by how many simple bugs take years to get resolved just because no one takes them.
Good luck!
Eric Heredia my ultimate big dream since i was a kid is to be a programmer... I’m afraid as i just started working but i can’t give up my dream .. i will try and cry until i reach success .. no matter what ..
Andy your timing is impeccable! I’m learning to code at 39 and last night I reached a point of self loathing during practice. Thank you for the book recommendations. It’ll help a great deal.
Same here I'm 34 and trying to learn c# at the moment. Anytime I try to go to any coding challenge website itvmaesvme question why I started this endeavor.
@@Rhine2271 well if you live in a third world country programming is your only way not to work for food and go to USA or EU.
@@snowsnow4231 if that is your situation I wish you the best of luck! I'm not giving up I just get overwhelmed when i go to those sites because ive been learning this for less than a month now.
@@Rhine2271 yeah thanks :D Well just try to go step by step, that helped me to learn japanese
I'm 42 and I'm also learning to code. And I've been doing this for 20 years now! That's one of the coolest things about being an SW developer, you'll never be out of stuff to learn!
Thank you Andy, this video is that missing small piece of puzzle that I needed to return to learning programming, you can't imagine how much valuable it is for me in this difficult moment of my life when I almost returned to my bad habits, wasting time on games, parties and again feeling like I don't know what I live for. Thanks to you I want to be better version of my self and I believe that I can do it :)
Whenever learning programming (or a new skill for that matter), you need to be persistent and resilient. I am a firm believer that failure is a huge part of success. Therefore you must go through the pain and agony of failure in order to achieve the desired result.
Focus on progress, not perfection.
Since I have personally been programming, I have developed a stronger mindset when undertaking software development as well as other general life tasks. Because I haven't quit at software development when times get hard, I haven't quit at other things too. I hope to continue to make the good progress that I have done over the last few months.
A very good and useful video once again Andy. Keep these coming!
I started an 8am-5pm Mon-Fri online coding course 3 months ago. I have never put so much effort into something to learn so little, most days it feels like catching smoke with your bare hands. This course is 9 months long, so excited to get through it and have the knowledge and enter the industry. I want to learn everything!
so true..:) I've been studying just for a few months but I can already see how much it has improved my way of thinking about a lot of things.... I think it's definitely a great thing to learn if you work in any field..
Just the encouragement I needed. I was searching for something that could be like a push for me to go forward then i stumbled upon your video. I'm at this point where i'm about to give up due to my anxieties over work. Thanks for the helpful "push" Andy.
23 years programming and still feel the same😁
Thanks for sympathizing
Same here! Been doing this for 20 years. Now I want to learn functional programming and Erlang.
@@leonardopsantos Is software really that hard?
UA-cam recommended this video just at the right time!
“Focus on the moment, not the monsters that may or may not be up ahead.”
― Ryan Holiday, The Obstacle Is the Way
Love that, thanks for the book tips, definitely going to read them :)
(even if I wonder when, since I'm always programming (read: trying to) in my spare time lately) !
Amazing video, exactly what I needed to hear today! I will check out those books too!
Thanks great vid and so true about shutting down the negative internal dialogue and negative emotions. Often that's the bigger obstacle than the task itself.
Good piece, man. Over the years, there's something I've come to realize about coding. You just slog through it until it's done. Some things will come more and more easily with growing experience, but all developers face challenges with new projects. It's generic advice, but break up the task into smaller, distinct parts, and then start picking them off. I usually try to get the hardest part done first knowing that once I finish that part, the rest of the project should come more easily.
The one biggest thing I've only recently gotten better at is writing out a project design strategy before I start writing any code.
Thanks a lot for this video. I really liked how you went into the emotional & mental struggles people face when trying to something complex/difficult. Hope to watch more of ur vids!
Thanks for the video, Andy. Keep up the good work.
I’m a student and this man just made me believe myself no one would. Thank you very much ❤️
God bless you, Andy. Going through so much of this right now.
The amount of abstraction necessary to grasp certain concepts is mind boggling for me, and was even when I was at university. You're right Andy-it doesn't go away. I've quit and come back more than once. But the projects that I'm most passionate about continued to demand software development. There's no other way. Truly, certainly, sitting down and learning how to free-climb this mountain is the only way around it. Meditation over the past year has been truly helpful. Keto, somehow, has been pretty darn helpful too, since I'm not always thinking about food. I've removed every complication in my life just to be able to dedicate the entirety of my day to the task of climbing this mountain. I even have the gear. Thanks for taking a few minutes to remind me that I'm not the only one feeling this is insurmountable. If I persevere, I can get there. Discipline, not necessarily self-motivation, is what keeps us on the path.
@Andy, I subscribed for your honesty. When I see a UA-cam thumbnail with a "Programming is easy", I wonder who is the target audience for that channel. I've been improving year after year but I recall when I understood CRUD operations in the backend or even Angular as a whole I suffered to go through the breakthrough and needed an AHA moment.
Maybe that is the video I need at the moment thank you so much this channel is awesome
Thank you for doing this. I deel with the same kind of problems that you were talking about in this video and this kinda helped me out.
Thank you Mr Andy ☺️. After a difficult emotional time in my life you made me self analyse myself and got me back on course ❤️! Emotional frustration or anger push you from what we like the most... And for me its programming. Thanks mate really cant thank you enough!!
Hi Andy, thanks so much for your video. This really helped me to create a new mindset. I was feeling quite low because my dad just died and I had to start working again, where I am learning to code. I was very frustrated and feeling stupid because coding the simplest things didn't work out for me. But now I have new courage and more patience which has helped me to get to solutions I would otherwise not have found. Thanks!!
I totally needed to hear this!!! Thank you so much sir!!!
Do appreciate the clearity with which you presented your points, totally relatable 😊
Great and realistic commentary. Wherever you go, there you are. I think that for me I expect to learn this easily and that is the issue ~ going toward the fire is the way to overcome the fear. Knowledge takes sincere and committed work. No short cuts in anything worth learning.
Wow, that was a cold shower but such a good one! Thanks for giving me perspective when I get frustrated. It's literally exactly where my problem is, as soon as something gets a bit complicated I always get complicated and the example with the guitar, boom. That's it!
Love your input. Thank you ☺️
You channel is so underrated. Thanks you for all these helpful videos
This was a timely video for me, I've been having trouble getting back into learning over the last 3 months. I kick myself for not doing it. I have the 2nd book you mentioned, I need to take a look at it this week. I do a lot of self reflection and have been trying to learn more about my weaknesses and getting past them. I'm at a pivotal time in my life and I want to come out of this successfully! Thanks again for your videos.
Just keep grinding we're all going to make it one day !
You have to realize that programming is like every other skill, you need practice. Programming is very much like learning how to play an instrument. Would you be able to play a Bach sonata on the piano after just 3 months? I sure wouldn't! Same thing here.
And sometimes it's not a matter of effort, like putting 8 hours of practice every day for months. OK, that helps. But because programming is a mental activity, sometimes you need time so the problem "sinks in". Sometimes, the best thing is to just stop for a while and go back to the problem a few hours later. I can't count how many bugs I solved while taking a shower! Seymour Cray was famous for digging tunnels. Later he would say that "the elves helmed him solve the problem".
Just keep doing it, but don't overkill! PROGRAMMING IS SUPPOSED TO BE FUN!!!!!
Hey Andy! Just subscribed. Great contents!! I am really pushing it hard to learn front-end development. So you are definitely a great help.
This is great. Very real and very encouraging
This is actually the video I needed right now. Thanks you so much so motivational
One of the best examples of looking in a positive way at inherintly negative things I have encountered. Sometimes shifting perspective can seve your life. Kudos!
I really needed this now Thank you, Andy!
Glad to help Olga!
Thanks, Andy. I needed to hear this.
Insightful, I always come to problems as an intermediate programmer. I just remind myself that I will solve it, like other programming problems before it! And with the thought that I know I can do it keeps me going!
This is very relevant to what I am going through at the moment. Great video!
Interesting video. I have been learning to program myself for just over a year and I can completely relate to alot of things you have said. Getting frustrated is very common in something like this especially if you can't see yourself making progress and feel like you are always failing. I believe as humans we get so locked into seeing ourselves as failures if we haven't acheived it all but sometimes we forget that all these small steps we take really matter, they shape our future career and projects and are something to be proud of. So I have switched the way I think about failing. When I started learning to code I would beat myself up every time I couldnt solve a problem. But now I look at failing as a positive thing. Anyone who takes the time to really solve a coding problem and really tries to solve it, no matter how many times you fail just remember you are LEARNING and if you keep trying and have alot of persistance that is the one thing that will set you apart from all the people who just give up and take the easy option. It is is tough. It takes ALOT of practice, it can be mentally exhausting and sometimes can feel very intimidating. But never give up because like Andy has pointed out here you will regret it.I am so glad I didn't give up as learning to code has already started opening up opportunities for me and it can for you too if you just keep going. See every small problem you solve as a positive. Think of it as distance travelled as opposed to thinking only about the main goal and haivng it all. I hope this helps.
This helped a lot thank you ☺️
i really needed to hear this, thankyou
it's the best explanation across all yt universe about this topic! directly from the heart! thank you so much!
Just what I needed to hear!
Thanks man, this was super spot on for me and super helpful!
I love this, man! I try to communicate this stuff to people a lot!
Wise words Andy!
Thank you!
You’re welcome George!
This was a very validating screed lol. Thank you. Needed to hear it.
Am always inspired by your videos
Keep the good work
I've just started learning programming for 2 months maybe. I have found the ideas difficult to grasp for the past few days and am terribly frustrated for some days. I was in need of motivation like this. Thanks a lot. Now I will take a break, refresh and work harder. Thanks a lot from the bottom of my heart.
The most inspiring video on UA-cam. Thank you 😊😊
what a refresher thanks for motivation
You would do well as a sponsor in a twelve step program. I heard a lot of sayings from the rooms. Thanks for your information and hard work helping other people. It’s helped me so much.
Thanks for the book recommendations!
really nice video and gets exactly to the point... (and not only for programming). a young man here, who is on the fence about it. greetings from Greece! :)
Thanks for the video!
I don't usually comment on videos on UA-cam but this one is so powerful, I have to. Very well said bro.
Good Tips, sir keep moving forward!
that bit where you see who you really are when you program is so true, my self control is nothing.
Its been a personal journey but one day I will conquer this
This video came into my life, at the very best moment! Thank you sir.
Thanks Andy!
Good camera setup. Easy to see the difference. Thank you for investing in a camera - I really appreciate that especially that you provide good content. Also, no music is very good.
Amazingly inspirational. Thanks
This video helped me more than any software dev video out there.
Quite helpful - thank you so much!
I’m in school learning programming and recently struggling, thanks for the motivation!
Loved this video, man.
Great words men! Thanks
Keep on trucking people, it's about taking the hits and moving forward
I needed this, thanks! Also, Emotional Intelligence 2.0 is a great read. Keep the vids coming!
Thank you Andy.
Im still an intermediate level in programming world. currently learning coding and aiming to become a developer someday. Sometimes I get really frustrated not understanding a certain lesson no matter how hard I try. It's just annoying. Thank you so much for this video. It kinda helped me somehow with my frustrations
Honestly programming itself isn't hard at all. What I mean by that is that yes, at first it is hard to grasp the concept since it is new but once you get it down, it is not hard at all. What is hard is the logic that is implemented through coding.
what is hard is that people who make the rules and logic don't want others to know it.
But why can't it be like "hello" instead of "(insert codes made by greeks here) hello (insert more codes made by greeks here)"
Exactly.
@@0megazeero You're implying that writing "hello" will work, but the computer needs a specific instruction because they don't understand it (They are pretty stupid). It means nothing for them. They would be like, "What are you trying to say hooman? Do you want me to read it? Print it? Save it? Tell me exactly what do you mean..."
@@0megazeero Because you typing "hello" doesn't tell the computer anything. It doesn't know if you want it to print it, type it into a file, find a file that contains hello, say hello, draw hello in 3d text, or anything. Computers are stupid, they don't understand context.
Inspired! Thank you.
Cheers!
I'm going through this. Great pieces of advice.
Great insights man.
Thank you Mr Andy :)
This is exactly what I needed
Very good points.
Well Said ! Thanks for wisdom
i took a break from programming for 4 months and before the break i was starting to see the glimpses of the ''matrix'' and since i dont have proper education i consider myself stupid and thats where my biggest fears come from im just afriad that im not smart enought for this , i also read online some negative things that maybe programming is not for everybody but i really want programming to be my career ur video kinda helped since u said that everyone kinda goes through the same feelings thanks it definitely helped , also i will never take another break as long as i live just to not almost start from zero again
Thank you brother
Love it
You're awesome!
You changed my life tonight with this video. Exactly what I needed to hear, and I made a big decision.
Thank you for your advice, I was really frustrated!
amazing vids dude
Thanks!
It takes a lot of empirical intuition (subconscious fluency in elementary steps), the ability to associate/integrate broad information, and on demand, analytical thinking and deep reasoning. When you code, your brain is doing everything.
Thanks a lot for providing the names of some good books
This was helpful like all your videos thanks.
Thank you! 😊
Great video!
I always tell people when they start asking me about programming is the reason why the “smart” kids can do programming and others (believe they) can’t is because they’ve been told and believe that they’re smart and are therefore willing to stick with the problem longer.
Thank you. You’re videos are always great (:
I wasn't "told" that.
I'm just making observations : programmers are *incredibly* smart.
I just can't memorize all those lines and understand the way it works without having my anxiety kicking in...
@@Sanlyyn
Ever since only memorizing basic structures/concepts (print, for loops, if/elif/else statements, functions, while loops, etc.) in Python, instead of libraries/functions (can look up those in documentation), it has become much easier for me to program without looking too much on the internet or having someone to hold my hand.
Also, if you are a beginner, you have to take everything super, super slow, and do very, very simple easy things at first. You might have to do many problems multiple times. You might need two or three online courses or books, instead of just 1. Nothing in Python clicked for me until I read my Crash Course in Python book twice and I am doing an online Udemy course now.
Here is what I did: Get a good IDE (I use Sublime Text 3 or 4 for Python) and practice 1 basic concept, 200 times that day. Yes, 200 times. Like for that one day you write a if/elif/else statement over and over. Then every day, practice that same thing 10-20 times daily. Then the next day you do a for loop 200 times that day, then practice your if/elif statement again. Now practice your for loop and if/elif 10-20 times a day in different ways for a few weeks.
Then after 2-4 weeks it should be much easier to remember.
@@bm1006
Thank you for the advice, obviously it gets easier to remember if I do an exagerating amount of practices x')
@@Sanlyyn
You're welcome!
Yes, it has to be a ridiculous amount.
But then once you have to do it from memory, the framework kicks in easier.