To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/TheCodingSloth . You’ll also get 20% off an annual premium subscription. I hope this video helped any of you who felt stuck when learning to program. Better start thinking like a programmer and not rely on tutorials. EDIT: I LOVE PRIMES CONTENT. I USED HIS IMAGES FOR MEMES/ENTERTAINMENT ONLY NO HATE
Programming is the most counterintuitive thing ever. I normally pick up on things pretty fast; but when entering the programming world you have to be IN THE KNOW to understand every phrase. Analogy: When your just starting math you learn that math is done with numbers. Perhaps your learn to divide, add, subtract etc. But once there’s random letters and things in there that’s when you **reference points** dwindle. Example: 5(5)=x(squared). Show this to anybody that’s only learned the basic fundamentals of math and they’ll look at it and try to solve it only using previous things they’ve learned. Therefore: you need to context of how these things operate. All learning is built on a foundation of prior knowledge. Dude.. Computers are humbling. Everyday I question my intellect because of them. Everyday I’m left with a headache. Programming sucks.
I can tell you this one thing that you were wrong about. Programming is NOT HARD. I can guarantee that it is not. You know what is? It's the political battles in every single company you work in. They will spend their their time to argue about what features they should add/remove, then remake the design like...a zillion times. Then, they're gonna test your "patience" by seeing how you comply with their st**** demands. Those are the things that everybody will encounter in every company they work for. Other than that, I agree, you need to stop watching tutorials.
Realistically speaking I built a full stack website for a local client the website was simple I used bootstrap for the UI and node for backend with MongoDB for storage. The project was relatively simple but i remember just how frustrated and stressed I was when I was coding it. Yelling back and forth at ChatGPT. Trying to scrape through stack overflow. Today (6 months later) i opened the code again and I was blown away just how simple it was. The point being that: what you find hard today wouldn't be as hard in the future, the point is to keep going and keep learning. Cause remember: the more you F**k around the more you find out.
1. Break down the problem into sub-problems. 2. Projet based learning. 3. Embrace failure as a learning tool. 4. Practice regularly and for along period of time. 5. Stop comparing yourself to others.
One of the hardest parts of coding for me is that often you can't see all the tools at tools at your disposal. When I'm doing electrical work & get stumped I can go over to my toolbox, open it up & just have a poke around to see if there's a tool or combination of tools that might do the job or at least inspire the solution. With digital tools its much harder to look at all your options.
I think you really hit the nail on the head with my problem with this stuff. With various parts of my life I've been so conditioned to having a set of limitations and tools that do very specific tasks, no more no less. With this stuff there is page after page of potential tools, and when the time arises that you need one, you don't even know it exists.
This is something I genuinely struggle with too. I almost think it might be worth having a giant print out of every single tool of a language, but my walls aren't big enough
literally this. i don’t feel lost if i use something like scratch to code but when i look at the actual coding language itself idek where to begin because i don’t know what i can actually do
Worst part for me is when you know the tool you need for the situation, but you don't know the name of the tool. So you search up what you think it could be, and get things adjacent to your problem, and only after hacking a solution together you find out there was an function that did it better and faster.
I thought I was the only person in the world who kept saying to myself "Maybe this isn't for me" every time I struggled to work out a problem or thinking why isn't this concept sinking in. I can't stop thinking about a coding problem when I have one and I'm so mentally exhausted after I finally crack it that I feel like I've just been to war. Perseverance is definitely necessary when coding in my experience, as is having fun solving problems. Spent many nights screaming at my monitor, but the feeling you get when you finally solve the problem is amazing. Very funny video btw.
@@TheMelonbros123 Everyone learns concepts at different rates, there are things that you may breeze through that others may struggle with. My advice would be to make sure you read the official documentation (can be kinda geeky), look at other people's code which incorporates the concept you're struggling with to see how they're utilizing the concept and play around with the concept yourself to see how it behaves. Everyone says it but it's true, Practice and Perseverance.
That's the satisfaction of this job when you see the thing you have been building for a long time finally working. And what you say about code isn't necessarily bad. I always catch myself thinking about projects or about code I want to write or wrote
I've been there even though I had written tons of projects. Doing projects you're motivated to do is a great way to avoid frustration or burnout imo. Doing projects just to do them is not a good approach, find something that interests you and give yourself plenty of breaks, and give yourself the benefit of doubt. Just my 2 cents lol
I stopped watching tutorials when I realized I could read the documents by my self and honestly speaking. Reading docs is so much better than watching tutorials.
I haven't searched for tutorials in a long time, when I want to know something I search then go the the official docs, I learn more that way sometimes I get carried away by other functions that might solve a future problem or make my code writing better.
It depends on the quality of the doc, the videos and you. I learned more about Authentication/Authorisation with Identity management watching a 10 min Nick Chapsas video than reading plenty of doc about the subject. I use also RUclips tutorials to be aware of what is done outside of the languages/framework I use.
This is really reassuring because I’m trying to learn JS and have a good understanding of troubleshooting and solving “the puzzle” of getting something how I want it. I started by writing down what every line of code did
This year i landed a great web developer position starting at $30/hour full time. I love it because all the hours i am putting in is making my programming skills WAY better by working 8 hours a day writing and testing and debugging and getting feedback. Its been a great experience and praise the Lord i got this job.
Wow this video perfectly sums everything up! I started my first Software Dev job at a small company 2 weeks ago and feel so overwhelmed with everything. All I ever did was "program stuff in python" and now I have to learn 100 different tools on the fly because thats just how that works.. Its really fun but also frustrating and hard because I constantly have to ask for help since I don't even know WHAT I don't know..
@@tezzla6358 I am german. I think the software dev problem is a lot worse in the UK and USA than in germany. But still.. i applied for like 30 jobs and got 2-4 job offers. I was quite surprised that they took me too but I talked to them about it and the thing is that I still study so 1. I am cheaper and 2. I study the exact topic that the work with (LLMs) and people that know stuff about LLMs are really rare since its a relatively new topic. =)
If the author of the *The Coding Sloth* won't mind, a few timestamps...) 0:00 - 6:11 the definition of the problem _Why Programming Is Hard For you_ Tips by *The Coding Sloth* : 6:12 Tip 1: Break down problems 8:36 Tip 2: Project - based learning 9:05 Tip 3: The Feynman technique 9:43 Tip 4: Embrace failure as a learning tool. Fail stands for: First Attempt In Learning 9:57 Tip 5: Practice Regularly and for a long period of time 10:17 Tip 6: Stop comparing yourself to others Thank you, *The Coding Sloth* , for your doings!!! Great Job!!! 🙏🙏🙏🙏
I've been a software developer for 30 years now and this is one of the best videos I've seen which explains what is needed to be a good software developer. I keep telling people that it's becoming less and less about "coding" and more and more about problem solving. For example: No one is ever going to tell you to write a function that takes a list of integers and calculates the sum. You are just going to get some vague requirement from a user or business owner and you are going to have to work out yourself that one of the components to solving this requirement is writing said function.
Something I'd like to add is to read up on books on software development like Pragmatic Programmer, Martin Fowler's books, etc. It helps with the foundation of your skills
Well, as I am currently in College (University), I think this is one of the most important lessons. I am really enjoying the books from "No Starch Press".
100% agree. When looking back at university, the one thing I'd like to change is reading more books, and rely less on professor provided material. Another thing is doing more networking, vitamin B really helps a ton when searching a new employer.
I've been programming professionally for about 20 years, and this is solid advice. Especially the part covering explaining or teaching skills to someone else.
the best anology here is with filmmaking. its not the technical and the 3 act story structure, because that's easy to learn. what hard is what kind of story are you going to tell? what of movie are you going to make? who is your target audience. a lot of filmmaking students fail to make movies because they focus on the wrong thing. what matters is creativity, problem solving, starting something from "scratch". good video :)
First yr of compsci degree. I will say, learning the simple stuff like arrays, loops, if/else, exceptions, objects and classes. Is easy. But applying it to a scenario is wayyyy harder. You can’t just write code. You have to design the system first. Then it gets even worse, with big O, hashing, linked list etc. it feels like you’re just constantly confused and you just learn stuff on the spot.
@@itstehgamer If you're in a course/degree that deals with programming then yes it is bad if you don't know it. If you're just self-studying coding for yourself and not to work on projects that others have to use, then you're all good.
Funnily enough, this is what I was explaining yesterday to a first year student as a senior. I told him that it is more about solving problems and making practical solutions and less about the nemorizing the concepts.
I believe i am well on my way to becoming a competent programmer. I feel like what really has helped is just doing projects that inspire me, often times things that solve a problem i have. I just wish i could land a job, feel like that is even harder than learning to program.
I couldn't agree more, people think its just another language, how hard can it be, but in reality its much more than that because copying a script will never be the same as writing one. To write one, you must know exactly what you're doing.
Because of school just teach you how to copy and alot of these work shops are the same. They just teach you how to copy work. I felt like i wasted my money because i didnt really learn shit that would help me get a job in college. My college suck ass with the math and sciences but its was all i could afford. But id didnt know it sucked until after i graduated
@@mesekkai im a first year in college and i disagree. it depends on a lot of factors and college isnt for everyone. for me, i just focus half the time on passing minimum and the other half on actually learning stuff on my own for personal projects later. it isnt that bad imo. but then again, im a tech major
@@mesekkai youre comment is really toxic and does more damage than good. I went back to school after already getting my bachelors because alot of these content creators for CS are just as bad as your example. When i went back to school for CS i learned so much i wouldnt have gotten from online diy learning. May not be for everyone but ive already learned more in 1 year at community college than 4 years browsing the internet for actual learning that didnt involved the same cookie cutter learning plans i see constantly with these type of youtube channels
@@seaweed428 thats how it should be honestly. I started working on my own personal projects as well because our professor told us taking the courses and getting a degree is barely anything anymore. Make your projects we worked on speak for themselves. Thats why you see all over the internet, "I did 4 years of CS and graduated but cant get a job." then you realize they never did anything outside of their education.
Thank you for this video, I’m new to coding and it is difficult and sometimes discouraging. I loved the gems you gave out as well as the humor. Keep the videos coming!
Yeah, if you don't have a good textbook or manual... It is all about five-minute tutorials and 50-step-by-step-recipes-how-to-do-something-very-specific books. There is a real crisis in computer programming teaching literature. And no, online documentation is no teaching aid. There is no system to it, no linear flow that would naturally and easily take you from basic to expert.
@@aceofswords1725Yea, it's not lineal, but if you need only a new piece of info (new component in Unity, for example, idk), then it will be good (if the doc has a good amount of info)
@@aceofswords1725 This is the best summation of the problem of learning programming that I have ever stumbled across. I have tried the free platforms. Seems even the simple instructions to get started require the user to have a pre-existing orientation of the scenario. Not sure if that makes sense, but I am lost as lost can be, even with simple, Day One coding practices.
8 месяцев назад+41
I learnt programming in the 80s. But at first I did not know that I am learning programming. I was interested in books about math and logic and I really liked to solve logical problems. Then I read about computers and I remember, how I basically asked people things like: "How you can make computer to do this?" and then I met my friend's father, who was professor of computer science and he gave me some more books about computers, algorithms and math to study. And then I've got to use real computer for the first time. It was ZX Spectrum+2 with Z80 CPU and 128K of RAM. It was very slow and had Basic in its ROM and then I have learned assembly, because that was the only way, how to get at least some speed from it. Later, I learned more languages and computers got much better too. I work as software developer more than 25 years now and I am always learning new things. Computers, languages, and everything else have changed a lot in the past 40 years, but one thing remains the same: The problem solving. Analyzing the problem, breaking it down into blocks, functions and features. Deciding, how to address each of the problems and how to tie them back together later. Programing is not that difficult, if you approach it from the right side.
but what if math isn’t your strong suit? im not necessarily bad at it i can understand it once explained to me but im no math genius like most of the other programmers i see in these comments
Well put man, well put. Im a jr javascript dev and i studied JS like crazy and it did not prepare me for the logical thinking and how to use the things i learned to solve issues. Learned that the hard way.
The skills that I most value in programming are 1. Break down problems into pieces 2. In order to understand what's going on you have to get creative with the print function, everything is about visualization and experimentation 3. Acknowledge that most of the work when programming is just debugging code 4. Don't waste a lot of time in problems that you don’t know how to solve jump into the next problem and you will gain a different perspective even if the another problem wasn’t related to the hard one
This video helped and freed me, definitely right on time. Thank you so much!!!! I'm implementing the steps like coding for an hour, teaching myself and simplifying. Thanks again, this rocks!
It really help me. This video solve potential problems I have been thinking since I decided to study programme for so long. You use a clear word to explain and guide. Thank you so much
As a programmer, I love Zachtronics games because they test your logical thinking AND coding skills, particularly Shenzhen I/O. It's basically a simulation of building and programming microcontrollers where your physical space is limited, you can only use a small number of assembly-like instructions and you often have to think about how the blocks are running in parallel. Using the average example listed, there is a task that requires you to keep a running average of the last X values, you are limited to integers between -999 and 999 and you have no division instruction.
This is what my mentor explained to me when i was getting started and im greatful to him tor that. I told him i struggled to remember syntax often. He said syntax doesn't matter, you can look up syntax, understanding the WHY behind design choices is the important part. And still to this day, i cannot remember syntax very well, luckily llm's are great with syntax. Im the brains behind the system, and an llm reminds me how to use the syntax to implement the design choice i want
This is so encouraging, thank you so much for making this video. I've been struggling through a computer programming associates degree, and the whole time I've felt really stupid. There's so much I don't know yet, and I've been feeling like I'll never be able to get a job because it sometimes takes me hours to figure out a problem in my code. It's really comforting to know that everybody struggles and feels the way I do, and that critical thinking is a skill I can build on rather than some innate ability that I lack.
The hardest thing for me to actually grasp at the moment is focusing too much on trying to get it right. Its like I spend hours on a task, then I hit a wall, can't figure out how to solve the problem I need to solve. I'll hit my head against the wall for hours wondering why I can't figure out such a simple task. Then I go play some games, or go to bed, and the next day, I look at the same code and the solution comes to me, then I might spend another hour or 2 implementing it. I guess I'm saying, its hard to know when to take a break, take a step back, refresh your mind. Maybe watch some RUclips videos on programming to see if something jumps out at you.
From my own experience of learning programming at Moonpreneur where hands-on experience is provided to the students, I must say that if you are not getting the hands-on experience of what you learnt, then programming seems to be hard to you. A few months back, I too struggled with this issue while learning programming at different platforms. But thankfully, Moonpreneur came to the rescue and now I enjoy learning programming.
This is a very valuable video for me. I have seen a lot of videos saying this but this video really open my eyes with its detailed explanation. Thank you, the coding sloth.
Valid points! And shout out to my fellow Web Dev Cody for his cameo! Haha. I liked how you structured your points for the UNDERSTANDING of the coding and programming.
One of my instructors while I was in school taught us to break the problem down in simple terms. Instead of looking at it as numbers, data, and elements, look at them in something that makes more sense to you. For me, as an aviation mechanic, it was easier to think of the items of the terms of airplane hydraulic fluid moving through the system. This helped me so much.
Can we just take a second to appreciate how well this video is paced, structured and the use of different kinds of humor to cater to different audiences. GJ
As someone who’s programming for 40 years now. I can say that I don’t know the syntax of most languages that I use. Because I use so many and they mangle in my brain. C and 6502 assembly I know by rote because I did if so much. The rest I just shamelessly lookup. Because I understand the concept of something I need to do and Google is great aid to find that. And learning to write without frameworks in the 80s on bare metal, really teaches you to think in a way most developers don’t anymore. I bet most developers don’t know off the cuff how to turn lowercase into uppercase or vice versa with only bit wise operations. Yet the ascii character set was designed for that! Or print a number to the screen, writing that conversion. Especially if you don’t have a division with remainder instruction.
As a learning student I agree. Though you should consider yourself a friend if you want to embrace failures better. Outside friends aren't your most loyal friends, and your only most loyal friend is yourself. So be yourself, don't give up.
00:58 Man, I didn't keep watching your video when I saw this clip, I literally jumped into this awesome website and started making for my current project It's awesome, and I'll watch the wep dev Cody video as well
my problem is not the mindset. it is the syntax memorizing. Remember the coding challenge at 6:38? I came up with this solution word=['pp','hard','hi','subscribe','pp','hard','subscribe','pp'] my_dict={} winner = [None] * 3 for i in word: if i not in my_dict.keys(): my_dict[i]=1 else: my_dict[i]+=1 for i in my_dict.keys(): if my_dict[i]==sorted(set(my_dict.values()),reverse=True)[0] and winner[0]==None: winner[0]=i elif my_dict[i]==sorted(set(my_dict.values()),reverse=True)[0] and winner[0]!=None: winner.insert(0,i) if my_dict[i]==sorted(set(my_dict.values()),reverse=True)[1] and winner[1]==None: winner[1]=i elif my_dict[i]==sorted(set(my_dict.values()),reverse=True)[1] and winner[1]!=None: winner.insert(1,i) if my_dict[i]==sorted(set(my_dict.values()),reverse=True)[2] and winner[2]==None: winner[2]=i elif my_dict[i]==sorted(set(my_dict.values()),reverse=True)[2] and winner[2]!=None: winner.insert(2,i) print(winner) >>['pp', 'subscribe', 'hard', 'hi'] It prints the three most used words 'in order' and also adjust if there are ties (hence 4 items in winner). But there are like one or two syntax that i can imagine but forgot how to write and I ended up checking chatgpt. My question is, don't you think it is too much if your interviewer offed you from the list just for this trivial lacking? Let's just admit it. Your employee, whoever they are, use chatgpt!
Cant you do something such as this; words = ['pp', 'hard', 'hi', 'subscribe', 'pp', 'hard', 'subscribe', 'pp'] result = {} for word in words: result[word] = result.get(word, 0) + 1 sorted_result = [item[0] for item in sorted(result.items(), key=lambda x: x[1], reverse=True)] print(sorted_result) Also, looking at the code you gave, wouldnt it be better to avoid sorting in every if condition? You can sort once and use it for all checks.
@Simum_07 All of the rich software devs turned everything devs that can make an actual product lmao. Go learn UI/UX and you'll understand why you're broke.
I have been an amateur programmer for around 10 years now, as by trade i am a designer but often need to build proof of concept products that need to sort of work. After starting with tutorials and learning a few languages i decided to just try to solve a problem by breaking it down in as small parts as possible. After i've made some horrible solution, i'll see of there is some tutorial that also solves the problem, or ask a programmer friend. Now i analyze the differences between my method and the tutorial/friends method and document why to do it either way. This is slowly giving me more and more insight.
46 upvotes? really? people can't be that dumb. In case people are that dumb, no it's not a Brilliant ad because dozens of people say the same way without the segue.
@@meltygear5955realizing that it's not just a brilliant ad would require logical thinking and the lack of it is the reason many of them are here in the first place. Unless, of course, person is being sarcastic, but I wouldn't be surprised if he genuinely believes what he says
the best way to get out of tutorial hell imo is to find smaller and easier ideas that you want to do and that you think you can do and do them on your own. it also helps to do something like game modding or javascript, something where you dont have to worry about compilation, or making state control, or having to worry about rendering things on your own, etc. it helps massively simplify things so you can get just the basics of working through logic and only logic.
Atm to try to learn .NET, making a sort of simple Visual Novel reader, but using ASP NET Core with React, that may be a good way to start if one has already been making video games for a while. Impractical to use a server framework for the task, but it teaches you fast if it's relevant and interesting and familiar.
I have been trying to figure out what I was missing to understand coding. Not the learning the syntax but the how to apply it part. This is exactly what I was missing! Thank you so much for this!
Approach it like darksouls, have fun failing, keep trying and know that every time you fail you're getting ever so slightly better, it might seem impossible but you'll eventually get it. And that dopamine hit you get when you succeed is the best feeling. Just put your head down, don't compare yourself to others and just keep practicing and most importantly keep building something you like and want to work on. If you already have a job a lot of the time you might end up getting stuck working on something you don't want to so it's important to work on your own projects and HAVE FUN! If your not having fun then you need to back off and take a break, reset and start again.
Watching this while I am stuck at work with a problem and I feel stupid and thinking how my other developpers friends are just leagues ahead of me and how undeserving of the job I have, so yeah, it is hard
IMO the difficulty comes from the size of real-world apps: it's difficult to know where to jump in, or how to isolate only the parts you care about. A little app that you've written from the ground up - easy
100% I’ve started a role as a fullstack software developer apprentice and there’s so much shit to learn atm They keep saying I’m slow but it’s because I don’t ask enough questions and also because they expect more from me than they probably should
I experienced this (2:40) during University work with data structures and algorithms. We were given large complex sets of data and had to create our own sorting algorithms without using any imported libraries and extremely limited built in libraries. It was seriously tough, but I think it taught us a lot.
Even though 30 minutes seems like a very short block of time, I still think that it is a good amount of time. At least it helps you build consistency, something important when it comes to master a skill.
One thing I have found useful when reviewing documentation, say for a JavaScript library for example, is to type out all the lifecycle events that then runs a console log of all the parameters for each event. That way I can see exactly what events have fired and what data they have accessible to them at that time. Like for datatables editor, editor.on(‘initEdit’, function ( e, node, data, items, type) { console.log(‘initEdit event triggered: ‘, e, node, data, items, type); }); Do this for every event in the docs and you will get to know the library very well.
In all my decades the hardest thing was getting potential users to identify what the application would be required to accomplish. Using tools like Decision Tables expose all situations and often make the users aware of things that had not even thought about. it is best to identify requirements before software development.
I'm dealing with these issues as an average programmer right now, so from the bottom of my heart, thank you for making this video and for making me feel better 💚
Even if you are naturally good at solving problems, programming is still hard at the beginning because there is so much to learn about a language and what tools are available. It is usually much easier with languages you learn after your fist one. Also, at some point you are going to realize you are using more code than you need to and begin the process of slim lining and understanding how to do more with less. Not only does simplicity make it easier for anyone coming behind you but also if you are the one that needs to come back to it at a later date.
The timing of this video is perfect. I'm a network engineer and have to learn Python. I learned the basics years ago. How to declare variables, data types, loops, elsif statements, but I never knew how to actually apply them. Now I'm working on a script to auto config some switches so I know my end goal. Working backwards on how the logic will work seems to be helping me decide what tools to use to accomplish this.
I had completely given up on learning gamedev because it was so overwhelming, and I thought it just wasn't for me. But this has made me realize it is overwhelming for everyone. So I guess I'll keep going. Thank you.
Nah, you're probably assuming you need to know everything to make a game. Games are usually developed by teams of specialists. If you want to make a game on your own, you'll have to go simple. If you want to feel like a useful developer, specialise and work with others.
To the problem in 7:15 Can it be faster? #Python lst = ["pp","hi","subscribe","pp","hard","subscribe","pp"] dict_cnt={} for k in range(len(lst)): popped = lst.pop() try: dict_cnt[popped]=dict_cnt[popped]+1 except: dict_cnt[popped] =1 print(list(dict_cnt)[:3]) print(dict_cnt)
Really appreciate the cooking metaphor, I’ve been cooking for 20 years and I’m teaching myself to code for Unity and thinking of the codes as recipes fundamentally shifted my mindset to a place where I actually think this is possible now
If you want to understand programming fast, and actually love it,learn discrete math and DSA, programming will never be a problem, this is actually the foundation and meaning of a computer science degree.
I think tutorials are not a problem if you read docs. Sometimes docs are confusing, tutorials can help to clarify then. I use tutorials a lot for my own, but sometimes I want to read docs to understand from where they took their knowledge. It helps me a lot to grow as a dev.
Ive been working on a side project for over 5 years now. Im at the final stages of turning it into a business. Have a goal, keep at it, and you'll succeed
🎯 Key Takeaways for quick navigation: 00:00 *🧠 La programmazione è complessa oltre la codifica* - Discute la percezione sbagliata dei principianti che la programmazione sia facile. - Molti pensano che programmazione significhi solo scrivere codice, ma in realtà richiede un pensiero logico e una comprensione profonda degli strumenti utilizzati. 01:23 *🍰 Metafora della cucina per spiegare la programmazione* - Confronta l'apprendimento della programmazione all'imparare a cucinare usando solo ricette predefinite. - Sottolinea l'importanza di comprendere i principi dietro al codice, non solo la sintassi. 02:19 *📚 Importanza della comprensione fondamentale oltre la memorizzazione* - Illustra come la conoscenza della sintassi (come le liste e i loop) sia meno importante del sapere come e quando utilizzarla. - Utilizza un esempio di calcolo della media senza usare la funzione 'sum' per mostrare l'applicazione pratica dei concetti di programmazione. 03:43 *🛠️ Sviluppo del 'mindset' del programmatore* - Discute il vero sfida della programmazione: non solo codificare, ma risolvere problemi e pensare logicamente. - Spiega che imparare a programmare è più di seguire tutorial; è essenziale esercitarsi a pensare come un programmatore. 05:06 *🔥 Il pericolo dell'"inferno dei tutorial"* - Descrive "l'inferno dei tutorial" come un ciclo di apprendimento passivo dove si guarda molti tutorial ma non si migliora nella risoluzione di nuovi problemi. - Sottolinea l'importanza di bilanciare l'uso dei tutorial con la pratica attiva e l'applicazione dei concetti. 06:16 *💡 Consigli pratici per sviluppare la mentalità di programmazione* - Offre consigli su come affrontare i problemi di programmazione decomponendoli in compiti più piccoli e gestibili. - Propone l'uso di tecniche come il "metodo Feynman" per migliorare la comprensione e la spiegazione dei concetti. 07:41 *🧩 Brilliant come strumento di apprendimento interattivo* - Presenta Brilliant.org come una piattaforma che aiuta a sviluppare la mentalità del programmatore attraverso problemi pratici e interattivi. - Enfatizza che Brilliant incoraggia un apprendimento attivo e pratico, molto più efficace dei video lezioni passivi. 08:52 *🏗️ L'importanza dell'apprendimento basato su progetti* - Consiglia l'apprendimento basato su progetti per migliorare le abilità di programmazione. - Spiega come costruire progetti reali aiuti a sviluppare capacità di risoluzione problemi, creando un portafoglio che porta a opportunità lavorative. 09:48 *🚀 Superare i fallimenti e praticare regolarmente* - Incoraggia ad abbracciare i fallimenti come strumento di apprendimento e a praticare la programmazione regolarmente e intensamente. - Motiva a non confrontarsi con gli altri ma a concentrarsi sui propri progressi e a continuare a imparare. Made with HARPA AI
Why? I've been programming for more decades than I care to admit and I ask people for help occasionally. It's often good just to discuss the approach. Say you're using the Django framework in python for example and you're completely stuck with a model or something. There's a discord where you can ask. My advice would be to write out your question in notepad first, make it properly formatted, showing all the info necessary, concise and polite. Imagine being the person answering it. Often just doing that will express the problem so clearly that you'll see the answer yourself. Or maybe you'll just quickly check one thing in the docs first and boom, it's there in plain English with a crystal clear example. I'm doing this after twenty years and don't intend to stop. Embrace it.
The worst part of programming for me is learning syntaxes. In any other computer work, its easy to experiment and explore all the options that you have within a software, like 3D modelling or making music in DAW. You just click here or there, see what it does, play with your tools. In programming, nothing ever happens until you type it out, and for that you must know what and how to type it. Its why I struggle to program without training wheels on, there's so much raw text-form information to memorize. And having ever so slightly fuzzy memory gives you an immediate disability to program on your own due to syntax incorrectness. All that compared to directional learning on where to click or where to find a specific tool or setting.
As someone who knows about 8 languages and can pretty much pick up any new language if I want to in a couple of days, I think programming is only hard until you understand the concept. You need to realise program itself is nothing but its a way you're interacting with the operating system which in turn interact with the cpu. So every statement you write, every loop, every function, they all goes back to talk with the machine. Now if you stop learning a language for the sake of learning and instead think how each command you write is interacting with the system, you'll feel a natural flow of logic, the funny thing is that you only need to be good in 1 programming language (preferably any object-oriented language) and every other language is almost same with some syntax difference. There might be some special features in each language but over the time, you understand that most of the language work in similar fashion and some special feature is only introduced to ease up/mess up developer's life. That being said, it's best to learn language with practical projects so you can test and realise what you did wrong or could be written in better ways.
I started to learn programming when I was 16...using a GWBasic manual and trying to use it for the Basic version that came pre installed on my IBM-PS1 back in 93 (at that time with NO INTERNET) all I had was that book, no other help. It was very demotivating at first but then I got hooked
This is why mentorships were important when I started 25+ years ago. We did have the resources folks do now but we had decent budgets for books and I was lucky enough to have a solid mentor in my first few corporate gigs.
I recently built my first app as a "extracurricular project" for my company. I have no IT training and although trying to get into the space for years I basically just have this one app and an access DB in my back. Recently I tried to do a new approach and meanwhile learn C++ bcs everybody maked it seem hard. Then I realized one thing: 1) Coding isn't hard in and of itself. The moment you understand the core concepts it translates quite easily. 2) The hard stuff is the "make stuff for real people" part like system architecture, database usage, documentation inside and outside the code base, project structure, mastering version control, collaboration setup AND FRONT AND CENTER finding projects to do this and forcing yourself to comply with "industry standards". I really wishe there were "beginner level" collaborative projects which get managed by seniors so one can get real life feedback on how usable your skills are irl whilst still not overwhelming the trainee with high level code bases...
Very good. I'm a veteran software developer and I don't recall anyone else explaining the basic critical message in this video. Indeed, it's about having strong problem solving skills and using programming languages and tools to implement solutions. There are simpler coding problems and there are much more complex ones. High paying jobs involve solving complex problems. Experience has shown me that everyone does not have the natural aptitude to handle the more complex problems in programming.
You hit the nail on the head. The syntax is easy. It's putting it all together that is a royal pain in the butt. It's very frustrating, but I know that one day I will have that "aha" moment when it all clicks together.
This really helped me. And also helped me feel better. Also glad you talk about imposter syndrome and failure because I feel like not many coders and programmers talk about itnat all.
I am literally sitting at a new job pouring over the database model to try and find out how to implement some functionality to delete some data when some related data gets deleted, but over like 10 joins. Understanding a domain is so much harder than just typing some code. Anyways, time to stop procrastinating and hit my head at the wall of the domain model some more.
I love your videos. They’re very down-to-earth and practical. Also, they help explain the difficult side to coding. Please keep making great content like this!!
I've been watching prime for years now and I've never gotten the "buy my course and you'll be rich" bullshit from him, He's regularly streamed his content for free and it was very good quality. The message I've taken from prime is that - programming is hard, and you have to work hard - even if your at rock bottom in life you can turn your life around and succeed. - getting a job in fang isn't always nice - don't listen to twitter trends - we're all dumb, so don't overcomplicate things - be kind to people and give them grace Seems a bit unfair to make him the face of the shitty side of programming. especially putting him beside techlead.
He was certainly cited as someone with expertise I think it's just the curse of the streamer. No matter how much he emphasizes how hard it is the format itself makes people think it'll be easy
Perseverance, patience and humility are really the backbones of programming for me, every time I approach a project that feels INCREDIBLY DIFFICULT and like I am not cut out for it I try to think about how this happened many time before and never made me give up on programming. I think it also has to do with what people become programmers, logically thinking people, who are also quite competitive at times, which leads us as programmers to take failure or even small setbacks badly, because we set the high expectations for ourselves. In reality it's a whole journey of winding paths and experiences that will keep throwing seemingly daunting problems at you, but I truly believe that with enough perseverance, patience and simple trial and error you can overcome anything.
In my experience, it's not just programming. No pun intended when I say tech guys have a bug up their ass. I know guys who are into networking and configuration and they're the same way.. everything you say within a tech centric conversation will be put under a microscope and pessimistically analyzed
Tech people aren't really software engineers tbh. SEs are very kind and supportive to each other regardless of background or skill level, not toxic at all.
Finally someone that doesn't tell people about magic tricks and how to "become a Senior Pro Coder with this technique" - thank you for making this video man. I've been working as a self-taught, full-time software developer for 20+ years. Learning new languages and technologies over the years and all of what you explain here literally applies all of the time. 👏
My worst enemy is thinking 'whats the most effective way to program this?' and then finding out I don't know enough and giving up. But then I think, Toby Fox did Undertale with all switch cases, not because it was the right way to do it, but because it's the only way he knew how. Its better to just code even if its not the most efficient way, because no code is worse than a bad code. (Of course learn how to improve fellas, don't spaghetti code but don't let it stop you from trying)
Im currently suffering from this at the moment, i even get something to work but i always go "nah, i dont think this is the correct way to do it" then i start freaking out and asking questions all over the internet searching what is the correct way until i give up.
Sometimes 'well enough' is enough. You might get around to refactoring it later, you might not. Understand that in the moment you were working on it, with the information you had, you probably worked it out to the best you could give it that day.
When your chasing a bug or error for a week and finally solve it is the best feeling you'll ever experience. If programming was easy we wouldn't do it. The emotional reward when you solve the problem is unmatched.
So true. Sometimes it takes me 2 days to think how to write a code and its logic, and then, just few hours to actually write it. Then 7 days to fix issues related to this new code.
Well said. What makes programming challenging, and at the same fun, is that there are many ways to approach and solve a problem. Whatever way you choose to solve the problem, depends on the level of your understanding of the principles, theories, and tools that govern programming. In summary, what makes programming "hard" is choosing not only the correct solution, but also the most efficient one.
To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/TheCodingSloth . You’ll also get 20% off an annual premium subscription.
I hope this video helped any of you who felt stuck when learning to program. Better start thinking like a programmer and not rely on tutorials.
EDIT: I LOVE PRIMES CONTENT. I USED HIS IMAGES FOR MEMES/ENTERTAINMENT ONLY NO HATE
Great video as always, I love them.
Programming is the most counterintuitive thing ever. I normally pick up on things pretty fast; but when entering the programming world you have to be IN THE KNOW to understand every phrase.
Analogy: When your just starting math you learn that math is done with numbers. Perhaps your learn to divide, add, subtract etc. But once there’s random letters and things in there that’s when you **reference points** dwindle. Example: 5(5)=x(squared). Show this to anybody that’s only learned the basic fundamentals of math and they’ll look at it and try to solve it only using previous things they’ve learned. Therefore: you need to context of how these things operate.
All learning is built on a foundation of prior knowledge.
Dude.. Computers are humbling. Everyday I question my intellect because of them. Everyday I’m left with a headache.
Programming sucks.
I can tell you this one thing that you were wrong about.
Programming is NOT HARD. I can guarantee that it is not.
You know what is?
It's the political battles in every single company you work in.
They will spend their their time to argue about what features they should add/remove, then remake the design like...a zillion times.
Then, they're gonna test your "patience" by seeing how you comply with their st**** demands.
Those are the things that everybody will encounter in every company they work for.
Other than that, I agree, you need to stop watching tutorials.
isn't brilliant just one of among other app that will end up being a tutorial hell? I'd rather advertise something else if i were you
@@aru6575 people say it's interactive learning, maybe when you interact with environment you'll learn better? maybe?
Realistically speaking
I built a full stack website for a local client the website was simple I used bootstrap for the UI and node for backend with MongoDB for storage.
The project was relatively simple but i remember just how frustrated and stressed I was when I was coding it. Yelling back and forth at ChatGPT. Trying to scrape through stack overflow.
Today (6 months later) i opened the code again and I was blown away just how simple it was.
The point being that: what you find hard today wouldn't be as hard in the future, the point is to keep going and keep learning.
Cause remember: the more you F**k around the more you find out.
In essence Programmers should fvck around More. Only your imagination holds you back.
hell yeah man thank you ❤️❤️❤️
Sorry what?
Well said 😂!
Very true. Code bases I agonized over in the past now seem trivial.
1. Break down the problem into sub-problems.
2. Projet based learning.
3. Embrace failure as a learning tool.
4. Practice regularly and for along period of time.
5. Stop comparing yourself to others.
how I beat sekiro in a nutshell
and make sure you get a mentor! (or an AI mentor ;)
Amen
One of the hardest parts of coding for me is that often you can't see all the tools at tools at your disposal.
When I'm doing electrical work & get stumped I can go over to my toolbox, open it up & just have a poke around to see if there's a tool or combination of tools that might do the job or at least inspire the solution.
With digital tools its much harder to look at all your options.
I think you really hit the nail on the head with my problem with this stuff. With various parts of my life I've been so conditioned to having a set of limitations and tools that do very specific tasks, no more no less. With this stuff there is page after page of potential tools, and when the time arises that you need one, you don't even know it exists.
This is something I genuinely struggle with too. I almost think it might be worth having a giant print out of every single tool of a language, but my walls aren't big enough
literally this. i don’t feel lost if i use something like scratch to code but when i look at the actual coding language itself idek where to begin because i don’t know what i can actually do
Worst part for me is when you know the tool you need for the situation, but you don't know the name of the tool.
So you search up what you think it could be, and get things adjacent to your problem, and only after hacking a solution together you find out there was an function that did it better and faster.
Its called abstract thinking!
I thought I was the only person in the world who kept saying to myself "Maybe this isn't for me" every time I struggled to work out a problem or thinking why isn't this concept sinking in. I can't stop thinking about a coding problem when I have one and I'm so mentally exhausted after I finally crack it that I feel like I've just been to war. Perseverance is definitely necessary when coding in my experience, as is having fun solving problems. Spent many nights screaming at my monitor, but the feeling you get when you finally solve the problem is amazing. Very funny video btw.
I'm currently stuck in the same boat, I feel like everyone breezes through these simple concepts that I just cant fathom at the moment. Any advice?
@@TheMelonbros123 Everyone learns concepts at different rates, there are things that you may breeze through that others may struggle with. My advice would be to make sure you read the official documentation (can be kinda geeky), look at other people's code which incorporates the concept you're struggling with to see how they're utilizing the concept and play around with the concept yourself to see how it behaves. Everyone says it but it's true, Practice and Perseverance.
That's the satisfaction of this job when you see the thing you have been building for a long time finally working. And what you say about code isn't necessarily bad. I always catch myself thinking about projects or about code I want to write or wrote
I've been there even though I had written tons of projects. Doing projects you're motivated to do is a great way to avoid frustration or burnout imo. Doing projects just to do them is not a good approach, find something that interests you and give yourself plenty of breaks, and give yourself the benefit of doubt. Just my 2 cents lol
idk man im in cs at uni and i feel like this isnt for me, Ive never liked coding too much and always been average at it
I stopped watching tutorials when I realized I could read the documents by my self and honestly speaking. Reading docs is so much better than watching tutorials.
same here, on both points :)
I haven't searched for tutorials in a long time, when I want to know something I search then go the the official docs, I learn more that way sometimes I get carried away by other functions that might solve a future problem or make my code writing better.
It depends on the quality of the doc, the videos and you. I learned more about Authentication/Authorisation with Identity management watching a 10 min Nick Chapsas video than reading plenty of doc about the subject. I use also RUclips tutorials to be aware of what is done outside of the languages/framework I use.
@@daviddanielngIm a beginner in python, what do you mean by docs?
Remember: ctrl+f
This is really reassuring because I’m trying to learn JS and have a good understanding of troubleshooting and solving “the puzzle” of getting something how I want it. I started by writing down what every line of code did
This year i landed a great web developer position starting at $30/hour full time. I love it because all the hours i am putting in is making my programming skills WAY better by working 8 hours a day writing and testing and debugging and getting feedback. Its been a great experience and praise the Lord i got this job.
Good for you, most of us are suffering. But hey, keep boasting.
@@TheSCPStudio I was there too man. I just landed it 4 weeks ago. A huge tip is to apply to local places. That's what helped me.
@@TheSCPStudio this is why you’re suffering. Fix your nasty paradigm and learn how to be happy for others.
He is risen!
@@TheSCPStudio Don't be a crab in a bucket
Wow this video perfectly sums everything up!
I started my first Software Dev job at a small company 2 weeks ago and feel so overwhelmed with everything. All I ever did was "program stuff in python" and now I have to learn 100 different tools on the fly because thats just how that works.. Its really fun but also frustrating and hard because I constantly have to ask for help since I don't even know WHAT I don't know..
how did bro get hired😭🤣🙏🙏
@@tezzla6358 I am german. I think the software dev problem is a lot worse in the UK and USA than in germany. But still.. i applied for like 30 jobs and got 2-4 job offers. I was quite surprised that they took me too but I talked to them about it and the thing is that I still study so 1. I am cheaper and 2. I study the exact topic that the work with (LLMs) and people that know stuff about LLMs are really rare since its a relatively new topic. =)
@@tezzla6358beefed that resume right up! 😂 He'll catch up....I hope.
You’ve got this! We’re rooting for you.
@@servantofthelord8147 My contract ended 1 month later lol
If the author of the *The Coding Sloth* won't mind, a few timestamps...)
0:00 - 6:11 the definition of the problem _Why Programming Is Hard For you_
Tips by *The Coding Sloth* :
6:12 Tip 1: Break down problems
8:36 Tip 2: Project - based learning
9:05 Tip 3: The Feynman technique
9:43 Tip 4: Embrace failure as a learning tool. Fail stands for: First Attempt In Learning
9:57 Tip 5: Practice Regularly and for a long period of time
10:17 Tip 6: Stop comparing yourself to others
Thank you, *The Coding Sloth* , for your doings!!! Great Job!!! 🙏🙏🙏🙏
I've been a software developer for 30 years now and this is one of the best videos I've seen which explains what is needed to be a good software developer.
I keep telling people that it's becoming less and less about "coding" and more and more about problem solving.
For example: No one is ever going to tell you to write a function that takes a list of integers and calculates the sum. You are just going to get some vague requirement from a user or business owner and you are going to have to work out yourself that one of the components to solving this requirement is writing said function.
Something I'd like to add is to read up on books on software development like Pragmatic Programmer, Martin Fowler's books, etc. It helps with the foundation of your skills
Well, as I am currently in College (University), I think this is one of the most important lessons.
I am really enjoying the books from "No Starch Press".
Oh come on, how much can you over engineer a detonator?
100% agree. When looking back at university, the one thing I'd like to change is reading more books, and rely less on professor provided material. Another thing is doing more networking, vitamin B really helps a ton when searching a new employer.
Up to and including Think Like a Programmer because it helps with problem solving which is what programming ultimately is.
I've been programming professionally for about 20 years, and this is solid advice. Especially the part covering explaining or teaching skills to someone else.
im so cooked
same here
I'm getting out of this stuff while I'm ahead, it's just too frustrating for me.
@@Cheesehead302 :
weakness @@Cheesehead302
@@senzmaki yeah how are puzzles too much for you
the best anology here is with filmmaking. its not the technical and the 3 act story structure, because that's easy to learn. what hard is what kind of story are you going to tell? what of movie are you going to make? who is your target audience. a lot of filmmaking students fail to make movies because they focus on the wrong thing. what matters is creativity, problem solving, starting something from "scratch". good video :)
First yr of compsci degree. I will say, learning the simple stuff like arrays, loops, if/else, exceptions, objects and classes. Is easy. But applying it to a scenario is wayyyy harder. You can’t just write code. You have to design the system first. Then it gets even worse, with big O, hashing, linked list etc. it feels like you’re just constantly confused and you just learn stuff on the spot.
is it bad i have no idea what any of those things are
@@itstehgamer If you're in a course/degree that deals with programming then yes it is bad if you don't know it.
If you're just self-studying coding for yourself and not to work on projects that others have to use, then you're all good.
exactly my problem
Funnily enough, this is what I was explaining yesterday to a first year student as a senior. I told him that it is more about solving problems and making practical solutions and less about the nemorizing the concepts.
How do I solve problems?
I believe i am well on my way to becoming a competent programmer. I feel like what really has helped is just doing projects that inspire me, often times things that solve a problem i have. I just wish i could land a job, feel like that is even harder than learning to program.
I learned coding in college as a Computer science major but I got burned out real quick because of all of the extra work you have to do
I couldn't agree more, people think its just another language, how hard can it be, but in reality its much more than that because copying a script will never be the same as writing one. To write one, you must know exactly what you're doing.
i agree, i dont see why people would spread hate on something that obviously isnt meant for them
Because of school just teach you how to copy and alot of these work shops are the same. They just teach you how to copy work.
I felt like i wasted my money because i didnt really learn shit that would help me get a job in college. My college suck ass with the math and sciences but its was all i could afford. But id didnt know it sucked until after i graduated
@@mesekkai im a first year in college and i disagree. it depends on a lot of factors and college isnt for everyone. for me, i just focus half the time on passing minimum and the other half on actually learning stuff on my own for personal projects later. it isnt that bad imo. but then again, im a tech major
@@mesekkai youre comment is really toxic and does more damage than good. I went back to school after already getting my bachelors because alot of these content creators for CS are just as bad as your example. When i went back to school for CS i learned so much i wouldnt have gotten from online diy learning. May not be for everyone but ive already learned more in 1 year at community college than 4 years browsing the internet for actual learning that didnt involved the same cookie cutter learning plans i see constantly with these type of youtube channels
@@seaweed428 thats how it should be honestly. I started working on my own personal projects as well because our professor told us taking the courses and getting a degree is barely anything anymore. Make your projects we worked on speak for themselves. Thats why you see all over the internet, "I did 4 years of CS and graduated but cant get a job." then you realize they never did anything outside of their education.
Thank you for this video, I’m new to coding and it is difficult and sometimes discouraging. I loved the gems you gave out as well as the humor. Keep the videos coming!
Great breakdown, failing and making errors doing real things is often the best teacher
Yeah, if you don't have a good textbook or manual... It is all about five-minute tutorials and 50-step-by-step-recipes-how-to-do-something-very-specific books. There is a real crisis in computer programming teaching literature. And no, online documentation is no teaching aid. There is no system to it, no linear flow that would naturally and easily take you from basic to expert.
Pretty much every job ever. Life is one problem after another. Hopefully we'll have what we need to solve it and getting paid to do it.
@@aceofswords1725Yea, it's not lineal, but if you need only a new piece of info (new component in Unity, for example, idk), then it will be good (if the doc has a good amount of info)
It is for sure, at least it was for me.
@@aceofswords1725 This is the best summation of the problem of learning programming that I have ever stumbled across. I have tried the free platforms. Seems even the simple instructions to get started require the user to have a pre-existing orientation of the scenario. Not sure if that makes sense, but I am lost as lost can be, even with simple, Day One coding practices.
I learnt programming in the 80s. But at first I did not know that I am learning programming. I was interested in books about math and logic and I really liked to solve logical problems. Then I read about computers and I remember, how I basically asked people things like: "How you can make computer to do this?" and then I met my friend's father, who was professor of computer science and he gave me some more books about computers, algorithms and math to study. And then I've got to use real computer for the first time. It was ZX Spectrum+2 with Z80 CPU and 128K of RAM. It was very slow and had Basic in its ROM and then I have learned assembly, because that was the only way, how to get at least some speed from it. Later, I learned more languages and computers got much better too.
I work as software developer more than 25 years now and I am always learning new things. Computers, languages, and everything else have changed a lot in the past 40 years, but one thing remains the same: The problem solving. Analyzing the problem, breaking it down into blocks, functions and features. Deciding, how to address each of the problems and how to tie them back together later.
Programing is not that difficult, if you approach it from the right side.
but what if math isn’t your strong suit? im not necessarily bad at it i can understand it once explained to me but im no math genius like most of the other programmers i see in these comments
@@clipwtfyou rarely actually need to do math
Do you recall which books? I am just getting into programming and am not too far along but Im already seeing the challenges.
Well put man, well put. Im a jr javascript dev and i studied JS like crazy and it did not prepare me for the logical thinking and how to use the things i learned to solve issues. Learned that the hard way.
The skills that I most value in programming are
1. Break down problems into pieces
2. In order to understand what's going on you have to get creative with the print function, everything is about visualization and experimentation
3. Acknowledge that most of the work when programming is just debugging code
4. Don't waste a lot of time in problems that you don’t know how to solve jump into the next problem and you will gain a different perspective even if the another problem wasn’t related to the hard one
This video helped and freed me, definitely right on time. Thank you so much!!!! I'm implementing the steps like coding for an hour, teaching myself and simplifying. Thanks again, this rocks!
Ur smarter than me, I wash tutorials for 4 hours and can't comprehend anything
It really help me. This video solve potential problems I have been thinking since I decided to study programme for so long. You use a clear word to explain and guide. Thank you so much
As a programmer, I love Zachtronics games because they test your logical thinking AND coding skills, particularly Shenzhen I/O. It's basically a simulation of building and programming microcontrollers where your physical space is limited, you can only use a small number of assembly-like instructions and you often have to think about how the blocks are running in parallel. Using the average example listed, there is a task that requires you to keep a running average of the last X values, you are limited to integers between -999 and 999 and you have no division instruction.
This is what my mentor explained to me when i was getting started and im greatful to him tor that. I told him i struggled to remember syntax often. He said syntax doesn't matter, you can look up syntax, understanding the WHY behind design choices is the important part. And still to this day, i cannot remember syntax very well, luckily llm's are great with syntax. Im the brains behind the system, and an llm reminds me how to use the syntax to implement the design choice i want
Thank you! I was just asking myself about ”the mindset” yesterday because I feel like I’m missing that
This is so encouraging, thank you so much for making this video. I've been struggling through a computer programming associates degree, and the whole time I've felt really stupid. There's so much I don't know yet, and I've been feeling like I'll never be able to get a job because it sometimes takes me hours to figure out a problem in my code. It's really comforting to know that everybody struggles and feels the way I do, and that critical thinking is a skill I can build on rather than some innate ability that I lack.
The hardest thing for me to actually grasp at the moment is focusing too much on trying to get it right. Its like I spend hours on a task, then I hit a wall, can't figure out how to solve the problem I need to solve. I'll hit my head against the wall for hours wondering why I can't figure out such a simple task. Then I go play some games, or go to bed, and the next day, I look at the same code and the solution comes to me, then I might spend another hour or 2 implementing it. I guess I'm saying, its hard to know when to take a break, take a step back, refresh your mind. Maybe watch some RUclips videos on programming to see if something jumps out at you.
From my own experience of learning programming at Moonpreneur where hands-on experience is provided to the students, I must say that if you are not getting the hands-on experience of what you learnt, then programming seems to be hard to you. A few months back, I too struggled with this issue while learning programming at different platforms. But thankfully, Moonpreneur came to the rescue and now I enjoy learning programming.
This is a very valuable video for me. I have seen a lot of videos saying this but this video really open my eyes with its detailed explanation. Thank you, the coding sloth.
Valid points! And shout out to my fellow Web Dev Cody for his cameo! Haha.
I liked how you structured your points for the UNDERSTANDING of the coding and programming.
One of my instructors while I was in school taught us to break the problem down in simple terms. Instead of looking at it as numbers, data, and elements, look at them in something that makes more sense to you. For me, as an aviation mechanic, it was easier to think of the items of the terms of airplane hydraulic fluid moving through the system. This helped me so much.
Bro, your cooking analogy is awesome! Subbed.
Can we just take a second to appreciate how well this video is paced, structured and the use of different kinds of humor to cater to different audiences. GJ
chat gpt is insane
Yes, I recognized all four humors and very well-balanced.
As someone who’s programming for 40 years now. I can say that I don’t know the syntax of most languages that I use. Because I use so many and they mangle in my brain. C and 6502 assembly I know by rote because I did if so much. The rest I just shamelessly lookup. Because I understand the concept of something I need to do and Google is great aid to find that. And learning to write without frameworks in the 80s on bare metal, really teaches you to think in a way most developers don’t anymore. I bet most developers don’t know off the cuff how to turn lowercase into uppercase or vice versa with only bit wise operations. Yet the ascii character set was designed for that! Or print a number to the screen, writing that conversion. Especially if you don’t have a division with remainder instruction.
As a learning student I agree.
Though you should consider yourself a friend if you want to embrace failures better. Outside friends aren't your most loyal friends, and your only most loyal friend is yourself. So be yourself, don't give up.
00:58
Man, I didn't keep watching your video when I saw this clip, I literally jumped into this awesome website and started making for my current project
It's awesome, and I'll watch the wep dev Cody video as well
my problem is not the mindset. it is the syntax memorizing. Remember the coding challenge at 6:38? I came up with this solution
word=['pp','hard','hi','subscribe','pp','hard','subscribe','pp']
my_dict={}
winner = [None] * 3
for i in word:
if i not in my_dict.keys():
my_dict[i]=1
else:
my_dict[i]+=1
for i in my_dict.keys():
if my_dict[i]==sorted(set(my_dict.values()),reverse=True)[0] and winner[0]==None:
winner[0]=i
elif my_dict[i]==sorted(set(my_dict.values()),reverse=True)[0] and winner[0]!=None:
winner.insert(0,i)
if my_dict[i]==sorted(set(my_dict.values()),reverse=True)[1] and winner[1]==None:
winner[1]=i
elif my_dict[i]==sorted(set(my_dict.values()),reverse=True)[1] and winner[1]!=None:
winner.insert(1,i)
if my_dict[i]==sorted(set(my_dict.values()),reverse=True)[2] and winner[2]==None:
winner[2]=i
elif my_dict[i]==sorted(set(my_dict.values()),reverse=True)[2] and winner[2]!=None:
winner.insert(2,i)
print(winner)
>>['pp', 'subscribe', 'hard', 'hi']
It prints the three most used words 'in order' and also adjust if there are ties (hence 4 items in winner). But there are like one or two syntax that i can imagine but forgot how to write and I ended up checking chatgpt. My question is, don't you think it is too much if your interviewer offed you from the list just for this trivial lacking? Let's just admit it. Your employee, whoever they are, use chatgpt!
Dumb question is this pseudocode?
Cant you do something such as this;
words = ['pp', 'hard', 'hi', 'subscribe', 'pp', 'hard', 'subscribe', 'pp']
result = {}
for word in words:
result[word] = result.get(word, 0) + 1
sorted_result = [item[0] for item in sorted(result.items(), key=lambda x: x[1], reverse=True)]
print(sorted_result)
Also, looking at the code you gave, wouldnt it be better to avoid sorting in every if condition? You can sort once and use it for all checks.
As a HTML engineer, I disagree
@Simum_07 All of the rich software devs turned everything devs that can make an actual product lmao. Go learn UI/UX and you'll understand why you're broke.
As a CSS martial artist, i agree
so tru
😂😂😂
@Simum_07all the internet
I have been an amateur programmer for around 10 years now, as by trade i am a designer but often need to build proof of concept products that need to sort of work. After starting with tutorials and learning a few languages i decided to just try to solve a problem by breaking it down in as small parts as possible. After i've made some horrible solution, i'll see of there is some tutorial that also solves the problem, or ask a programmer friend. Now i analyze the differences between my method and the tutorial/friends method and document why to do it either way. This is slowly giving me more and more insight.
8 minutes in I realize I’m just watching a really well crafted ad for Brilliant. You don’t need tutorials, you need Brilliant. smh.
46 upvotes? really? people can't be that dumb. In case people are that dumb, no it's not a Brilliant ad because dozens of people say the same way without the segue.
@@meltygear5955realizing that it's not just a brilliant ad would require logical thinking and the lack of it is the reason many of them are here in the first place. Unless, of course, person is being sarcastic, but I wouldn't be surprised if he genuinely believes what he says
@@meltygear5955r/woosh
@@Metall1st3 it is actually a really well crafted ad, but that doesnt change anything on the fact that what he says is true
@@meltygear5955 r/ihavereddit
you just lessened my programming practice anxiety by 90% i thought I was doing something wrong since everyone says its easy.
the best way to get out of tutorial hell imo is to find smaller and easier ideas that you want to do and that you think you can do and do them on your own. it also helps to do something like game modding or javascript, something where you dont have to worry about compilation, or making state control, or having to worry about rendering things on your own, etc. it helps massively simplify things so you can get just the basics of working through logic and only logic.
Atm to try to learn .NET, making a sort of simple Visual Novel reader, but using ASP NET Core with React, that may be a good way to start if one has already been making video games for a while. Impractical to use a server framework for the task, but it teaches you fast if it's relevant and interesting and familiar.
I have been trying to figure out what I was missing to understand coding. Not the learning the syntax but the how to apply it part. This is exactly what I was missing! Thank you so much for this!
Great timing needed this right now ❤
Approach it like darksouls, have fun failing, keep trying and know that every time you fail you're getting ever so slightly better, it might seem impossible but you'll eventually get it. And that dopamine hit you get when you succeed is the best feeling.
Just put your head down, don't compare yourself to others and just keep practicing and most importantly keep building something you like and want to work on. If you already have a job a lot of the time you might end up getting stuck working on something you don't want to so it's important to work on your own projects and HAVE FUN! If your not having fun then you need to back off and take a break, reset and start again.
This is the single most useful programming video I have ever come across.
Watching this while I am stuck at work with a problem and I feel stupid and thinking how my other developpers friends are just leagues ahead of me and how undeserving of the job I have, so yeah, it is hard
Love the pragmatic realism you bring to "software development advice" community in these videos!
IMO the difficulty comes from the size of real-world apps: it's difficult to know where to jump in, or how to isolate only the parts you care about. A little app that you've written from the ground up - easy
100% I’ve started a role as a fullstack software developer apprentice and there’s so much shit to learn atm
They keep saying I’m slow but it’s because I don’t ask enough questions and also because they expect more from me than they probably should
I experienced this (2:40) during University work with data structures and algorithms. We were given large complex sets of data and had to create our own sorting algorithms without using any imported libraries and extremely limited built in libraries. It was seriously tough, but I think it taught us a lot.
hey! im gna start dsa next semester, can u give some examples of these data sets and how u tackled them?
Even though 30 minutes seems like a very short block of time, I still think that it is a good amount of time. At least it helps you build consistency, something important when it comes to master a skill.
One thing I have found useful when reviewing documentation, say for a JavaScript library for example, is to type out all the lifecycle events that then runs a console log of all the parameters for each event. That way I can see exactly what events have fired and what data they have accessible to them at that time.
Like for datatables editor,
editor.on(‘initEdit’, function ( e, node, data, items, type) {
console.log(‘initEdit event triggered: ‘, e, node, data, items, type);
});
Do this for every event in the docs and you will get to know the library very well.
As a software student, who feel lost and nearly give up on my major, thank you very much for this video
Hey man, I hope you are doing ok.
You got this man
In all my decades the hardest thing was getting potential users to identify what the application would be required to accomplish. Using tools like Decision Tables expose all situations and often make the users aware of things that had not even thought about. it is best to identify requirements before software development.
loved your edit man😂
I'm dealing with these issues as an average programmer right now, so from the bottom of my heart, thank you for making this video and for making me feel better 💚
Even if you are naturally good at solving problems, programming is still hard at the beginning because there is so much to learn about a language and what tools are available. It is usually much easier with languages you learn after your fist one. Also, at some point you are going to realize you are using more code than you need to and begin the process of slim lining and understanding how to do more with less. Not only does simplicity make it easier for anyone coming behind you but also if you are the one that needs to come back to it at a later date.
The timing of this video is perfect. I'm a network engineer and have to learn Python. I learned the basics years ago. How to declare variables, data types, loops, elsif statements, but I never knew how to actually apply them. Now I'm working on a script to auto config some switches so I know my end goal. Working backwards on how the logic will work seems to be helping me decide what tools to use to accomplish this.
I had completely given up on learning gamedev because it was so overwhelming, and I thought it just wasn't for me. But this has made me realize it is overwhelming for everyone. So I guess I'll keep going. Thank you.
Nah, you're probably assuming you need to know everything to make a game. Games are usually developed by teams of specialists. If you want to make a game on your own, you'll have to go simple. If you want to feel like a useful developer, specialise and work with others.
I started coding from last 2/3 month, and this video clearly changed my prospective that how i look at this thing, thanks buddy for this, love❤️
To the problem in 7:15
Can it be faster?
#Python
lst = ["pp","hi","subscribe","pp","hard","subscribe","pp"]
dict_cnt={}
for k in range(len(lst)):
popped = lst.pop()
try: dict_cnt[popped]=dict_cnt[popped]+1
except: dict_cnt[popped] =1
print(list(dict_cnt)[:3])
print(dict_cnt)
Really appreciate the cooking metaphor, I’ve been cooking for 20 years and I’m teaching myself to code for Unity and thinking of the codes as recipes fundamentally shifted my mindset to a place where I actually think this is possible now
If you want to understand programming fast, and actually love it,learn discrete math and DSA, programming will never be a problem, this is actually the foundation and meaning of a computer science degree.
What is DSA?
Data Structures and Algorithms
@@hoangcon4811 Ah, thank you, wasn't familiar with this abbreviation
Bro in my discrete math we ain't learning shit just like Jenn diagrams and what a set is and some weird arrows 😭
Venn? Genuinely checking.
I think tutorials are not a problem if you read docs. Sometimes docs are confusing, tutorials can help to clarify then. I use tutorials a lot for my own, but sometimes I want to read docs to understand from where they took their knowledge. It helps me a lot to grow as a dev.
I needed this. Thank you 🙏🏿
Ive been working on a side project for over 5 years now. Im at the final stages of turning it into a business. Have a goal, keep at it, and you'll succeed
🎯 Key Takeaways for quick navigation:
00:00 *🧠 La programmazione è complessa oltre la codifica*
- Discute la percezione sbagliata dei principianti che la programmazione sia facile.
- Molti pensano che programmazione significhi solo scrivere codice, ma in realtà richiede un pensiero logico e una comprensione profonda degli strumenti utilizzati.
01:23 *🍰 Metafora della cucina per spiegare la programmazione*
- Confronta l'apprendimento della programmazione all'imparare a cucinare usando solo ricette predefinite.
- Sottolinea l'importanza di comprendere i principi dietro al codice, non solo la sintassi.
02:19 *📚 Importanza della comprensione fondamentale oltre la memorizzazione*
- Illustra come la conoscenza della sintassi (come le liste e i loop) sia meno importante del sapere come e quando utilizzarla.
- Utilizza un esempio di calcolo della media senza usare la funzione 'sum' per mostrare l'applicazione pratica dei concetti di programmazione.
03:43 *🛠️ Sviluppo del 'mindset' del programmatore*
- Discute il vero sfida della programmazione: non solo codificare, ma risolvere problemi e pensare logicamente.
- Spiega che imparare a programmare è più di seguire tutorial; è essenziale esercitarsi a pensare come un programmatore.
05:06 *🔥 Il pericolo dell'"inferno dei tutorial"*
- Descrive "l'inferno dei tutorial" come un ciclo di apprendimento passivo dove si guarda molti tutorial ma non si migliora nella risoluzione di nuovi problemi.
- Sottolinea l'importanza di bilanciare l'uso dei tutorial con la pratica attiva e l'applicazione dei concetti.
06:16 *💡 Consigli pratici per sviluppare la mentalità di programmazione*
- Offre consigli su come affrontare i problemi di programmazione decomponendoli in compiti più piccoli e gestibili.
- Propone l'uso di tecniche come il "metodo Feynman" per migliorare la comprensione e la spiegazione dei concetti.
07:41 *🧩 Brilliant come strumento di apprendimento interattivo*
- Presenta Brilliant.org come una piattaforma che aiuta a sviluppare la mentalità del programmatore attraverso problemi pratici e interattivi.
- Enfatizza che Brilliant incoraggia un apprendimento attivo e pratico, molto più efficace dei video lezioni passivi.
08:52 *🏗️ L'importanza dell'apprendimento basato su progetti*
- Consiglia l'apprendimento basato su progetti per migliorare le abilità di programmazione.
- Spiega come costruire progetti reali aiuti a sviluppare capacità di risoluzione problemi, creando un portafoglio che porta a opportunità lavorative.
09:48 *🚀 Superare i fallimenti e praticare regolarmente*
- Incoraggia ad abbracciare i fallimenti come strumento di apprendimento e a praticare la programmazione regolarmente e intensamente.
- Motiva a non confrontarsi con gli altri ma a concentrarsi sui propri progressi e a continuare a imparare.
Made with HARPA AI
The worst part of learning programming is having to ask for help from programmers.
Why? I've been programming for more decades than I care to admit and I ask people for help occasionally. It's often good just to discuss the approach.
Say you're using the Django framework in python for example and you're completely stuck with a model or something. There's a discord where you can ask. My advice would be to write out your question in notepad first, make it properly formatted, showing all the info necessary, concise and polite. Imagine being the person answering it. Often just doing that will express the problem so clearly that you'll see the answer yourself. Or maybe you'll just quickly check one thing in the docs first and boom, it's there in plain English with a crystal clear example.
I'm doing this after twenty years and don't intend to stop. Embrace it.
The worst part of programming for me is learning syntaxes. In any other computer work, its easy to experiment and explore all the options that you have within a software, like 3D modelling or making music in DAW. You just click here or there, see what it does, play with your tools. In programming, nothing ever happens until you type it out, and for that you must know what and how to type it. Its why I struggle to program without training wheels on, there's so much raw text-form information to memorize. And having ever so slightly fuzzy memory gives you an immediate disability to program on your own due to syntax incorrectness. All that compared to directional learning on where to click or where to find a specific tool or setting.
As someone who knows about 8 languages and can pretty much pick up any new language if I want to in a couple of days, I think programming is only hard until you understand the concept. You need to realise program itself is nothing but its a way you're interacting with the operating system which in turn interact with the cpu. So every statement you write, every loop, every function, they all goes back to talk with the machine. Now if you stop learning a language for the sake of learning and instead think how each command you write is interacting with the system, you'll feel a natural flow of logic, the funny thing is that you only need to be good in 1 programming language (preferably any object-oriented language) and every other language is almost same with some syntax difference. There might be some special features in each language but over the time, you understand that most of the language work in similar fashion and some special feature is only introduced to ease up/mess up developer's life. That being said, it's best to learn language with practical projects so you can test and realise what you did wrong or could be written in better ways.
Ok, how long does it take you to pick up Prolog?
A dude still stuck in oriented, programming and inheritance of C++ since 2 months 🙋🏻♀️
I started to learn programming when I was 16...using a GWBasic manual and trying to use it for the Basic version that came pre installed on my IBM-PS1 back in 93 (at that time with NO INTERNET) all I had was that book, no other help. It was very demotivating at first but then I got hooked
This is why mentorships were important when I started 25+ years ago. We did have the resources folks do now but we had decent budgets for books and I was lucky enough to have a solid mentor in my first few corporate gigs.
That's rare indeed.
I recently built my first app as a "extracurricular project" for my company. I have no IT training and although trying to get into the space for years I basically just have this one app and an access DB in my back. Recently I tried to do a new approach and meanwhile learn C++ bcs everybody maked it seem hard. Then I realized one thing:
1) Coding isn't hard in and of itself. The moment you understand the core concepts it translates quite easily.
2) The hard stuff is the "make stuff for real people" part like system architecture, database usage, documentation inside and outside the code base, project structure, mastering version control, collaboration setup AND FRONT AND CENTER finding projects to do this and forcing yourself to comply with "industry standards".
I really wishe there were "beginner level" collaborative projects which get managed by seniors so one can get real life feedback on how usable your skills are irl whilst still not overwhelming the trainee with high level code bases...
Love the video, thanks for creating it
Very good. I'm a veteran software developer and I don't recall anyone else explaining the basic critical message in this video. Indeed, it's about having strong problem solving skills and using programming languages and tools to implement solutions. There are simpler coding problems and there are much more complex ones. High paying jobs involve solving complex problems. Experience has shown me that everyone does not have the natural aptitude to handle the more complex problems in programming.
1. Have game idea 2. Try to learn coding 3. Give up 4. Wait 2 years 5. Rinse and repeat
You hit the nail on the head. The syntax is easy. It's putting it all together that is a royal pain in the butt. It's very frustrating, but I know that one day I will have that "aha" moment when it all clicks together.
This really helped me. And also helped me feel better. Also glad you talk about imposter syndrome and failure because I feel like not many coders and programmers talk about itnat all.
It gets easier, don't be afraid to re learn or go back on topics and you will realize it's much easier the second time or third time around.
I am literally sitting at a new job pouring over the database model to try and find out how to implement some functionality to delete some data when some related data gets deleted, but over like 10 joins.
Understanding a domain is so much harder than just typing some code.
Anyways, time to stop procrastinating and hit my head at the wall of the domain model some more.
I'm seven months into my dev job and I still don't understand the the code base.
@@chaserightnowdude 😂😂😂😂😂 i felt that deep in my heart
@chaserightnow same I'm so stressed because I don't understand the complex codebase. I haven't slept in 3 months.
I love your videos. They’re very down-to-earth and practical. Also, they help explain the difficult side to coding. Please keep making great content like this!!
I've been watching prime for years now and I've never gotten the "buy my course and you'll be rich" bullshit from him, He's regularly streamed his content for free and it was very good quality. The message I've taken from prime is that
- programming is hard, and you have to work hard
- even if your at rock bottom in life you can turn your life around and succeed.
- getting a job in fang isn't always nice
- don't listen to twitter trends
- we're all dumb, so don't overcomplicate things
- be kind to people and give them grace
Seems a bit unfair to make him the face of the shitty side of programming. especially putting him beside techlead.
lol that's my fault for that and it wasn't my intention. It was intended solely for memes/entertainment. I love prime's content
He was certainly cited as someone with expertise
I think it's just the curse of the streamer. No matter how much he emphasizes how hard it is the format itself makes people think it'll be easy
Perseverance, patience and humility are really the backbones of programming for me, every time I approach a project that feels INCREDIBLY DIFFICULT and like I am not cut out for it I try to think about how this happened many time before and never made me give up on programming. I think it also has to do with what people become programmers, logically thinking people, who are also quite competitive at times, which leads us as programmers to take failure or even small setbacks badly, because we set the high expectations for ourselves. In reality it's a whole journey of winding paths and experiences that will keep throwing seemingly daunting problems at you, but I truly believe that with enough perseverance, patience and simple trial and error you can overcome anything.
The toxic environment was what threw me off. I know toxicity is in every field, but tech people can be truly built different.
Same, how am I supposed to get better with all this negativity around me, pulling me down.
@@icmedia6314 I wish you the best! I did pivot more to the business side to decrease the occurrences.
Where? There is no field like programming where everything is opensource and documented..
In my experience, it's not just programming. No pun intended when I say tech guys have a bug up their ass. I know guys who are into networking and configuration and they're the same way.. everything you say within a tech centric conversation will be put under a microscope and pessimistically analyzed
Tech people aren't really software engineers tbh. SEs are very kind and supportive to each other regardless of background or skill level, not toxic at all.
Finally someone that doesn't tell people about magic tricks and how to "become a Senior Pro Coder with this technique" - thank you for making this video man. I've been working as a self-taught, full-time software developer for 20+ years. Learning new languages and technologies over the years and all of what you explain here literally applies all of the time. 👏
My worst enemy is thinking 'whats the most effective way to program this?' and then finding out I don't know enough and giving up.
But then I think, Toby Fox did Undertale with all switch cases, not because it was the right way to do it, but because it's the only way he knew how.
Its better to just code even if its not the most efficient way, because no code is worse than a bad code.
(Of course learn how to improve fellas, don't spaghetti code but don't let it stop you from trying)
Im currently suffering from this at the moment, i even get something to work but i always go "nah, i dont think this is the correct way to do it" then i start freaking out and asking questions all over the internet searching what is the correct way until i give up.
@@UNDEREFFCT Just do it man, don't hold back, remember that it's better to learn how to fix something than not doing it
You can always improve and fix something later. The main task is getting it up and running.
I’ve refactored my code N-1 times
Sometimes 'well enough' is enough. You might get around to refactoring it later, you might not. Understand that in the moment you were working on it, with the information you had, you probably worked it out to the best you could give it that day.
As a high-school senior goung into computer science, thr best thing I have found to remember is the saying "all I know is I know nothing".
Thanks, thats nice!🥰
When your chasing a bug or error for a week and finally solve it is the best feeling you'll ever experience. If programming was easy we wouldn't do it. The emotional reward when you solve the problem is unmatched.
Hold the phone. 0:27 prime would NEVER say you should learn Rust as a newbie and he would never say you can get a job in 3-6 months.
So true. Sometimes it takes me 2 days to think how to write a code and its logic, and then, just few hours to actually write it. Then 7 days to fix issues related to this new code.
Self taught dev here... AGREED!
Well said. What makes programming challenging, and at the same fun, is that there are many ways to approach and solve a problem. Whatever way you choose to solve the problem, depends on the level of your understanding of the principles, theories, and tools that govern programming. In summary, what makes programming "hard" is choosing not only the correct solution, but also the most efficient one.
Programming isn't hard. Finding work is hard
Thank you very much for the advice you shared with us from Somalia