The beauty of coding is that you can either achieve the end result or you can’t….yet. Every time I freak out and think “I have NFI what how this works” I just go and spend a morning building stuff. More often than not I hit this *ding* moment where everything comes to light. Listen to the advice in this video, FOCUS ON PRACTICE.
We are merely just GPT, aren't we? The answers that come to us are largely based on experience, and our brains getting the next most likely "link" for each basic unit of the problem, a la markov chains Like how chatgpt cant do maths, but can answer coding questions so well. Because chatgpt has "practised" enough to develop a comprehensive chain of "possible replies" when given a set of "problem" units So we too need to practise and practise, building up the repertoire of possible "problem" units and the correct "links". So that when we face a new problem, it dings And if we can't, then we need to just prompt ourselves more like how we nudge gpt in the right direction ------------- That and also fundamentals I guess. (1) find the invariants (2) find the expected cases (3) wishful thinking / Blackbox and hope you unknowingly resolve it as you use it in place of the solution
The other thing about coding is that it's something yu want to do both night and day, and it's something yu think about all day. It's nit work really, it's doing what yu love!
Hey man, what technologies would you say are the best/most used in the industry that one should learn in order to reach that level? I'm new and trying to figure out what's my best option, thanks in advance
@@bigboxSWE I was also too hard on me for last 3 years in my College, now I am starting as intern from tommorrow, I've changed alot in last week. I forgot how much I use to love to code.
What does your company do ? I’m on my own self teaching journey as well but have aspirations to start something of my own, but not sure what kind of service I’d like to or could offer. Any suggestions ?
As a self-taught programmer who just got hired by a self-taught programmer who owns his own software company, I second this. Wouldn’t have gotten a job if I wasn’t actively building an app and telling people about it. Family, friends, you never know who they might know.
Perfect. I've been a developer for 30+ years, everything in this video is spot on. One of my first tutors said "If you're not learning something new every day in a development role then there's something wrong". Great video post.
Honestly, the list at the end, it may be what's expected of junior developers, but it's actually what senior developers do as well. We've just done that loop so much and so often it "looks" like we've known everything all along. The reality is, we've just gotten really fast at applying first principles and fundamentals, learning something new, and quickly figure it out - using whatever resources we have. Google, co-workers, tutorials/books, and now GPT.
Such an amazing comment. I cannot thank you enough! That's the pure difference I've noticed with Senior Developers, is that they can get to the root of the problem so much quicker because they've seen it repeated somewhere else (albeit in a different framework/language/context). I think that is the skill that most Juniors miss out on (those that don't focus on practice anyway!)
@@bigboxSWE I think that can be applied for competitive programmers as well, they solved so many problems that just by reading they get patterns from past questions and already know which algorithms and data structures are the better to apply for that specific question
Another point on ego: don't be attached to your code. It's *just* code. You or someone else will change it. It's ephemeral. One thing that helped me get past my ego, is knowing that everything I did was saved in the `git` repo. When I had to delete something I worked hard on, I was able to take solace in that. New devs at work often take offense when you change their code, and that's not helpful for them or for the project. It's just code; it's just code.
What I learned from this video : 1. Focus on practice not theory ! - 10,000 lines of code ❤ 2. Start by making small websites ! 3. Just to be comfortable with being uncomfortable - U will never know enough 4. You will never master coding rather you will understand them vaguely! 5. Know certain part of the domain and constantly learn nd build a bunch of projects.
This video is GOLD. Learning by consuming (tutorials, reading theory, etc.) is not nearly as effective as learning by crafting. You don't need to make huge projects to try and apply what you are learning; small, minimal programs made repeatedly are just as good for this purpose. More importantly, I learnt that when you don't understand something or you're stuck, it's VERY important to take a rest and come back later. We have focus periods and if you always try and push through them, you'll quickly get burnt out, you'll grow lethargic and won't be able to do any more work. Taking breaks, doing other things is just as important to mantain a good performance when learning to code, and to keep enjoying doing so long term. After all, we can only do so much on a day. I was feeling a bit stressed out lately so this video made me feel a lot better. Thanks!
let's say i downloaded python for the first time what should i do projects without knowing anything about python i dont know what to do should i watch youtube toturials can u help me?
@@rronzeyy you can do any method you like. If you're starting Python from scratch it's ok to look for some tutorials or an article about its syntax or stuff, but there's nothing wrong with trying to figure it out as you experiment and do things with it either. I was just saying that between those 2 options, the latter often is more effective for learning, since you get actively involved with it. While watching a tutorial, a course or an article might be good to overview the topic or understand some key things/details, I'd leave it as a last resort. Ultimately, learning a programming language is actually pretty easy, since all of the ones used nowadays are awfully similar. My best advice would be to look for the important theory, the pillars of programming. Learn programming principles, paradigms, good (and bad) coding practices, and the main structures all languages follow. Then you could jump to more specific things such as data structures, data bases and the relational paradigm, etc.
@@FranksCreativeCorner Thank you so much so im gonna watch some toturials to learn basic things like variables strings functions lists input etc then i should code copy other people (not their code) the way that they do the pratice and just pratice. thanks for the advice appreciated!
Mindset of a succesful programmer: 1. Don't give a f... All the useless meetings, changing requirements, impossible deadlines. You have to give zero f's about your job, otherwise you can go insane. 2. Dont think about your job after hours. You have to understand, this is not important. Your life is. 3. Work from home. Finished task for today? Finish earlier. See pt. 2. 4. Dont work too fast. Work slowly. Unless somebody explicitly tells you that you are lagging behind, you are not working too slow. 5. Project confidence. Tell clients what they want to hear. Do otherwise anyway. 6. Copy and paste everywhere you can. Take your previous projects and copy from them. Always try to take the path with minimal amount of code to write.
It's definitely hard to unlearn the habits of the fixed mindset and adopt the growth mindset because of how society focuses so much on the end result than the process, but I'm getting there
I started programming at 10, started with windows batch, didn't know anything else but got really good at batch, made a color Tetris clone in batch, later tried to learn c++ because i wanted to make a specific thing, that was the wrong approach and i kinda didn't make a lot for 2 years, then i started programming school i realized I already knew most things but being required to make the assignments was the push i needed to get good enough to make my own projects and a year later i started an internship which turned in to a fulltime job, now 5 years after i joined that school i have graduated and moved to working fulltime remotely for a smarthome company in a different country and it's great, so my advice is just built stuff, but don't be too ambitious, make small things, especially games or animated things because you see your code working, get an internship for real expirience and you'll probably see the path from there
This comment resonates with me. I’ve been interested in programming for years but never had the structure needed to do anything with it. I’m excited to get kicked in the right direction by attending school this fall.
i know this video has been out for a year and this probably won't get noticed, but thanks for making me realize what i've been doing wrong all this time, especially in helping me realize the difference between college programming and actual programming. I've been looking at it wrong all this time, and this cleared things up for me
Man, I absolutely love the presentation of ideas here. I am a Mechanical Engineer who wants to learn how to code and this was really helpful. Thank you and I am subbed!
Thank you so much Shayan! I'm really curious how you want to use mech eng in your coding career! I know a lot of my mechanical engineer friends use a lot of MatLab and Python. Btw, keen to see more of your CoD content :)
Thank you for this video, it's so accurate! When I was a trainee in a company I was afraid to google or even simply ask a question from senior, but now I understand that it's literally one of the most basics things you need to do
I would add that consistency is key! Forming habits around learning new theory based skills (such as certification hunting) or learning a new framework through hands on practice should be approached on a near daily basis. Some of these technologies take months to learn and weeks before we even get an intuitive understanding of what the point of them truly is in the context of a larger tech stack.
I've enrolled to a SWE program at a university next month. I used to think that programming was something that I couldn’t do. My lack of confidence in Math, combined with the fear of not being smart enough, made me believe that coding was not my thing. Consequently, I never tried to learn programming seriously. But now, in hindsight, I realize that I may have been too hasty to dismiss it as a possibility. While it may be true that it is challenging, programming is like any other worthwhile skill - it takes time and effort to master. Your video motivates me. In 2023, I am finally ready to embrace this challenge and become proficient in this valuable skill. I'm going to take your advice to heart.
Ricardo! I cannot tell you the amount of times I've quit learning to code. I actually failed my first college programming course :) It takes time and its not really a skill beyond anyone. If you enjoy programming, it's a skill you will learn to love. Thank you for your wonderful comment.
This is great to hear. I’m taking my first CS course this August and my reasoning is quite similar to yours. I never learned anything past algebra in high school. Nonetheless I have the perspective now to realize that anything can be practiced and learned if there’s heart and dedication behind it. I’m excited for what’s next.
Very nice video :) Another principal that applies to my personal project work is: Don't let a small issue ruin your day. If you're stuck, take a step back, sleep on it, or simply move on and deal with it later. The problem doesn't define you. Momentum is far more motivating and will build your confidence.
The thing that helped me the most with programming was Dark Souls, no joke. Great video, I agree with it and I wish there was more of these. The hard part of programming isn't even programming related, it's a broader problem of humand mind, that's simply exposed the most via software development. My tip is: "Don't learn to program, learn to develop software." Same thing, but a very different mindset, that will make make this easier and make you more proud of yourself.
Underrated comment. The souls games are my favorite games of all time, including sekiro and elden ring. I never thought about how similar that experience is to programming. You go at a boss again and again and every time you learn a little bit more. You learn how to dodge or parry that next move, similar to how you learn how to implement that next algorithm in a program. For each, you learn to love the challenge and each little win along the way to the finished product (finishing the program or beating the boss).
Same. Hollow Knight and FromSoftware games made me better as a person. Somehow it also relates to Stoicism and the words “the obstacle is the way“. It’s fascinating that different areas of life has similar approaches of getting better.
Thanks for changing my mindset. I am very bad at academics but I always love computer and wanted to study. But when I really went for it , all just crumble in front of me, i couldn't keep up with all those technical terms and failed in college . But deep down I know that I can do , I still love computer. The point you've mentioned in video is all true . The thing I was doing wrong that I wanted master all the things i was learning. But now I see that it is impossible to master everything.
What I think is most important for the developer to learn is to master the art of problem solving as it will be the one and only tool which I think will guarantee success in this field(or any field for that matter)...
as someone who is currently in a boot camp learning to code i found this video inspiring in a way. my issue i think is that i feel that i need to know every little detail and trying to cram it into my brain just to forget half of it the very next day because i did not actually retain all of the information rather just read over it with no practice. but after watching this i will have a better understanding of how to learn to code this was insanely helpful thank you.
this video definitely spoke to me as i’m taking my first programming class as a noob and ive definitely struggled with my ego and the fear of being uncomfortable in class as normally classes are easy and i feel confident in my ability to absorb the information but in my programming class i feel like an idiot and am constantly uncomfortable and intimidated from the fact i don’t know the answers most of the time to the questions the professor asks us. i’ve skipped a lot of the classes due to this (also a lot of social anxiety) but i guess that’s where the real learning happens. pushing our boundaries
This is like the perfect key for self taught programer. I like how you brought up about being in a stuck concept situation. I knew right away once I was stuck and learing that specific part of syntax; I was wasting my time and delaying my goals. So I learn just by creating projects uses those concepts and understand them what they do. And I agree about being not a master in coding. Senior and Junior developer wont able to master and can't be perfect by memorizing everything. They will always part of syntax that you forget and its completley normal. But once you research it again; it'll help you remeber it quick than processing before casue you have learned it. This well put.
I'm 6 years in and still learning. Sure I get more comfy in knowing what I know but I never stress out about things anymore. I have been faced countless times with projects thinking "I have no fucking clue where to even start" only to solve it and go beyond. Always be curious, no questions are dumb, learn the fundamentals and just keep learning and you will become a senior.
I have always had a tendency to plan everything before ever getting to work. So when I approached coding, I spent weeks on end reading, setting up my code environments right etc, until I realized I was just procrastinating because I was scared of actually starting. If you have this tendency too, know that every line of code you'll write for the first few months is going to suck. So just get to it and write a lot. The time spent optimizing the contour is gonna be much better spent once the code underneath is worth such an optimization.
I used to think programming had to be 'serious BIZNESS' for a long time, it wasn't until I pursued it like any other hobby that I actually started to enjoy it
I needed to hear this! I am on my own journey on becoming an engineer and really feeling overwhelmed right now and pretty terrible at this craft, this has sorta cleared the air a bit, thanks man!
Thank you I'm coming to the realization that I learn more by actually DOING than watching someone do it. There's stuff that tutorials won't teach you, you have to let yourself explore.
This is something I had to learn myself. You'll see the UA-cam videos of people building these amazing websites, building these graphically beautiful To-Do applications, Building massive backend frameworks for their projects, etc etc etc. Don't follow what they do. Make your own stuff that you enjoy and put it to code. Imagine how many recruiters have seen the same To-Do application, backend framework, and amazing websites. Be the breath of fresh air when you put down code on your resume that you made and an application that you thought of. It may not be the most prettiest thing but who cares? They're not grading you for accuracy. They're grading you for thought and creativity.
Programming videos give you all the wrong impressions about programming. You have no idea how much time, code, and preparation the other person had. Coding is so hacky and rigid in the beginning, and new programmers are put off when they compare themselves to the tutorial (natural to do so). Done is so much better than perfect. Love that mindset James!
Watched both of your videos, I really enjoyed them. I’m trying to set realistic goals and expectations for myself, I have time so I won’t try and get ahead of myself.
Thank you so much! I really appreciate it. I think it's important to adopt a 'Growth' mindset, where you attempt to get better 1% everyday, rather than trying to cram a lot of progress in a short-time. The truth is, programming is like an instrument, for some people it clicks naturally (which is a gift from above). On the other hand, there is nothing that time and properly directed hard work cannot achieve. I believe in you! Go out there and get it :)
Every bit of advice you presented is, remarkably, exactly what I ended up learning the hard way throughout my CS education. If only I could have seen this video many years ago, it would have saved me so much time and unnecessary stress. :)
I am starting a career shift as a Cloud Developer and realize this it. Build a life as a coder. Code a little every day. Thank you for sharing your knowledge.
Yeah, I wish to know that at the start of my learning journey, I mean i'm still learning, but its a hard journey and most of things you've said are coming to us slowly. Very important rule, learn to love the struggle because basically thats your job (potentially), its about solving complex problems and solving problems aint easy. Sometimes it looks for me thats biggest part of ''learning programming'' is about character development. Mindset is crucial and accepting the fact that you will suck at it very often.
Instructions received. *_I ended up bending the rules and experimented everything._* I think this mindset applies to EVERY career path. You won't be perfect at it, but you get to know the parts and utilize them.
Damn You are the guy I aspire to be with the mindset you have right now. I Started reading books about stoicism and articles about discipline and you just sum it up so nicely in my favourite (Programming) very thankful.
I think that an important thing to mention is that the way to avoid these things and get to the right mindset is to have a project in mind before you start to learn a new subject (in programming). When I started to learn programming, I did so because I needed to make an app for an electronics project and because of that I tried to rush the learning process through tutorials as fast as possible. When you learn a subject for the sake of learning it's really hard to know when to start learning and when to actually practicing. Every time before I want to learn a new thing in this field, I find a project that I want to make with that knowledge.
Thank you ever so much! This is an eerily timely advice for me which gave me comfort and encouragement. I am transitioning between professions and one of the challenges is to shift my mindset to a saner and more constructive one 😄 I used to work in a field where a small mistake could have dire consequences, so I hope that I can have a new type of job where the unavoidable reality of me making mistakes will be seen as normal and where I will be supported to learn more and more and more without fear of reprisals. Thanks again 😊
Nice one. Teachers always want you to knows the right answer. But in programming there's hardly ever the only one correct answer. So you can't learn it and apply it later. You always need to find a solution good enough for the given problem. And that's best found by writing (coding) down your idea, test it (preferably in software), fail, and write it again. And then again. Until it does the job. Next level is to do it well. (Extensible, maintainable, changeable, testable) The number of iterations will be rather constant. But the problems will be more complex over time and much more fun. And, by the way, tell those to go away who tell you to do stuff this way or that because "we've always done it this way". This is where learning ends. And software engineering is constant learning. Go, practice a kata 😂 20+ years of coding (professionally) and still learning. And still loving it.
Thank you so much Stephan! Your take is absolutely perfect. I think a lot of beginner programmers compare writing code to writing in natural language, where you can get it right in a few attempts. This is far from the reality. You have to recognise that your code is very individual to you and how you view problems, which in essence shows a lack of experience or even natural proclivity towards programming. And in re: "we've always done it this way" that's where cargo-cult programming starts and passion for Software Engineering ends as well! Thank you so much for your lovely comment and I admire your tenacity for learning (and respect for 2 decades in the industry!)
That 10000 lines instead of hours perspective is brilliant. It's something tangible you can aim to achieve, rather than some vague notion of time that you could waste with too much theory
Honestly, i had all the prohlems you said in that video, thank you a lot, its exactly what i wanted, quick video, fix my issues. Thank you a really lot. I thought i couldn't be a programmer because sometimes i think im not a good programmer, im not good enough to be contracted or something, so, thank you again, now i have more inspiration and can see a future on me.
Don’t know if anyone posted it already, but all of the things you described (and some more) are in a free O’Reilly book called Apprenticeship Patterns. Very easy read as the patterns are all relatively small and have context so tou more easily get triggered to think about them when the situation at hand calls for them. The patterns you described are called “into the deep end”, “breakable toys” and “sweep the floor” to name a few.
You've just described me. I've been making those mistakes for almost 20 years, and only now I figured out how wrong I was. That costed me A LOT OF TROUBLE. I should be a super-senior already, but I'm still at a junior level.
To anyone out there aspiring to be a pro dev.. most devs (inc myself) do not watch this stuff. We dont subscribe to any of these devvy YT channels. Just get your head down, stick your tunes on, and code. Please resist getting all caught up in the 'oh look I'm a dev now' hype train, and collecting new stickers for your Mac. Just work, learn, enjoy being productive.
It really gives me hope after stumbling onto your video. For me, I see all my friends around me in university picking up concepts and programming really quickly. Yet for me, It can take me almost an entire day to work on chunks of code and at the end, I may not understand it at all. I always thought that I will simply never be a master at this and contemplated whether this field was for me at all. But watching the video and reading through the comments really help shed light on that: I may never be a full master at programming, but I sure as hell have the grits to look through code and learn as a student.
Yes! as a software developer I was really anxious to admit that I didnt knew how in the hell should a code some simple things. Now after 3 years I feel comfortable saying I dont know or Im not sure but I will solve it, and everyone that Ive worked with doesnt seem to care if I know it from the beggining or not.
Such a good video, especially for people like me who are starting out software engineering. Please keep making more! Both the videos, very good, and it's just refreshing from the extremely overcomplicated software lingo I frankly do not understand. Keep on going!
Thank you so much! Yes it's something I experienced as well. Software Engineering is unintentionally gate kept by a lot of subtle things (such as lingo). I will try my best to continue to be clear. Thank you! :)
Bro, hear me out. Your videos are so close to NoBoilerplate or Fireship level. It is insane how good you are. Take my advice with a grain of salt. But I think you would benefit from defining pacing for sections when you write. And trying to have same structure for most points you make and make them more impactful. And you would be better than any programming channel in no time because of your great writing and aesthetic. Also music too loud, but it is easier to fix)
Thank you so much, I appreciate your comment so much. These were my first ever tries at producing content and I will 100% try to incorporate pacing into my videos. I am so happy you found my videos that good, but I am very far off, I also just subbed to NoBoilerPlate thanks to you! :)
@@bigboxSWE great start then, I hope for even more better impact and subscribers/watching people in the future. But I will add that the video ended very abruptly, as if someone just cut it before outro
I just got your channel recommended and man the information quality and the audio quality forced me to sub. Good job and best luck with your UA-cam journey.
Thank you so much! I actually use Adobe Audio AI Enhance so I don't do any of the mixing myself, please do check it out if you're interested in recording yourself, it's an awesome tool.
Thanks for reminding me that I don't have to master everything that comes my way right away. I can make the high level notes and go into depth when I actually need to while using the stuff. Thanks a lot. I have been stuck for 3+ months now at the same position not growing at all.
That's normal. Learning is seldom linear. It's more like steps. You feel stuck and suddenly, boom, you get an insight, soar up like a rocket, think you own the world now, until you're stuck again. 😅 If you really can't wrap your head around some detail for a month or so, step back for a moment and look at the problem from a different angle. Or try a different problem first. That might widen the view.
Hi Piyush, You are absolutely correct. Many people think of learning in Software Engineering like a ladder, where you cross each step sequentially and that's rarely true. Think of your learning as a graph, where you have individual nodes of knowledge that you have good experience in and others where you have a surface level understanding. Eventually, when you realise you'll need to implement something, you'll go learn it, and that learning will be so much stronger. Growth in Software Development is hard to measure, but if you've been at it for 3 months you already have the greatest asset of them all - persistence :)
The point about getting comfortable with being uncomfortable is relatable to me since I started doing reverse engineering recently. Especially learning assembly (MIPS in my case). I'm primarily focusing on the PSP since I still actively use my PSP to this day and enjoy making simple programs with the pspsdk. I really need to get comfortable knowing that I'll have to learn most of this stuff on my own. Thanks for making this video.
I will be the one pessimistic voice here and say the thing these inspirational youtube folks never will: Some people just cannot do this. No matter how hard you try or how many hours you put in, for some of us, we just cannot do it. Everything is a balance of work and talent, but we're all so different. For some of us, the talent is just not there at all and this field will be a hassle for the rest of your life. As someone who has a masters in computer science, with high grades, gotten a good job and done it very well over many years, I can still say this is just not for me. For all the effort I put into this, all my sunken hours just to perform at just a normal level. I do not wish to compensate for a lack of talent for the rest of my life and for some of you, it might be the same case. Really reflect when chosing a field to work in. Don't listen to these videos whole heartedly. It feels good in the moment, but you'll work with this for 50 years or more. If you lack the talent, you'll have to compensate with time and time is so scarce as the years go by. Find the field you're naturally good at and work on that, don't buy into the hype of CS. Sometimes it's OK to give up and change.
I completely, wholeheartedly agree with your comment. I don't want to be an 'inspirational UA-cam' folk. I will be making a separate video as to why Software Dev isn't for everyone, and it is only for you when you realise that it is the highest paying best paid scenario for YOUR skillset, and sometimes writing code isn't! You could be a lot better at a whole other set of things (selling, analytics, management, heck even cooking!)
Sheee as a motion designer this is exactly what I needed. Same mindset is needed. You can quickly get into a tutorial/course rut and stay there. Almost like that scripture that says: Always learning, yet never arriving to the knowledge of the truth - 2 Tim 3:7 Sit down and, DO THE THING!
Key points in this video 1: Focus on practise NOT Theory! 2:Ego is the enemy 3:Get comfortable with being uncomfortable. 4:You can never have enough of programming! And also, Change your "i cant do it" to "i can learn how to do it". Best wishes to all my tech geeks! - From a fellow engineering student!
Words cannot even describe how grateful I am for this video. I needed to hear this. I find myself being terrified of being a programmer: fear of not being good enough, or smart enough to approach a problem I haven't encountered already and I thought I could resolve this by just... Knowing everything already? ahah and to make this worse, I wanted to know everything theoretically. Your words has opened my eyes, thanks man!
As a Videoographer and Photographer, I can say that this is definitely good advice in general. Especially the section with getting comfortable at 3:12. One does not simply open a program like After Effects and practically master it after using it, even after using it for many times. With that program, since there's an infinite amount of ways you can convey something and its all dependent on your own creativity and imagination, there will always be something new to learn. So instead of taking the approach of "I want to Learn everything and master After Effects, you break it down into portions that inspire ideas, and you commit the process of making it. Great video
Thank you for this! I’m not a beginner, but I’m going through some career transitioning and it’s true that practice makes you better at programming. You will get more comfortable, confident and faster.
Im a fe software engineer, senior web developer for 7+ years, help coders and non-coders solve problems for fun, and can say I totally agree with this mindset discussed in the video. Great output for those at any stage in this field!
Hi Justin, thank you so much for your lovely comment. The Tutorial hell video is currently underway :) Please let me know if there are other beginner topics for me to make and I will be sure to keep them in mind.
Thank you so much! Deliberate Practice is an amazing concept I stumbled upon earlier in my career from this lovely talk from Kathy Sierra (the original co-author of the Head First series) ua-cam.com/video/FKTxC9pl-WM/v-deo.html I might do a separate video on it, but more on how to apply it, because that's where I faced my issue! :)
currently doing the cs50 course and on the first problem set. making a game in scratch. and I at first felt like it was a waste of time like why would i want to learn this kids program. but then i realized that it's just a part of the journey to make the next part make more sense and so on. I had to tell myself it's okay to get stuck trying to make the game. just take it step by step don't dream about doing "the real thing". Don't be hasty
I really enjoyed both your videos and look forward for the next one! I'd love to see how you approach solving coding problems or how you plan your code for a project before writing it out. I'm going through a data & algorithms course so I can eventually solve easy-medium problems on leetcode but most of the time I'm just staring at a blank editor -_-
Thank you for your lovely comment! I posted another video on tutorial hell where I briefly touch on decomposition as a developer. I would highly recommend you check that out!
Incredible video. As a self-taught developer. I'm still trying to achieve my first opportunity in the field. But what said speaks so much of what is expected from beginners. Thanks for the amazing content.
I am now 20, I started to code when I was 15, it's been a little over 4 years. Initially I would create random stuff on my own just for fun. Somewhere down the line I thought maybe all these basic stuff are below me and I should exclusively work on something big.That was my ego, and it was the worst mistake. I got burned out really quickly and wasted a lot of time. Fortunately, I learned it, the hard way, and started working on small scale projects rather than diving head first into something too complex and now I am working on some intermediate to advanced level projects. So, this was a really good advice and something I had to learn the hard way.
This is great! I’m a mid level engineer and I would say this is spot on. However (you kinda said this at the end), definitely become a master of the fundamentals/basics! From there you can basically learn and build anything if you know where to look and have that base.
Thank you so much! That's definitely something I learned the hard way because I jumped into frameworks with very little knowledge of the basics, so I had to go back and forth a few times. What I've noticed about the great interns/juniors I've interacted with is that they are just so well versed in the fundamentals of programming and computing, that whatever you throw their way they pick up quite quickly because its all an abstraction of some lower level fundamental.
Your not an engineer. Unlike the engineering field, the software field has no standardized test that proves we meet a standard of skill. That's why so many people can't solve fizzbuzz.
I disagree with the idea that you should focus on the basics first. I like getting into big projects and learning the basics as I build. Learning like this means that everything I learn has an application I can easily see, and everything I learn helps me work towards a goal. It's a big motivation. Whenever I learn the basics for the sake of learning the basics, I get bored and move on to something else.
I think it's just a difference in the definition of "Basics". For some, basics might be "Hello world!" and so on. For me - Basics are fundamental concepts that are universaly important. Abstraction, Modules, Memory, Data Flow, Global/Local State. These are great if you learn them early, but you need to go wide to really understand them, seperate the concepts from their implementations. That's not something you can do do by just "Getting good at one language" like many may recommend. It might be the fastest way to get a first job, but not the best way for you in the long-term. I didn't understand Abstraction until I wrote a lot of lines of code into a single file. I didn't understand the difference between OOP and Modular Programming until I dig into JavaScript with mostly only C# experience. I didn't understand Memory until I saw what the Garbage Collector actually does and how C code looks like compared to C#. I didn't understand Data Flow until I stepped through my code with a Debugger and looked at the Call Stack, Local Scope etc. I didn't understand the issue with Global State until I wanted to run a few instances of my program at once.
Currently I want to learn django. Back in the day, I used html, css, bootstrap, php and xampp for phpmyadmin in my capstone project and today all of a sudden I want to use django now, and I was pretty much slapped at the face on how much I don't understand how django works, so yet I tried to learn python from start, following a 12hr long tutorial. I was doing my best to keep on watching, following and applying what I have learn on that python tutorial, I thought maybe this would be sufficient enough for me to now understand django. So I came back for the django tutorial and yet I it still too complicated for me to understand. I currently feel so bad, I think I would never ever get on how to use Django. Can you give me some advice on this? just in web development in general
Thank you for this. I really needed to hear that. Still starting out as a jr. developer after a major career shift. Heck, I didn't even major in CS or IT. Again, thank you.
I'm going from teaching to software development. I just started my Master's program for software development a couple of weeks ago. This was very motivational and comforting. Thank you.
Your story on Ego being the enemy hit me to the point. I am still fighting to swallow it. i guess I needed to hear this. Thank you! I'm giving this a like and subscribing.
The beauty of coding is that you can either achieve the end result or you can’t….yet.
Every time I freak out and think “I have NFI what how this works” I just go and spend a morning building stuff. More often than not I hit this *ding* moment where everything comes to light. Listen to the advice in this video, FOCUS ON PRACTICE.
Awesome Take Nicholas! Huge fan of your work, I remember watching your AI Text To Speech video a few months ago. Love from Melbourne.
@@bigboxSWE thanks a mil 🙏. Your vids are outstanding.
We are merely just GPT, aren't we? The answers that come to us are largely based on experience, and our brains getting the next most likely "link" for each basic unit of the problem, a la markov chains
Like how chatgpt cant do maths, but can answer coding questions so well. Because chatgpt has "practised" enough to develop a comprehensive chain of "possible replies" when given a set of "problem" units
So we too need to practise and practise, building up the repertoire of possible "problem" units and the correct "links". So that when we face a new problem, it dings
And if we can't, then we need to just prompt ourselves more like how we nudge gpt in the right direction
-------------
That and also fundamentals I guess.
(1) find the invariants
(2) find the expected cases
(3) wishful thinking / Blackbox and hope you unknowingly resolve it as you use it in place of the solution
yes :D
The other thing about coding is that it's something yu want to do both night and day, and it's something yu think about all day. It's nit work really, it's doing what yu love!
1. Focus on practice
2. Ego is the Enemy
3. Get comfortable with being uncomfortable
4. Touch the grass
@@daze8410 ....
@@daze8410unfortunately, thats counter-productive to being a good programmer
@@daze8410 5. Shower
@@daze8410very important
Getting to the point where I can build an app and just listen to music without pausing and following a tutorial was a game changer.
When I stopped seeing programming as 'Serious Business' as to something enjoyable, my performance went up!
literally the best feeling ever
Hey man, what technologies would you say are the best/most used in the industry that one should learn in order to reach that level? I'm new and trying to figure out what's my best option, thanks in advance
@@bigboxSWE I was also too hard on me for last 3 years in my College, now I am starting as intern from tommorrow, I've changed alot in last week. I forgot how much I use to love to code.
@@facudiaz573there's no the best, it's all just tools and each tools has different uses
As a self-taught web developer, who owns a software company, I approve this message 100%.
Congratulations on the jump to Entrepreneur :) I hope you're still technical! Thank you for the wonderful comment.
What does your company do ? I’m on my own self teaching journey as well but have aspirations to start something of my own, but not sure what kind of service I’d like to or could offer. Any suggestions ?
As a self-taught programmer who just got hired by a self-taught programmer who owns his own software company, I second this. Wouldn’t have gotten a job if I wasn’t actively building an app and telling people about it. Family, friends, you never know who they might know.
Hey brother, what is your company? I’m curious
Would you like to hire me? Haha, jk (😭)
Perfect. I've been a developer for 30+ years, everything in this video is spot on. One of my first tutors said "If you're not learning something new every day in a development role then there's something wrong". Great video post.
How do we make sure of it?
Hi, how are you? May I ask what technologies do you use the most? Or which would you say are the most valuable?
@@facudiaz573Learn JavaScript Java Python and you are good
how the hell am I supposed to "learn" something new every day if I don't even understand what I learned.
@@gravecastleofficial Yeah that seems very exhausting ...I guess his first tutor made a fool out of him.
Honestly, the list at the end, it may be what's expected of junior developers, but it's actually what senior developers do as well. We've just done that loop so much and so often it "looks" like we've known everything all along. The reality is, we've just gotten really fast at applying first principles and fundamentals, learning something new, and quickly figure it out - using whatever resources we have. Google, co-workers, tutorials/books, and now GPT.
Such an amazing comment. I cannot thank you enough! That's the pure difference I've noticed with Senior Developers, is that they can get to the root of the problem so much quicker because they've seen it repeated somewhere else (albeit in a different framework/language/context). I think that is the skill that most Juniors miss out on (those that don't focus on practice anyway!)
@@bigboxSWE I think that can be applied for competitive programmers as well, they solved so many problems that just by reading they get patterns from past questions and already know which algorithms and data structures are the better to apply for that specific question
Junior dev = can google
Senior dev = can google faster!
took me about months to learn js, then when i started data science with python i completed python within bout a week.
bro I spend so much time on chatgpt while creating a software... is it normal? i mean at the end of the day you care about the software
Another point on ego: don't be attached to your code. It's *just* code. You or someone else will change it. It's ephemeral.
One thing that helped me get past my ego, is knowing that everything I did was saved in the `git` repo. When I had to delete something I worked hard on, I was able to take solace in that.
New devs at work often take offense when you change their code, and that's not helpful for them or for the project. It's just code; it's just code.
Such a good mindset Miles! I used to get so offended when Seniors ripped apart my code, but I realised that's where improvement actually happens :)
What I learned from this video :
1. Focus on practice not theory ! -
10,000 lines of code ❤
2. Start by making small websites !
3. Just to be comfortable with being uncomfortable - U will never know enough
4. You will never master coding rather you will understand them vaguely!
5. Know certain part of the domain and constantly learn nd build a bunch of projects.
Man as someone who's dev morale has dropped like crazy in the last year, I need to hear this. Thank you.
This video is GOLD. Learning by consuming (tutorials, reading theory, etc.) is not nearly as effective as learning by crafting. You don't need to make huge projects to try and apply what you are learning; small, minimal programs made repeatedly are just as good for this purpose.
More importantly, I learnt that when you don't understand something or you're stuck, it's VERY important to take a rest and come back later. We have focus periods and if you always try and push through them, you'll quickly get burnt out, you'll grow lethargic and won't be able to do any more work. Taking breaks, doing other things is just as important to mantain a good performance when learning to code, and to keep enjoying doing so long term. After all, we can only do so much on a day.
I was feeling a bit stressed out lately so this video made me feel a lot better. Thanks!
let's say i downloaded python for the first time what should i do projects without knowing anything about python i dont know what to do should i watch youtube toturials can u help me?
@@rronzeyy you can do any method you like. If you're starting Python from scratch it's ok to look for some tutorials or an article about its syntax or stuff, but there's nothing wrong with trying to figure it out as you experiment and do things with it either.
I was just saying that between those 2 options, the latter often is more effective for learning, since you get actively involved with it. While watching a tutorial, a course or an article might be good to overview the topic or understand some key things/details, I'd leave it as a last resort.
Ultimately, learning a programming language is actually pretty easy, since all of the ones used nowadays are awfully similar.
My best advice would be to look for the important theory, the pillars of programming. Learn programming principles, paradigms, good (and bad) coding practices, and the main structures all languages follow. Then you could jump to more specific things such as data structures, data bases and the relational paradigm, etc.
@@FranksCreativeCorner Thank you so much so im gonna watch some toturials to learn basic things like variables strings functions lists input etc then i should code copy other people (not their code) the way that they do the pratice and just pratice. thanks for the advice appreciated!
Mindset of a succesful programmer:
1. Don't give a f... All the useless meetings, changing requirements, impossible deadlines. You have to give zero f's about your job, otherwise you can go insane.
2. Dont think about your job after hours. You have to understand, this is not important. Your life is.
3. Work from home. Finished task for today? Finish earlier. See pt. 2.
4. Dont work too fast. Work slowly. Unless somebody explicitly tells you that you are lagging behind, you are not working too slow.
5. Project confidence. Tell clients what they want to hear. Do otherwise anyway.
6. Copy and paste everywhere you can. Take your previous projects and copy from them. Always try to take the path with minimal amount of code to write.
It's definitely hard to unlearn the habits of the fixed mindset and adopt the growth mindset because of how society focuses so much on the end result than the process, but I'm getting there
I started programming at 10, started with windows batch, didn't know anything else but got really good at batch, made a color Tetris clone in batch, later tried to learn c++ because i wanted to make a specific thing, that was the wrong approach and i kinda didn't make a lot for 2 years, then i started programming school i realized I already knew most things but being required to make the assignments was the push i needed to get good enough to make my own projects and a year later i started an internship which turned in to a fulltime job, now 5 years after i joined that school i have graduated and moved to working fulltime remotely for a smarthome company in a different country and it's great, so my advice is just built stuff, but don't be too ambitious, make small things, especially games or animated things because you see your code working, get an internship for real expirience and you'll probably see the path from there
This comment resonates with me. I’ve been interested in programming for years but never had the structure needed to do anything with it. I’m excited to get kicked in the right direction by attending school this fall.
what about start with python with machine learning or some kind of Ai stuff besides game? pls help to answer me as new
i know this video has been out for a year and this probably won't get noticed, but thanks for making me realize what i've been doing wrong all this time, especially in helping me realize the difference between college programming and actual programming. I've been looking at it wrong all this time, and this cleared things up for me
This is so true. You will feel like you know nothing until a week later you realize you aren't where you use to be
Man, I absolutely love the presentation of ideas here. I am a Mechanical Engineer who wants to learn how to code and this was really helpful. Thank you and I am subbed!
Thank you so much Shayan! I'm really curious how you want to use mech eng in your coding career! I know a lot of my mechanical engineer friends use a lot of MatLab and Python. Btw, keen to see more of your CoD content :)
Best of luck Cary on ur worked 👍
Thank you for this video, it's so accurate! When I was a trainee in a company I was afraid to google or even simply ask a question from senior, but now I understand that it's literally one of the most basics things you need to do
I would add that consistency is key! Forming habits around learning new theory based skills (such as certification hunting) or learning a new framework through hands on practice should be approached on a near daily basis. Some of these technologies take months to learn and weeks before we even get an intuitive understanding of what the point of them truly is in the context of a larger tech stack.
Making coding a habit is absolutely key. I can make a whole separate video on it. Wonderful take, thank you!
I've enrolled to a SWE program at a university next month. I used to think that programming was something that I couldn’t do. My lack of confidence in Math, combined with the fear of not being smart enough, made me believe that coding was not my thing. Consequently, I never tried to learn programming seriously. But now, in hindsight, I realize that I may have been too hasty to dismiss it as a possibility. While it may be true that it is challenging, programming is like any other worthwhile skill - it takes time and effort to master. Your video motivates me. In 2023, I am finally ready to embrace this challenge and become proficient in this valuable skill. I'm going to take your advice to heart.
Ricardo! I cannot tell you the amount of times I've quit learning to code. I actually failed my first college programming course :) It takes time and its not really a skill beyond anyone. If you enjoy programming, it's a skill you will learn to love. Thank you for your wonderful comment.
This is great to hear. I’m taking my first CS course this August and my reasoning is quite similar to yours. I never learned anything past algebra in high school. Nonetheless I have the perspective now to realize that anything can be practiced and learned if there’s heart and dedication behind it. I’m excited for what’s next.
Very nice video :)
Another principal that applies to my personal project work is:
Don't let a small issue ruin your day. If you're stuck, take a step back, sleep on it, or simply move on and deal with it later. The problem doesn't define you. Momentum is far more motivating and will build your confidence.
Dude this should be in the video
The thing that helped me the most with programming was Dark Souls, no joke.
Great video, I agree with it and I wish there was more of these. The hard part of programming isn't even programming related, it's a broader problem of humand mind, that's simply exposed the most via software development.
My tip is: "Don't learn to program, learn to develop software." Same thing, but a very different mindset, that will make make this easier and make you more proud of yourself.
Underrated comment. The souls games are my favorite games of all time, including sekiro and elden ring. I never thought about how similar that experience is to programming. You go at a boss again and again and every time you learn a little bit more. You learn how to dodge or parry that next move, similar to how you learn how to implement that next algorithm in a program. For each, you learn to love the challenge and each little win along the way to the finished product (finishing the program or beating the boss).
Same. Hollow Knight and FromSoftware games made me better as a person. Somehow it also relates to Stoicism and the words “the obstacle is the way“. It’s fascinating that different areas of life has similar approaches of getting better.
" and if this video reaches, let's say...10 likes" broke my heart man, you deserve more. Well spoken and clear information, Thank you :)
Thank you so much, I still carry that philosophy. If my video gets 10 likes or brings value to at least 10 people - I won't stop. :)
@@bigboxSWE nice to read this after 2 months
49k later
@@bigboxSWE It got 1m views and 200k subscription now,so glad you made it!Keep grinding!
Thanks for changing my mindset. I am very bad at academics but I always love computer and wanted to study. But when I really went for it , all just crumble in front of me, i couldn't keep up with all those technical terms and failed in college . But deep down I know that I can do , I still love computer. The point you've mentioned in video is all true . The thing I was doing wrong that I wanted master all the things i was learning. But now I see that it is impossible to master everything.
What I think is most important for the developer to learn is to master the art of problem solving as it will be the one and only tool which I think will guarantee success in this field(or any field for that matter)...
yes what about this please explaine.
which one is importan? code 10.000 or master the problem solving?
as someone who is currently in a boot camp learning to code i found this video inspiring in a way. my issue i think is that i feel that i need to know every little detail and trying to cram it into my brain just to forget half of it the very next day because i did not actually retain all of the information rather just read over it with no practice. but after watching this i will have a better understanding of how to learn to code this was insanely helpful thank you.
Hi krim, first of all thank you for your comment, I really appreciate it
Am in a bootcamp @Krim
this video definitely spoke to me as i’m taking my first programming class as a noob and ive definitely struggled with my ego and the fear of being uncomfortable in class as normally classes are easy and i feel confident in my ability to absorb the information but in my programming class i feel like an idiot and am constantly uncomfortable and intimidated from the fact i don’t know the answers most of the time to the questions the professor asks us. i’ve skipped a lot of the classes due to this (also a lot of social anxiety) but i guess that’s where the real learning happens. pushing our boundaries
exactly same bro
it takes from avoiding one uncomfortable to whole situation
This is like the perfect key for self taught programer. I like how you brought up about being in a stuck concept situation. I knew right away once I was stuck and learing that specific part of syntax; I was wasting my time and delaying my goals. So I learn just by creating projects uses those concepts and understand them what they do. And I agree about being not a master in coding. Senior and Junior developer wont able to master and can't be perfect by memorizing everything. They will always part of syntax that you forget and its completley normal. But once you research it again; it'll help you remeber it quick than processing before casue you have learned it. This well put.
I'm 6 years in and still learning. Sure I get more comfy in knowing what I know but I never stress out about things anymore.
I have been faced countless times with projects thinking "I have no fucking clue where to even start" only to solve it and go beyond.
Always be curious, no questions are dumb, learn the fundamentals and just keep learning and you will become a senior.
I have always had a tendency to plan everything before ever getting to work. So when I approached coding, I spent weeks on end reading, setting up my code environments right etc, until I realized I was just procrastinating because I was scared of actually starting. If you have this tendency too, know that every line of code you'll write for the first few months is going to suck. So just get to it and write a lot. The time spent optimizing the contour is gonna be much better spent once the code underneath is worth such an optimization.
I used to think programming had to be 'serious BIZNESS' for a long time, it wasn't until I pursued it like any other hobby that I actually started to enjoy it
@@bigboxSWE Interesting point!
I needed to hear this! I am on my own journey on becoming an engineer and really feeling overwhelmed right now and pretty terrible at this craft, this has sorta cleared the air a bit, thanks man!
I hope you are doing well now. I was kind of down rn and I don't know if computer science is the best course for me.
Thank you I'm coming to the realization that I learn more by actually DOING than watching someone do it. There's stuff that tutorials won't teach you, you have to let yourself explore.
Thank you Matt! Software Development is very weird because it's laid out like a white collar profession, but has all the intricacies of a trade/craft!
I agree to this man, you will explore more things by yourself.
I'll just watch this video 120000 times and I'll have mastered changing my mindset.
This is something I had to learn myself. You'll see the UA-cam videos of people building these amazing websites, building these graphically beautiful To-Do applications, Building massive backend frameworks for their projects, etc etc etc. Don't follow what they do. Make your own stuff that you enjoy and put it to code. Imagine how many recruiters have seen the same To-Do application, backend framework, and amazing websites. Be the breath of fresh air when you put down code on your resume that you made and an application that you thought of. It may not be the most prettiest thing but who cares? They're not grading you for accuracy. They're grading you for thought and creativity.
Programming videos give you all the wrong impressions about programming. You have no idea how much time, code, and preparation the other person had. Coding is so hacky and rigid in the beginning, and new programmers are put off when they compare themselves to the tutorial (natural to do so).
Done is so much better than perfect. Love that mindset James!
Watched both of your videos, I really enjoyed them. I’m trying to set realistic goals and expectations for myself, I have time so I won’t try and get ahead of myself.
Thank you so much! I really appreciate it.
I think it's important to adopt a 'Growth' mindset, where you attempt to get better 1% everyday, rather than trying to cram a lot of progress in a short-time. The truth is, programming is like an instrument, for some people it clicks naturally (which is a gift from above). On the other hand, there is nothing that time and properly directed hard work cannot achieve.
I believe in you! Go out there and get it :)
Every bit of advice you presented is, remarkably, exactly what I ended up learning the hard way throughout my CS education. If only I could have seen this video many years ago, it would have saved me so much time and unnecessary stress. :)
I am starting a career shift as a Cloud Developer and realize this it. Build a life as a coder. Code a little every day. Thank you for sharing your knowledge.
Yeah, I wish to know that at the start of my learning journey, I mean i'm still learning, but its a hard journey and most of things you've said are coming to us slowly. Very important rule, learn to love the struggle because basically thats your job (potentially), its about solving complex problems and solving problems aint easy. Sometimes it looks for me thats biggest part of ''learning programming'' is about character development. Mindset is crucial and accepting the fact that you will suck at it very often.
WOW! Deja vu! I'm new to programming, currently learning JavaScript and I swear this is the advice my mentor gave me this evening!
This is exactly what I needed man. I damn near have quit coding these days. Thanks for the vid fr brother. We as a community surely do appreciate it❤
Instructions received.
*_I ended up bending the rules and experimented everything._*
I think this mindset applies to EVERY career path. You won't be perfect at it, but you get to know the parts and utilize them.
Damn You are the guy I aspire to be with the mindset you have right now. I Started reading books about stoicism and articles about discipline and you just sum it up so nicely in my favourite (Programming) very thankful.
Man, this is helpful because I practice every day not to be a master but to bring my thoughts to life.
I think that an important thing to mention is that the way to avoid these things and get to the right mindset is to have a project in mind before you start to learn a new subject (in programming). When I started to learn programming, I did so because I needed to make an app for an electronics project and because of that I tried to rush the learning process through tutorials as fast as possible. When you learn a subject for the sake of learning it's really hard to know when to start learning and when to actually practicing. Every time before I want to learn a new thing in this field, I find a project that I want to make with that knowledge.
Thank you ever so much! This is an eerily timely advice for me which gave me comfort and encouragement.
I am transitioning between professions and one of the challenges is to shift my mindset to a saner and more constructive one 😄 I used to work in a field where a small mistake could have dire consequences, so I hope that I can have a new type of job where the unavoidable reality of me making mistakes will be seen as normal and where I will be supported to learn more and more and more without fear of reprisals.
Thanks again 😊
Nice one.
Teachers always want you to knows the right answer. But in programming there's hardly ever the only one correct answer.
So you can't learn it and apply it later.
You always need to find a solution good enough for the given problem.
And that's best found by writing (coding) down your idea, test it (preferably in software), fail, and write it again. And then again. Until it does the job.
Next level is to do it well. (Extensible, maintainable, changeable, testable)
The number of iterations will be rather constant. But the problems will be more complex over time and much more fun.
And, by the way, tell those to go away who tell you to do stuff this way or that because "we've always done it this way". This is where learning ends. And software engineering is constant learning.
Go, practice a kata 😂
20+ years of coding (professionally) and still learning. And still loving it.
Thank you so much Stephan!
Your take is absolutely perfect.
I think a lot of beginner programmers compare writing code to writing in natural language, where you can get it right in a few attempts. This is far from the reality. You have to recognise that your code is very individual to you and how you view problems, which in essence shows a lack of experience or even natural proclivity towards programming.
And in re: "we've always done it this way" that's where cargo-cult programming starts and passion for Software Engineering ends as well!
Thank you so much for your lovely comment and I admire your tenacity for learning (and respect for 2 decades in the industry!)
That 10000 lines instead of hours perspective is brilliant. It's something tangible you can aim to achieve, rather than some vague notion of time that you could waste with too much theory
For me personally, at this point of time, this is really helpful. Practical advice. Keep up.
Thank you so much, I really appreciate it. I will be making more videos around 'meta-skills' and practice surrounding Software Engineering.
Honestly, i had all the prohlems you said in that video, thank you a lot, its exactly what i wanted, quick video, fix my issues. Thank you a really lot.
I thought i couldn't be a programmer because sometimes i think im not a good programmer, im not good enough to be contracted or something, so, thank you again, now i have more inspiration and can see a future on me.
i wish more programming influencers do this more, about philosophy of programming. And not just "How to get front-end developer job FAST"
There's enough "get a job FAST" videos I'm tempted to make a video called get a job slow LMAO
Don’t know if anyone posted it already, but all of the things you described (and some more) are in a free O’Reilly book called Apprenticeship Patterns.
Very easy read as the patterns are all relatively small and have context so tou more easily get triggered to think about them when the situation at hand calls for them.
The patterns you described are called “into the deep end”, “breakable toys” and “sweep the floor” to name a few.
do you know where can I read it?
the distinction between programming and law/history/finance was on point.
Thank you so much, this video is amazing.
You've just described me. I've been making those mistakes for almost 20 years, and only now I figured out how wrong I was. That costed me A LOT OF TROUBLE. I should be a super-senior already, but I'm still at a junior level.
To anyone out there aspiring to be a pro dev.. most devs (inc myself) do not watch this stuff. We dont subscribe to any of these devvy YT channels. Just get your head down, stick your tunes on, and code. Please resist getting all caught up in the 'oh look I'm a dev now' hype train, and collecting new stickers for your Mac. Just work, learn, enjoy being productive.
Thanks, man. Very inspirational vid. Boy, this world belongs to those who chase ideals, but gave up on perfectionism.
It really gives me hope after stumbling onto your video. For me, I see all my friends around me in university picking up concepts and programming really quickly. Yet for me, It can take me almost an entire day to work on chunks of code and at the end, I may not understand it at all. I always thought that I will simply never be a master at this and contemplated whether this field was for me at all. But watching the video and reading through the comments really help shed light on that: I may never be a full master at programming, but I sure as hell have the grits to look through code and learn as a student.
Hard work will make you a talented developer before you even notice :)
Yes! as a software developer I was really anxious to admit that I didnt knew how in the hell should a code some simple things. Now after 3 years I feel comfortable saying I dont know or Im not sure but I will solve it, and everyone that Ive worked with doesnt seem to care if I know it from the beggining or not.
Such a good video, especially for people like me who are starting out software engineering. Please keep making more!
Both the videos, very good, and it's just refreshing from the extremely overcomplicated software lingo I frankly do not understand. Keep on going!
Thank you so much! Yes it's something I experienced as well. Software Engineering is unintentionally gate kept by a lot of subtle things (such as lingo). I will try my best to continue to be clear. Thank you! :)
Ура! Снова новая связка, и как всегда рабочая, спасибо, что стараетесь для нас!
Bro, hear me out. Your videos are so close to NoBoilerplate or Fireship level. It is insane how good you are.
Take my advice with a grain of salt. But I think you would benefit from defining pacing for sections when you write. And trying to have same structure for most points you make and make them more impactful. And you would be better than any programming channel in no time because of your great writing and aesthetic.
Also music too loud, but it is easier to fix)
Thank you so much, I appreciate your comment so much. These were my first ever tries at producing content and I will 100% try to incorporate pacing into my videos. I am so happy you found my videos that good, but I am very far off, I also just subbed to NoBoilerPlate thanks to you! :)
@@bigboxSWE Holy shit fr? I thought you were joking when you were asking for 10 likes lmao
@@tadghhenry I was not :) and that's still my expectation, as long as 10 people have derived enough value to hit the like button, I'll keep going
@@bigboxSWE great start then, I hope for even more better impact and subscribers/watching people in the future.
But I will add that the video ended very abruptly, as if someone just cut it before outro
@@bigboxSWE Awesome. Always best to stay humble
A Big Thank You for changing my perception and bringing up this problem and even you had made my mind very clear about my self-doubt, Thanks Again.
I just got your channel recommended and man the information quality and the audio quality forced me to sub. Good job and best luck with your UA-cam journey.
Thank you so much! I actually use Adobe Audio AI Enhance so I don't do any of the mixing myself, please do check it out if you're interested in recording yourself, it's an awesome tool.
Благодарю автора канала за простую форму об.яснения материала, которую поймёт даже школьник. Продолжайте пожалуйста в том же духе!
Thanks for reminding me that I don't have to master everything that comes my way right away. I can make the high level notes and go into depth when I actually need to while using the stuff. Thanks a lot. I have been stuck for 3+ months now at the same position not growing at all.
That's normal. Learning is seldom linear. It's more like steps. You feel stuck and suddenly, boom, you get an insight, soar up like a rocket, think you own the world now, until you're stuck again. 😅
If you really can't wrap your head around some detail for a month or so, step back for a moment and look at the problem from a different angle. Or try a different problem first. That might widen the view.
Hi Piyush,
You are absolutely correct. Many people think of learning in Software Engineering like a ladder, where you cross each step sequentially and that's rarely true.
Think of your learning as a graph, where you have individual nodes of knowledge that you have good experience in and others where you have a surface level understanding.
Eventually, when you realise you'll need to implement something, you'll go learn it, and that learning will be so much stronger.
Growth in Software Development is hard to measure, but if you've been at it for 3 months you already have the greatest asset of them all - persistence :)
@@riesigerriese666 Yeah that's a skill. To be able to look at something with a fresh perspective
I rewatch your videos every time I feel like I lose the plot. I appreciate your perspective and it helps when things get hard.
The point about getting comfortable with being uncomfortable is relatable to me since I started doing reverse engineering recently. Especially learning assembly (MIPS in my case). I'm primarily focusing on the PSP since I still actively use my PSP to this day and enjoy making simple programs with the pspsdk. I really need to get comfortable knowing that I'll have to learn most of this stuff on my own. Thanks for making this video.
This video is a game changer for junior developer me, thank you sir
I will be the one pessimistic voice here and say the thing these inspirational youtube folks never will: Some people just cannot do this. No matter how hard you try or how many hours you put in, for some of us, we just cannot do it.
Everything is a balance of work and talent, but we're all so different. For some of us, the talent is just not there at all and this field will be a hassle for the rest of your life. As someone who has a masters in computer science, with high grades, gotten a good job and done it very well over many years, I can still say this is just not for me. For all the effort I put into this, all my sunken hours just to perform at just a normal level. I do not wish to compensate for a lack of talent for the rest of my life and for some of you, it might be the same case. Really reflect when chosing a field to work in. Don't listen to these videos whole heartedly. It feels good in the moment, but you'll work with this for 50 years or more. If you lack the talent, you'll have to compensate with time and time is so scarce as the years go by. Find the field you're naturally good at and work on that, don't buy into the hype of CS. Sometimes it's OK to give up and change.
I completely, wholeheartedly agree with your comment. I don't want to be an 'inspirational UA-cam' folk. I will be making a separate video as to why Software Dev isn't for everyone, and it is only for you when you realise that it is the highest paying best paid scenario for YOUR skillset, and sometimes writing code isn't! You could be a lot better at a whole other set of things (selling, analytics, management, heck even cooking!)
Sheee as a motion designer this is exactly what I needed. Same mindset is needed.
You can quickly get into a tutorial/course rut and stay there.
Almost like that scripture that says:
Always learning, yet never arriving to the knowledge of the truth - 2 Tim 3:7
Sit down and, DO THE THING!
Really love the 10k lines of code!! The more you build, the more you really understand how it works and why. Great video!!
Thank you so much Brian! Application is the key to learning. Btw, I love your CoronaTracker project, hope to make a commit to it sometime soon :)
I'm grateful for other peoples experience/and or mistakes. This way I can learn from them to better my skills at coding/programming.
Key points in this video
1: Focus on practise NOT Theory!
2:Ego is the enemy
3:Get comfortable with being uncomfortable.
4:You can never have enough of programming!
And also,
Change your "i cant do it" to "i can learn how to do it".
Best wishes to all my tech geeks!
- From a fellow engineering student!
So nothing about hacking peoples brains?
Words cannot even describe how grateful I am for this video. I needed to hear this. I find myself being terrified of being a programmer: fear of not being good enough, or smart enough to approach a problem I haven't encountered already and I thought I could resolve this by just... Knowing everything already? ahah and to make this worse, I wanted to know everything theoretically.
Your words has opened my eyes, thanks man!
As a Videoographer and Photographer, I can say that this is definitely good advice in general. Especially the section with getting comfortable at 3:12.
One does not simply open a program like After Effects and practically master it after using it, even after using it for many times.
With that program, since there's an infinite amount of ways you can convey something and its all dependent on your own creativity and imagination, there will always be something new to learn. So instead of taking the approach of "I want to Learn everything and master After Effects, you break it down into portions that inspire ideas, and you commit the process of making it.
Great video
And if you look at my more recent content, it's exactly the same approach I am taking to editing!
Awesome comment. Thank you so much for your time :)
Me finding this video after rage quitting my Cpp session is such a bless, thank you.
Thank you for this! I’m not a beginner, but I’m going through some career transitioning and it’s true that practice makes you better at programming. You will get more comfortable, confident and faster.
Im a fe software engineer, senior web developer for 7+ years, help coders and non-coders solve problems for fun, and can say I totally agree with this mindset discussed in the video. Great output for those at any stage in this field!
Great video, really gave me a perspective on how i should approach my craft as a computer engineering student. Thank you!
Thank you very much! You've chosen an amazing industry and path. I wish you all the best for your degree!
You are great! Keep the videos flowing. It helps us to keep the work on learning, programming and creating.
I just watched both your videos and WOW these are so helpful! I hope you make that escaping tutorial hell video!
Hi Justin, thank you so much for your lovely comment. The Tutorial hell video is currently underway :) Please let me know if there are other beginner topics for me to make and I will be sure to keep them in mind.
Whenever I feel overwhelmend by a task, I remind myself that it's the same as when I was playing Riven all those years ago.
Nice videos! completely agree. There's actually a term for getting comfortable being uncomfortable: Deliberate Practice
Thank you so much! Deliberate Practice is an amazing concept I stumbled upon earlier in my career from this lovely talk from Kathy Sierra (the original co-author of the Head First series) ua-cam.com/video/FKTxC9pl-WM/v-deo.html
I might do a separate video on it, but more on how to apply it, because that's where I faced my issue! :)
currently doing the cs50 course and on the first problem set. making a game in scratch. and I at first felt like it was a waste of time like why would i want to learn this kids program. but then i realized that it's just a part of the journey to make the next part make more sense and so on. I had to tell myself it's okay to get stuck trying to make the game. just take it step by step don't dream about doing "the real thing". Don't be hasty
I really enjoyed both your videos and look forward for the next one! I'd love to see how you approach solving coding problems or how you plan your code for a project before writing it out. I'm going through a data & algorithms course so I can eventually solve easy-medium problems on leetcode but most of the time I'm just staring at a blank editor -_-
Thank you for your lovely comment! I posted another video on tutorial hell where I briefly touch on decomposition as a developer. I would highly recommend you check that out!
Incredible video. As a self-taught developer. I'm still trying to achieve my first opportunity in the field. But what said speaks so much of what is expected from beginners. Thanks for the amazing content.
Coudnt say it better had to start JS and it is much eaiser for me understading its syntax after 3 months than the day I started it. Great vid.
Thank you so much! Yes indeed, syntax only makes sense after time, which is a necessary ingredient for all programmers :)
Thanks for this overall view. I especially liked last slide I made that my wallpaper.
Ah it seems you have quite a small catalog. Can’t wait for you to fill it up! Hope you continue with steady, helpful uploads.
With comments like yours I am keen to keep working on it. Thank you so much.
I am now 20, I started to code when I was 15, it's been a little over 4 years. Initially I would create random stuff on my own just for fun. Somewhere down the line I thought maybe all these basic stuff are below me and I should exclusively work on something big.That was my ego, and it was the worst mistake. I got burned out really quickly and wasted a lot of time. Fortunately, I learned it, the hard way, and started working on small scale projects rather than diving head first into something too complex and now I am working on some intermediate to advanced level projects. So, this was a really good advice and something I had to learn the hard way.
This is great! I’m a mid level engineer and I would say this is spot on. However (you kinda said this at the end), definitely become a master of the fundamentals/basics! From there you can basically learn and build anything if you know where to look and have that base.
Thank you so much! That's definitely something I learned the hard way because I jumped into frameworks with very little knowledge of the basics, so I had to go back and forth a few times. What I've noticed about the great interns/juniors I've interacted with is that they are just so well versed in the fundamentals of programming and computing, that whatever you throw their way they pick up quite quickly because its all an abstraction of some lower level fundamental.
Your not an engineer. Unlike the engineering field, the software field has no standardized test that proves we meet a standard of skill. That's why so many people can't solve fizzbuzz.
@@skyhappy sounds like ur salty about your tc
@@skyhappy This only means that there is no way to prove that he is an engineer, not that he isn't. Didn't see =/= Didn't happen.
big box you're legit bro, like for real this is really helpful especially to someone who'se just starting
One of the best, if not the best, beginners programming videos I've ever seen. As a three year dev I've learned these points far too late
I disagree with the idea that you should focus on the basics first. I like getting into big projects and learning the basics as I build. Learning like this means that everything I learn has an application I can easily see, and everything I learn helps me work towards a goal. It's a big motivation. Whenever I learn the basics for the sake of learning the basics, I get bored and move on to something else.
I think it's just a difference in the definition of "Basics". For some, basics might be "Hello world!" and so on.
For me - Basics are fundamental concepts that are universaly important. Abstraction, Modules, Memory, Data Flow, Global/Local State. These are great if you learn them early, but you need to go wide to really understand them, seperate the concepts from their implementations. That's not something you can do do by just "Getting good at one language" like many may recommend. It might be the fastest way to get a first job, but not the best way for you in the long-term.
I didn't understand Abstraction until I wrote a lot of lines of code into a single file.
I didn't understand the difference between OOP and Modular Programming until I dig into JavaScript with mostly only C# experience.
I didn't understand Memory until I saw what the Garbage Collector actually does and how C code looks like compared to C#.
I didn't understand Data Flow until I stepped through my code with a Debugger and looked at the Call Stack, Local Scope etc.
I didn't understand the issue with Global State until I wanted to run a few instances of my program at once.
Bro litterally implemented the things he learned from his self improvement books to the video.🕊
As a self-taught web developer who doesn't own shit and studies in medical field I approve of this.
Currently I want to learn django. Back in the day, I used html, css, bootstrap, php and xampp for phpmyadmin in my capstone project and today all of a sudden I want to use django now, and I was pretty much slapped at the face on how much I don't understand how django works, so yet I tried to learn python from start, following a 12hr long tutorial. I was doing my best to keep on watching, following and applying what I have learn on that python tutorial, I thought maybe this would be sufficient enough for me to now understand django. So I came back for the django tutorial and yet I it still too complicated for me to understand. I currently feel so bad, I think I would never ever get on how to use Django. Can you give me some advice on this? just in web development in general
Thank you for this. I really needed to hear that. Still starting out as a jr. developer after a major career shift. Heck, I didn't even major in CS or IT. Again, thank you.
1:18 you only wanted 10 likes, and now there are over 16k likes 🥺 keep going, you are doing great!
I still only want 10 likes. Thank you so much for your comment.
I'm going from teaching to software development. I just started my Master's program for software development a couple of weeks ago. This was very motivational and comforting. Thank you.
10 likes indeed
Your story on Ego being the enemy hit me to the point. I am still fighting to swallow it. i guess I needed to hear this. Thank you! I'm giving this a like and subscribing.