Totally agree, I've been a developer since around 1997, I'm in my 40's now and I still love this stuff. If anybody wants to know how or why, Theo nailed it here. You need to start out with small successes. I got a copy of my friends VGA sprite library and learned how to bitblt data into memory that just so happened to represent pixels on the screen. The joy of feeling _MY_ pixels on _MY_ screen was such a silly small goal, but it gave me a better idea. What if I could use the keyboard to move it around, so then you learn about keyboard interrupts, which is a bit hard for my level at the time. But I did it and learned to move it around with the cursors. You gotta pick a small goal, something you know you could make yourself happy with and realise these lofty goals in the far distance could happen one day. But not today. Today is about what is a 256 colour palette and how to allocate enough memory for double buffering because your sprite looks ugly when you get screen tearing because your bit blitter code is too slow. I can't remember the number of times I went into the desert (metaphorically). Unable to know what to learn next, being lost in a mass of mathematics and learning such a small amount, but being persistent. You gotta set a goal, just a little something to accomplish so you can feel good, then you'll carry on to the next goal. Being a developer is sometimes not just about coding cool things. But being able to handle "I don't know what to do and I have no idea whether this is gonna work or not" and being able to psychologically carry that to the next way point. If you give up easily, developing isn't for you. You need to realise at the beginning you'll spend weeks learning shit nobody cares about, or even stuff which isn't useful. Sometimes useless stuff is the platform to understand WHY its useless and WHY the other thing is useful. It's not just enough to know what to do. Most of the time it's more important to know what NOT to do. I once spent two weeks writing an opengl rendering codebase which I called "deferred rendering" where I would batch operations together so I could improve throughput on rendering operations. I completely forgot that in opengl matrix operations are a stack and you can't just stack up hundreds of matrix operations, then render everything. Because guess what dumbass, when you do that, everything you render uses the last matrix state that you set. So I spent two weeks to write a codebase that rendered everything into a tiny square in the corner of the screen. That was stupid. But I learned a lot from doing that. Make your own projects, solve your own puzzles, find a thing which costs you time and make a tool to save that time. Make a website that you personally would use. Everything in this video was a big YES!
This has to be one of the most valueable talks from Theo so far!. It just feels like a brother advice in most parts, and stays true whether you are just starting or not. Gonna save this one as a reminder for myself.
Great vid Theo! Another thing that could be a good subject to talk about is breaking down goals/tasks. I find that really junior devs struggle with that, even a goal as specific as "build a twitch clone" is a mammoth task and people usually dont know where to start.
This video resonates with Theo, thanks for the quality rant! I remember 3.5 years ago, I have been freezing the fuck out at -20°C in Sweden, doing construction, when I came to an idea to learn how to code. Luckily for me, after 6 months of grinding, I managed to get the job, and as you say, approaching the end of the rant 29:55, I felt miserable. Just empty. It took me 3 years of just going from job to job to figure out that I am actually really passionate about engineering (even though I have no CS degree) and creating solutions, yet, I was always kind of pushing that down and making excuses, up until the beginning of this month, where I just started with the approach as Theo drew. Just make things up on the go and decide if that is a good path or not.
This falls along "SMART" goals: specific, measurable, achievable, relevant and time-bound. What's great here is cutting through the BS we tell ourselves. Just getting started and working on something is what we need to do than lofty thinking and planning about things.
Bruh, this has to be one of the most valuable videos I've ever watched, you just changed my mind about learning React! Yesterday I set the goal of learning React, but it was vague, and through TH-cam recommendation I found your video, man, real life changing, no cap
I wish I had found this advice earlier in my career, it's been like a spiritual awakening for me. I've been developing stuff for 4 years and I'm currently in a full time job doing react native, but I've never managed to build anything to show outside of a really basic site, I get started on so much stuff and never complete it, and I think that's due to goals that are far too lofty that they feel so far away.
Thanks for sharing this Theo! I think that the point that really hit me was the differentiation you made between law/medicine and software engineering, and how engineering is closer to music/skateboarding. Nice analogies there!
Great vid Theo. I’ve always hated when people will say “I know it” or “I don’t know it” when it comes to learning a particular technology as if they are finished with JavaScript after building their first app. It’s not black and white like that. It’s more of a spectrum. Setting quantifiable goals is something we can all benefit from :)
To be fair, I know C# and JavaScript because i can build stuff and solve problems with them. That doesn't imply that my knowledge of those technologies is all encompassing.
this is the first video that i watched on your channel and it really hooked me for 30 minutes straight. i didn't even realized that i had a problem with setting goals and now thanks to you i'm setting goals much carefully. subbed :)
Hey Theo, I wanted to let you know that I really enjoyed this talk and will apply it to me personally and pass it on to my team to review as well. Keep up the great work dude.
@@NikolaR0 PM: "Are you sure we're on the right way to Example Street?" Frontend Dev: "Look, yesterday the car went from 0-100 in 4 seconds, that's definitely good enough." PM: "That doesn't answer the question. Where are we going?" Frontend Dev: "I can try to go faster if you want"
20:40 one of my earliest experiences with this was when I was building a discord bot and spent a good few days tweaking with ffmpeg buffers to get youtube streams to play in voice without issue. It can be a little frustrating as there will be times that you put hours in to a solution and it's worse than what you started with, but that is part of the process. At least when I started out I was too much of a perfectionist that I didn't want to release anything unless it was perfect which really held me back from making progress. 15:40 Thanks for saying this, I don't like working on projects just for the sake of money. I want to build things that are useful or fun.
Brother, you can't believe how many times I resonated with the everything that you are saying on so many different levels. I 💯 % agree with everything you are saying. I have always been a person who is the curios one and the tinkerer and still after doing coding/development "professionally" for almost 10 years, when I look back, I had created way more tools in my college yaers, than I did after I got a job. One of the thing that brings me down is procrastination. I have had so many ideas which needs to be worked upon. No business, no marketing just build the fu*king thing and enjoy the ride. Another thing that can help people who start things at eventually loose interest is to get a buddy who can do it with you together. I myself have failed getting anybody interested into anything tough. Enough of my rant, absolutely loved your video. Subbed to watch a guy who I can relate to (not saying I have the same skill sets like you).
Definitely needed to hear this! The last few months have been pretty rough but learning to code and trying to build things has been my happy place. Appreciate your passion and insight, just set my first goal and I’m feeling inspired!!
i like the non-sugarcoated truths presented here! reading documentation on a daily basis naturally leads me to being idly receptive to opportunities in open source. p.s. i appreciate that you mentioned genuine passion over money and having specific goals. due to my huge interest in cybersecurity, i'm also taking it upon myself to solidify knowledge in web application security as an aspiring front-end developer, too.
Great discussion point on "I want to contribute to OSS". I never had that as a goal but when the OSS software I used didn't have a feature I wanted, I not only created a PR for the feature but did it in a language I didn't even know! I got a little help once it came to the review but it's one of my most treasured moments in development for my confidence as a programmer.
29:40 hits right at home. I spent an entire semester of school grinding LeetCode, trying to get an internship at a big tech. The excitement from my job offer is just as strong as the agony of feeling lost afterwards.
This video was very helpful and eye opening, I had 3/4 goal in my todo list. I didn't like tests. This has given me framework about thinking about how to create / achieve actual goal, thanks theo.
Excellent advice, thanks Theo! Am circling my goals out now. A favorite point was that you don’t learn a stack, you build something with it and then ask questions.
Pleasant surprise to find this video. I just started setting my sights on goal setting as a game designer and writer and I feel like this is exactly the type of thinking I need to adapt. I was basically doing these things, but I was not valuing the small steps and saw them as a waste of time. I guess it is all about relaxing and thinking of professional capability as a much less concrete state that does not have to be reached to get to clearing other goals like finished projects or getting hired.
interesting perspective! I do think there's a place for bigger, more 'obscure' goals, as long as the specific goals exist beneath those. SMART goal strategy is important, but sometimes you need the bigger and more vague goals to figure out how to go about the rest of it. Great video and lots of great advice 💫
Thank you, this video made me understand why one of my goals to build a certain app was an far asperation and not a direct goal, and that I should focus on another idea I had which requires less management and product planning and more programming! to reach the full(ish) product, your content is amazing
I did the "Get the FAANG job at all costs" but with a DBA role. I just really wanted to be a DBA no matter what. I grinded it out until I got it. Once I got there I realised I didn't care about it at all and had no idea what to do with myself. I could hang and get the work done no problem, but I didn't care at all.
I very much approve of this message. I'm not some old pro or anything, still starting out, but the way I started out wasn't "I want to be a frontend dev", and it worked phenomenally. I had a DnD group, and we were running a campaign with kingdom building and stuff like that. Pretty tedious stuff even with proper spreadsheets, so my goal was "Make that thing easier". Never actually finished the app, it was held with duct tape and prayers, (I jumped straight in, unfortunately from a OOP background, without reading about stuff, so I built it on class components, ew) but it did get us through the campaign, and I learned a lot about a lot of things on the way. What theo says about "calculator" is also a fantastic advice. It's a useful tool, and as long as it's not a crazy calculator like mine it'll be a fantastic starting point for you. And you get extra motivation every time you have to do something manually before it's done. "This could've been two clicks but I have to spend 5 minutes doing it by hand now, I really should spend 50 hours automating it first" is my motto. If that resonates with you, find something in a game you're playing that's tedious, or perhaps something more irl like finance/spending tracking that you're doing more or less manually now, and make an app for it.
This video is so good, I feel like I've spent so much time wandering aimlessly with this entire adventure of learning how to code in hopes of switching careers to becoming a software engineer. I need to make my goals clear/concise, build more projects and learning as I build, and most importantly learn how to genuinely enjoy what I am doing. Wish me luck with trying to turn things around for the better and making better strides towards my goal.
Hy Theo! Thanks for this video, it was really helpful for me. I was at 3rd year at medical school when switched to web development, and because of that I have a similar mindset which you described in the end of the video. My goal was to land a job by learning programming as it was like an anatomy book which I just have to study, after that I get a job and I'm done for good. I was able to land an okay job within a year, but since then I feel less and less motivated and aimless, I've no idea where to go forward. I even considered to go back to medschool. But I think this video can help me a lot to find the root cause of the problem, so thanks for it again, it was very instructive. Cheers!
Man, you have so many quotable moments, it really drives the point home. These advices can also be applied to anything else that you learn in life. Thank you for the great content.
Great vid. I'm new to your channel so I dunno if you have some background in psychology or coaching but everything you delivered here shows your topnotch understanding of goal setting and much more. Was a pleasure to listen to you, and it was very inspiring experience. Happy to discover your channel, thx a lot for what your doing!
Money is literally everything. It provides you with necessary earthly essentials. Which you need FIRST. don't ever listen to this guy unless you have a $800k in your bank account because he had that like around $1M when he left Twitch. He now earns $300k+ with youtube, twitch stream, personal branding and T3 stack etc. Get yourself a $90k+ job first. That should be your topmost priority. No big tech bezos musk gates gives a fuck when economy is down or you are laid off. Save as much money and earn as much as possible. Your topmost purpose in life is not to write some shitty 1000 lines of code everyday on a dark screen. Its about being happy and blissful with your life enjoying it to the normal state atleast like eating, shopping, watching videos with family and friends
I saw this one year after... And man, all of your words hit me right in my heart. Definitely I'll define better goals, because as you said... I'm starting to feel a little bit confused and losed.
Something of this sort I was taught in a Coaching camp. Keep breaking down the closest goal until it takes less than 5 minutes to do it. At which point just go ahead and do it. And another way to look at this "aspiration"/"goal" is to see it as "problem"/"solution". The aspiration "I want to be an engineer" has the underlying problem of "I do not feel like an engineer". Now, focusing on the problem gets nowhere, we need to focus on the solution(s). Just asking "what are the solutions to me not feeling like an engineer?" gets the mind going the right pathway. The easiest answer is "hack something quick together", which turns out is the correct answer as long as we're not pushing our code into Production.
Fanatastic advice for engineers at every level. Engineering is quite simple: build something. Does it work? No. Make it work. Could it be better? Yes. Make it better.
Waiting for your talk on styling :) I only know of mixing inline styling and using styled-components when you do want to the css to "clutter" the html. It seems flexible in that you can easily accept style props and merge it with default styles - you're just adding or overwriting an object's key/value by doing { ...defaultStyles, ...styleProp } after all. Tailwind at a surface glance looks like you would need to manipulate a long string full of space separated class names and that doesn't sound fun.
I’ve found recently that combining multiple aspirations can help find smaller goals too. I recently have been “wanting to learn React” which for me REALLY mean “wanting to build something in React”. I’ve also been wanting to build a full stack web application, and then I discovered the T3 stack - something that would tackle both of those aspirations. Then I found a need in my life where an app would fit perfectly - and now I’m building it.
Aristheotle is crushing it once again. Thanks to you I've learned a lot in my journey as a programmer. We need more philosophical insights in the programming topic. I keep coming back to this video if I feel like I'm losing track.
Absolutely fire video. You are the most legit content creator when it comes to the dev sphere. Thanks for always helping your community. This video has helped me a lot.
Hi Theo, you recommended me this video and I learned a lot from watching this video, took notes and got some interesting ways of thinking about how to approach my goals, thank you for the video you have given me something to reflect on.
I love your content, my contributions to open source projects is when I have used the source and it doesn't work so I look at the source and find there is a bug and fix the bug and then contribute the fix. I wouldnt find the bugs until I use the code. Code is a tool to achieve something and the way to know if you have ideas how to to improve something is to use it. I love that you love teaching and encouraging an engineeering mindset not just a specific method. I was a C++ guy, currenty a .Net web engineer going into a 6 month data science python maritime engineer role all at the same company and I have no fear because I know that in the end I can wrap my head around the new thing
there is no point learning a language or framework unless it is useful for what you want to do I got into programming not because I want to be a software engineer I got into it because I wanted to make robots do shit Now my favourite programming problems are stuff that will reduce the annoying things but its satisfying.
I recommend looking at roadmaps for certain stacks: ie frontend developer roadmap. It's better than nothing if you have 0 frame of reference but you know your end goal. As long as you can build projects that meet the roadmap's stepping stones, you will become extremely knowledgeable (probably more so than average devs)
To be honest, money is also a major contributing factor for me, at least. That is the reason I decided to try it out in the first place. I’ve since grown to love it, and if I hadn’t, I’d probably choose another career. But realistically, a lot of people might not have a passion for any job. And for those people, the advice given in the video is still hella worth it.
I’ve completely abandoned any big aspirations at this point, which is also not very desirable… I’ve just been finding projects to work on and loving what I’m doing, but ever driving myself into deeper debt…
Thanks for making this video. This really helped. Can you also make a video on how to focus on a single goal at a time. Alot of time i have find my self setting up a specific goal like going through a particular tutorial or building a specific project. But still haven't completed it.
100% agree. I thought "Man I am so annoyed updating bookmarks to last episode I watched, wish it just updated itself" - and boom cool idea for bookmark extension, so I got started working, written it in plain javascript, but then I realized "damn this is so hard to maintain", so I was thinking I needed something better/more scalable so I chose React, but guess what I can't just go and use "create-react-app" because it doesn't work for my situation, so I had to learn & setup webpack from scratch etc. Then parts of page were slow so I was like "ok how do I make it faster" - and then was learning about memoization, afterwards I didn't touch code in while, so was then scared because I forgot how it worked, etc. so I went and researched Jest, and Storybook etc. It all went kinda naturally, and technologies were just tools I needed to solve concrete problem, and guess what, I learned MUCH faster and more easier this way, because I wasn't just learning technology for the sake of it, but was learning it to solve concrete problem (and was applying it right away)
A better way of thinking about it than some people have shared. Better dev is more learning the tech as well as how to understand requirements and break down the project into manageable work (with a time frame) But you can get some of these as a short cut for a few years by working in a team and letting the lead or team do some of the parts. Then learn from them and grow.
You know, I really appreciate this video. I'm not completely passionate about software engineer, but I am about trading, and so as I learn how to code, I want to bring my passions that also let me benefit from trading, but also Learn to code- ultimately it'll help me in both ways
Amazing bro, first time of commenting to TH-cam video. You nailed it to the head guy, don't go with the mindset of making a huge after few months of printing "hello world". Move in with passion
Damn, I needed this. Really struggle with trying to learn everything about everything instead of just focusing on building one project all the way through.
I am so grateful for this video! You made me realize what was going wrong lately with my career. I was straying too much away from practical and concrete passionate exploration focusing instead on how to make money and just theoretical principles. I forgot what got me started in the beginning. Thank you!
I watched this because of the recent reaction about "TH-cam coders are lying to you". This is the piece that will help me get to what I want to achieve.
5:53 Never start with a tutorial. Start with reading the docs, and playing around with the code a little bit and FAIL WITH IT! Fail within the first few hours or the first few weeks. Who cares if your code is crap in the beginning?! Keep track of your learnings. Trash the project and start over. If you don't do it over and over and over again you'll never learn. Copy pastaing from tutorials is almost always a shortcut that will prevent you from learning fundamentals.
Took some notes: ## Aspirations and goals **Aspirations** are more **intrinsic**. They don't make good immediate **goals** you can act upon, because they are **not specific**. You don't have a clear way of determining if they are finished. **Goals** are more **extrinsic**. They have **specific requirements**, which you can work towards and **deliver** upon. **Higher-level** aspirations can also encompass **lower-level** ones, e.g. "I want to be an engineer" in a way *contains* "I want to learn React". ## Extract goals Take an **aspiration** you have and ask yourself more questions, until you arrive at a **deliverable goal**. Start with thinking of **projects to build** and work backwards from there. **Projects** are also deliverable goals. - When you're working on a project it will take you in different directions. - At this point, It's ok to ignore the **higher-level aspirations** in favor of allocating more time to a **lower-level deliverable goal**, if it helps you progress towards another **higher-level** aspiration. - When you've dived into a lower-level goal, it's ok to give up on it if you see it's taking you far away from the aspirations you're currently prioritizing. ## Seek out interests Keep the **aspiration** in the back of your mind, while trying out stuff connected to your aspiration. An example: **Aspiration** - I want to contribute to open source. - Start using open source projects which are **aligned with your interests**. - This also has the benefit of **motivating** you, because you're studying things you are geniunely **curious** about. - You are in a much better position to **contribute to the project** if you use it, because you are more familiar with how it works and you can more easily generate ideas about how to make it better. **Conclusion:** Build things, which you are interested in. It's not rocket science when you think about it :P. It sure is easy to get this wrong a lot of the time, though. Prioritize **specific goals** with a clear **end point**, over the more abstract **aspirations** we're usually trying to work towards.
Way to call me out on this one, I used to run cross country and your bit at the end there about skateboarding reminded me that I actually used to be good at making goals.... 😅
Hey, first of all I love for the video's and streams. I recently graduated for software development and had a really easy time getting my first job. Got a really chill contract and an awesome team to work with. Although the project/product we work in is mostly build in deprecated, old and/or outdated standards its still really interesting to work on. And the pay is nice, thats really good as well ofcourse.😉
This is a really great video man! Most online courses should follow this approach. Teach people to build shits from day 1. I love this video man! and it's one that I will always make reference to always!
Thanks for sharing, Theo. To hammer it home those intrinsic goals can't be achieved, I still don't feel like an adult and I'm 30. "Engineering", "learning", and "adulting" are not destinations. They are the way you walk to get somewhere. So just start walking. 😁
Hey Theo, thanks for these videos and your perspective, I find both awesome. As someone who didn't go to uni and recently landed an entry job I was wondering: are there topics in software engineering that you would consider an exception to the rule of "learning things as you need them for your projects"?
Okay I updated the deno docs and I achieved my goal. What next? Should I build another project or look at other issues in the deno repo? If it is another project then I would never learn things that I would never use that are part of Deno. If it is looking at other issues in the deno repo why not start with that in the first place? And there are a lot of things I wouldn't touch upon in my projects, like writing scalable code, using distributed databases. As a result, I would end up never finding an issue and not learning about distributed databases unless I actively get involved in an opensource distributed database project.
This is the difference between aims and goals. You should probably try to set both: an aim is a direction to head in, but without a concrete end point. A goal has to be measurable, and you should be able to tick it off once you’ve achieved it.
Really interesting video, definitely agree that they're unclear. It took me a long time to apply to be a developer because I was always unsure I was at a developer level.
The real message is :"If you are here wondering about your goals, it means you failed in achieving them". If you failed to achieve them. Set yourself more realistic short term goals. You can decide at 16 to become a software engineer. It's a perfectly acceptable goal. Not because it's easy to frame and determine limits to it, but because there is an army of people here to figure it out for you and all you have to do is work tirelessly without faltering. You get your diploma, and people will hire you in that field. However, if you are 24 and you dropped out of university and you want to become a software engineer, good luck because this is a goal impossible to frame correctly by yourself.
realised this is a geometric visualisation of going out of your comfort zone and mentally expanding through thin branches of inner knowledge:). i feel like this is how you get places one learns many things along the way and misses an enormous amount of other subjects, and that's okay. so many engineering skills are transferrable thanks again for your content
Totally agree, I've been a developer since around 1997, I'm in my 40's now and I still love this stuff. If anybody wants to know how or why, Theo nailed it here. You need to start out with small successes. I got a copy of my friends VGA sprite library and learned how to bitblt data into memory that just so happened to represent pixels on the screen. The joy of feeling _MY_ pixels on _MY_ screen was such a silly small goal, but it gave me a better idea. What if I could use the keyboard to move it around, so then you learn about keyboard interrupts, which is a bit hard for my level at the time. But I did it and learned to move it around with the cursors. You gotta pick a small goal, something you know you could make yourself happy with and realise these lofty goals in the far distance could happen one day. But not today. Today is about what is a 256 colour palette and how to allocate enough memory for double buffering because your sprite looks ugly when you get screen tearing because your bit blitter code is too slow.
I can't remember the number of times I went into the desert (metaphorically). Unable to know what to learn next, being lost in a mass of mathematics and learning such a small amount, but being persistent. You gotta set a goal, just a little something to accomplish so you can feel good, then you'll carry on to the next goal. Being a developer is sometimes not just about coding cool things. But being able to handle "I don't know what to do and I have no idea whether this is gonna work or not" and being able to psychologically carry that to the next way point. If you give up easily, developing isn't for you. You need to realise at the beginning you'll spend weeks learning shit nobody cares about, or even stuff which isn't useful. Sometimes useless stuff is the platform to understand WHY its useless and WHY the other thing is useful. It's not just enough to know what to do. Most of the time it's more important to know what NOT to do.
I once spent two weeks writing an opengl rendering codebase which I called "deferred rendering" where I would batch operations together so I could improve throughput on rendering operations. I completely forgot that in opengl matrix operations are a stack and you can't just stack up hundreds of matrix operations, then render everything. Because guess what dumbass, when you do that, everything you render uses the last matrix state that you set. So I spent two weeks to write a codebase that rendered everything into a tiny square in the corner of the screen. That was stupid. But I learned a lot from doing that.
Make your own projects, solve your own puzzles, find a thing which costs you time and make a tool to save that time. Make a website that you personally would use.
Everything in this video was a big YES!
bumping into your channel is genuinely a very good thing that happened in my life. i love your "cut the bullshit" vibe.
Agreed bro💪
I feel like every junior engineer should watch this after their 2nd-3rd project. Tons of lessons learned here
This has to be one of the most valueable talks from Theo so far!. It just feels like a brother advice in most parts, and stays true whether you are just starting or not. Gonna save this one as a reminder for myself.
Great vid Theo! Another thing that could be a good subject to talk about is breaking down goals/tasks. I find that really junior devs struggle with that, even a goal as specific as "build a twitch clone" is a mammoth task and people usually dont know where to start.
This video resonates with Theo, thanks for the quality rant! I remember 3.5 years ago, I have been freezing the fuck out at -20°C in Sweden, doing construction, when I came to an idea to learn how to code. Luckily for me, after 6 months of grinding, I managed to get the job, and as you say, approaching the end of the rant 29:55, I felt miserable. Just empty. It took me 3 years of just going from job to job to figure out that I am actually really passionate about engineering (even though I have no CS degree) and creating solutions, yet, I was always kind of pushing that down and making excuses, up until the beginning of this month, where I just started with the approach as Theo drew. Just make things up on the go and decide if that is a good path or not.
This falls along "SMART" goals: specific, measurable, achievable, relevant and time-bound. What's great here is cutting through the BS we tell ourselves. Just getting started and working on something is what we need to do than lofty thinking and planning about things.
Bruh, this has to be one of the most valuable videos I've ever watched, you just changed my mind about learning React! Yesterday I set the goal of learning React, but it was vague, and through TH-cam recommendation I found your video, man, real life changing, no cap
"Start with picking things to build and work backwards from there" great advice
I wish I had found this advice earlier in my career, it's been like a spiritual awakening for me. I've been developing stuff for 4 years and I'm currently in a full time job doing react native, but I've never managed to build anything to show outside of a really basic site, I get started on so much stuff and never complete it, and I think that's due to goals that are far too lofty that they feel so far away.
Thanks for sharing this Theo! I think that the point that really hit me was the differentiation you made between law/medicine and software engineering, and how engineering is closer to music/skateboarding. Nice analogies there!
Great vid Theo. I’ve always hated when people will say “I know it” or “I don’t know it” when it comes to learning a particular technology as if they are finished with JavaScript after building their first app. It’s not black and white like that. It’s more of a spectrum. Setting quantifiable goals is something we can all benefit from :)
To be fair, I know C# and JavaScript because i can build stuff and solve problems with them.
That doesn't imply that my knowledge of those technologies is all encompassing.
this is the first video that i watched on your channel and it really hooked me for 30 minutes straight. i didn't even realized that i had a problem with setting goals and now thanks to you i'm setting goals much carefully. subbed :)
Hey Theo, I wanted to let you know that I really enjoyed this talk and will apply it to me personally and pass it on to my team to review as well. Keep up the great work dude.
Theo: How do you know you achieved your goal if you can't measure it?
Also Theo: I don't like unit tests
Measure how far you've driven by how hot your engine coolant is. Nice.
@@NikolaR0 PM: "Are you sure we're on the right way to Example Street?"
Frontend Dev: "Look, yesterday the car went from 0-100 in 4 seconds, that's definitely good enough."
PM: "That doesn't answer the question. Where are we going?"
Frontend Dev: "I can try to go faster if you want"
20:40
one of my earliest experiences with this was when I was building a discord bot and spent a good few days tweaking with ffmpeg buffers to get youtube streams to play in voice without issue.
It can be a little frustrating as there will be times that you put hours in to a solution and it's worse than what you started with, but that is part of the process. At least when I started out I was too much of a perfectionist that I didn't want to release anything unless it was perfect which really held me back from making progress.
15:40
Thanks for saying this, I don't like working on projects just for the sake of money. I want to build things that are useful or fun.
This video reminded me of my passion to build stuff and gave me the direction I need to find that passion I had lost for a couple months!
Brother, you can't believe how many times I resonated with the everything that you are saying on so many different levels. I 💯 % agree with everything you are saying.
I have always been a person who is the curios one and the tinkerer and still after doing coding/development "professionally" for almost 10 years, when I look back, I had created way more tools in my college yaers, than I did after I got a job.
One of the thing that brings me down is procrastination. I have had so many ideas which needs to be worked upon. No business, no marketing just build the fu*king thing and enjoy the ride.
Another thing that can help people who start things at eventually loose interest is to get a buddy who can do it with you together. I myself have failed getting anybody interested into anything tough.
Enough of my rant,
absolutely loved your video.
Subbed to watch a guy who I can relate to (not saying I have the same skill sets like you).
Definitely needed to hear this! The last few months have been pretty rough but learning to code and trying to build things has been my happy place. Appreciate your passion and insight, just set my first goal and I’m feeling inspired!!
i like the non-sugarcoated truths presented here! reading documentation on a daily basis naturally leads me to being idly receptive to opportunities in open source.
p.s. i appreciate that you mentioned genuine passion over money and having specific goals. due to my huge interest in cybersecurity, i'm also taking it upon myself to solidify knowledge in web application security as an aspiring front-end developer, too.
Great discussion point on "I want to contribute to OSS". I never had that as a goal but when the OSS software I used didn't have a feature I wanted, I not only created a PR for the feature but did it in a language I didn't even know!
I got a little help once it came to the review but it's one of my most treasured moments in development for my confidence as a programmer.
29:40 hits right at home. I spent an entire semester of school grinding LeetCode, trying to get an internship at a big tech.
The excitement from my job offer is just as strong as the agony of feeling lost afterwards.
This video was very helpful and eye opening, I had 3/4 goal in my todo list. I didn't like tests. This has given me framework about thinking about how to create / achieve actual goal, thanks theo.
Excellent advice, thanks Theo! Am circling my goals out now. A favorite point was that you don’t learn a stack, you build something with it and then ask questions.
Pleasant surprise to find this video. I just started setting my sights on goal setting as a game designer and writer and I feel like this is exactly the type of thinking I need to adapt. I was basically doing these things, but I was not valuing the small steps and saw them as a waste of time. I guess it is all about relaxing and thinking of professional capability as a much less concrete state that does not have to be reached to get to clearing other goals like finished projects or getting hired.
interesting perspective!
I do think there's a place for bigger, more 'obscure' goals, as long as the specific goals exist beneath those.
SMART goal strategy is important, but sometimes you need the bigger and more vague goals to figure out how to go about the rest of it.
Great video and lots of great advice 💫
Thank you, this video made me understand why one of my goals to build a certain app was an far asperation and not a direct goal, and that I should focus on another idea I had which requires less management and product planning and more programming! to reach the full(ish) product, your content is amazing
I did the "Get the FAANG job at all costs" but with a DBA role.
I just really wanted to be a DBA no matter what. I grinded it out until I got it.
Once I got there I realised I didn't care about it at all and had no idea what to do with myself. I could hang and get the work done no problem, but I didn't care at all.
I very much approve of this message. I'm not some old pro or anything, still starting out, but the way I started out wasn't "I want to be a frontend dev", and it worked phenomenally. I had a DnD group, and we were running a campaign with kingdom building and stuff like that. Pretty tedious stuff even with proper spreadsheets, so my goal was "Make that thing easier". Never actually finished the app, it was held with duct tape and prayers, (I jumped straight in, unfortunately from a OOP background, without reading about stuff, so I built it on class components, ew) but it did get us through the campaign, and I learned a lot about a lot of things on the way.
What theo says about "calculator" is also a fantastic advice. It's a useful tool, and as long as it's not a crazy calculator like mine it'll be a fantastic starting point for you. And you get extra motivation every time you have to do something manually before it's done. "This could've been two clicks but I have to spend 5 minutes doing it by hand now, I really should spend 50 hours automating it first" is my motto. If that resonates with you, find something in a game you're playing that's tedious, or perhaps something more irl like finance/spending tracking that you're doing more or less manually now, and make an app for it.
This video is so good, I feel like I've spent so much time wandering aimlessly with this entire adventure of learning how to code in hopes of switching careers to becoming a software engineer. I need to make my goals clear/concise, build more projects and learning as I build, and most importantly learn how to genuinely enjoy what I am doing. Wish me luck with trying to turn things around for the better and making better strides towards my goal.
Hy Theo! Thanks for this video, it was really helpful for me. I was at 3rd year at medical school when switched to web development, and because of that I have a similar mindset which you described in the end of the video. My goal was to land a job by learning programming as it was like an anatomy book which I just have to study, after that I get a job and I'm done for good. I was able to land an okay job within a year, but since then I feel less and less motivated and aimless, I've no idea where to go forward. I even considered to go back to medschool. But I think this video can help me a lot to find the root cause of the problem, so thanks for it again, it was very instructive. Cheers!
Man, you have so many quotable moments, it really drives the point home.
These advices can also be applied to anything else that you learn in life.
Thank you for the great content.
Great advice for beginner Devs, definitely much better advice than all the Tutorial Hell instructors provide.
Great vid. I'm new to your channel so I dunno if you have some background in psychology or coaching but everything you delivered here shows your topnotch understanding of goal setting and much more. Was a pleasure to listen to you, and it was very inspiring experience. Happy to discover your channel, thx a lot for what your doing!
This was what i exactly wanted thanks theo i love and appreciate what you do!
Money is literally everything. It provides you with necessary earthly essentials. Which you need FIRST. don't ever listen to this guy unless you have a $800k in your bank account because he had that like around $1M when he left Twitch. He now earns $300k+ with youtube, twitch stream, personal branding and T3 stack etc. Get yourself a $90k+ job first. That should be your topmost priority. No big tech bezos musk gates gives a fuck when economy is down or you are laid off. Save as much money and earn as much as possible. Your topmost purpose in life is not to write some shitty 1000 lines of code everyday on a dark screen. Its about being happy and blissful with your life enjoying it to the normal state atleast like eating, shopping, watching videos with family and friends
I saw this one year after... And man, all of your words hit me right in my heart. Definitely I'll define better goals, because as you said... I'm starting to feel a little bit confused and losed.
I almost want to tear up, you verbalized what I couldn't- I could not clear say why I love this field, but now I am able to because of you. Thank you.
Something of this sort I was taught in a Coaching camp. Keep breaking down the closest goal until it takes less than 5 minutes to do it. At which point just go ahead and do it.
And another way to look at this "aspiration"/"goal" is to see it as "problem"/"solution". The aspiration "I want to be an engineer" has the underlying problem of "I do not feel like an engineer". Now, focusing on the problem gets nowhere, we need to focus on the solution(s). Just asking "what are the solutions to me not feeling like an engineer?" gets the mind going the right pathway. The easiest answer is "hack something quick together", which turns out is the correct answer as long as we're not pushing our code into Production.
Fanatastic advice for engineers at every level.
Engineering is quite simple: build something.
Does it work?
No.
Make it work.
Could it be better?
Yes.
Make it better.
Waiting for your talk on styling :) I only know of mixing inline styling and using styled-components when you do want to the css to "clutter" the html. It seems flexible in that you can easily accept style props and merge it with default styles - you're just adding or overwriting an object's key/value by doing { ...defaultStyles, ...styleProp } after all. Tailwind at a surface glance looks like you would need to manipulate a long string full of space separated class names and that doesn't sound fun.
tailwind :)
I’ve found recently that combining multiple aspirations can help find smaller goals too.
I recently have been “wanting to learn React” which for me REALLY mean “wanting to build something in React”. I’ve also been wanting to build a full stack web application, and then I discovered the T3 stack - something that would tackle both of those aspirations. Then I found a need in my life where an app would fit perfectly - and now I’m building it.
Aristheotle is crushing it once again. Thanks to you I've learned a lot in my journey as a programmer. We need more philosophical insights in the programming topic.
I keep coming back to this video if I feel like I'm losing track.
4am and I'm watching this. Engineers suck at sleeping too.
That makes two of us
It's not about being a developer, you have a screwed up circadian rhythm.
Absolutely fire video. You are the most legit content creator when it comes to the dev sphere. Thanks for always helping your community. This video has helped me a lot.
This channel is something new/fresh for the dev audience. Happy I came across.
Great talk, helped me fix up my personal and professional goals + got some inspiration for a new personal project.
much better than any tutorials out there. tks for the inspiring talk Theo.
I'm a little offended from title but I forgot that I'm not qualified to be an engineer LOL.
Had a nice time following chat's ramblings about OO, C++ and GC
15:30 is why I love theo.
thank you theo, once again providing valuable info i needed to hear but didnt know i needed to hear. really appreciate your content.
"follow your interests"
Hi Theo, you recommended me this video and I learned a lot from watching this video, took notes and got some interesting ways of thinking about how to approach my goals, thank you for the video you have given me something to reflect on.
I love your content, my contributions to open source projects is when I have used the source and it doesn't work so I look at the source and find there is a bug and fix the bug and then contribute the fix. I wouldnt find the bugs until I use the code. Code is a tool to achieve something and the way to know if you have ideas how to to improve something is to use it.
I love that you love teaching and encouraging an engineeering mindset not just a specific method. I was a C++ guy, currenty a .Net web engineer going into a 6 month data science python maritime engineer role all at the same company and I have no fear because I know that in the end I can wrap my head around the new thing
there is no point learning a language or framework unless it is useful for what you want to do
I got into programming not because I want to be a software engineer I got into it because I wanted to make robots do shit
Now my favourite programming problems are stuff that will reduce the annoying things but its satisfying.
Programming is a terrible job unless you like programming and even then youll get bored.
Engineering on the other hand is wonderful
The language and toolkit is irrelevent. what makes you good at all of them is trying to solve actual problems
Great video Theo. Setting good goals keeps people moving instead of getting stuck.
I recommend looking at roadmaps for certain stacks: ie frontend developer roadmap.
It's better than nothing if you have 0 frame of reference but you know your end goal. As long as you can build projects that meet the roadmap's stepping stones, you will become extremely knowledgeable (probably more so than average devs)
Thank you so much for this man I was really beating myself up for not reaching my "aspirations"
To be honest, money is also a major contributing factor for me, at least. That is the reason I decided to try it out in the first place. I’ve since grown to love it, and if I hadn’t, I’d probably choose another career. But realistically, a lot of people might not have a passion for any job. And for those people, the advice given in the video is still hella worth it.
I’ve completely abandoned any big aspirations at this point, which is also not very desirable… I’ve just been finding projects to work on and loving what I’m doing, but ever driving myself into deeper debt…
Thanks for making this video. This really helped. Can you also make a video on how to focus on a single goal at a time. Alot of time i have find my self setting up a specific goal like going through a particular tutorial or building a specific project. But still haven't completed it.
AV Sync issue :o
Thanks for pumping so much content! I'm trying to regain motivation and this really helps a lot. Keep up the awesome work!
This is so much true for me. I think main point is find you passion and not money. And this is video is some kind fresh air for me. Thx a lot Theo
100% agree.
I thought "Man I am so annoyed updating bookmarks to last episode I watched, wish it just updated itself" - and boom cool idea for bookmark extension, so I got started working, written it in plain javascript, but then I realized "damn this is so hard to maintain", so I was thinking I needed something better/more scalable so I chose React, but guess what I can't just go and use "create-react-app" because it doesn't work for my situation, so I had to learn & setup webpack from scratch etc.
Then parts of page were slow so I was like "ok how do I make it faster" - and then was learning about memoization, afterwards I didn't touch code in while, so was then scared because I forgot how it worked, etc. so I went and researched Jest, and Storybook etc.
It all went kinda naturally, and technologies were just tools I needed to solve concrete problem, and guess what, I learned MUCH faster and more easier this way, because I wasn't just learning technology for the sake of it, but was learning it to solve concrete problem (and was applying it right away)
As always, great stuff. Keep on staying awesome.
A better way of thinking about it than some people have shared.
Better dev is more learning the tech as well as how to understand requirements and break down the project into manageable work (with a time frame)
But you can get some of these as a short cut for a few years by working in a team and letting the lead or team do some of the parts. Then learn from them and grow.
That messy circle is like the Westworld Maze symbol, we all trying to find our own way to the endgame.
You know, I really appreciate this video. I'm not completely passionate about software engineer, but I am about trading, and so as I learn how to code, I want to bring my passions that also let me benefit from trading, but also Learn to code- ultimately it'll help me in both ways
Amazing bro, first time of commenting to TH-cam video. You nailed it to the head guy, don't go with the mindset of making a huge after few months of printing "hello world".
Move in with passion
Damn, I needed this. Really struggle with trying to learn everything about everything instead of just focusing on building one project all the way through.
Love your channel straight up, so good. I appreciate your advice and you
I love this video a lottttttttt! I‘ve got inspiration as well as motivation towards my career as a developer. Thanks Theo! 💚
I am so grateful for this video! You made me realize what was going wrong lately with my career. I was straying too much away from practical and concrete passionate exploration focusing instead on how to make money and just theoretical principles. I forgot what got me started in the beginning. Thank you!
Theo is one of the best!
I watched this because of the recent reaction about "TH-cam coders are lying to you". This is the piece that will help me get to what I want to achieve.
5:53 Never start with a tutorial. Start with reading the docs, and playing around with the code a little bit and FAIL WITH IT! Fail within the first few hours or the first few weeks. Who cares if your code is crap in the beginning?! Keep track of your learnings. Trash the project and start over. If you don't do it over and over and over again you'll never learn. Copy pastaing from tutorials is almost always a shortcut that will prevent you from learning fundamentals.
Took some notes:
## Aspirations and goals
**Aspirations** are more **intrinsic**. They don't make good immediate **goals** you can act upon, because they are **not specific**. You don't have a clear way of determining if they are finished.
**Goals** are more **extrinsic**. They have **specific requirements**, which you can work towards and **deliver** upon.
**Higher-level** aspirations can also encompass **lower-level** ones, e.g. "I want to be an engineer" in a way *contains* "I want to learn React".
## Extract goals
Take an **aspiration** you have and ask yourself more questions, until you arrive at a **deliverable goal**.
Start with thinking of **projects to build** and work backwards from there.
**Projects** are also deliverable goals.
- When you're working on a project it will take you in different directions.
- At this point, It's ok to ignore the **higher-level aspirations** in favor of allocating more time to a **lower-level deliverable goal**, if it helps you progress towards another **higher-level** aspiration.
- When you've dived into a lower-level goal, it's ok to give up on it if you see it's taking you far away from the aspirations you're currently prioritizing.
## Seek out interests
Keep the **aspiration** in the back of your mind, while trying out stuff connected to your aspiration.
An example:
**Aspiration** - I want to contribute to open source.
- Start using open source projects which are **aligned with your interests**.
- This also has the benefit of **motivating** you, because you're studying things you are geniunely **curious** about.
- You are in a much better position to **contribute to the project** if you use it, because you are more familiar with how it works and you can more easily generate ideas about how to make it better.
**Conclusion:**
Build things, which you are interested in. It's not rocket science when you think about it :P.
It sure is easy to get this wrong a lot of the time, though.
Prioritize **specific goals** with a clear **end point**, over the more abstract **aspirations** we're usually trying to work towards.
this video gives me hope
Way to call me out on this one, I used to run cross country and your bit at the end there about skateboarding reminded me that I actually used to be good at making goals.... 😅
Hey, first of all I love for the video's and streams. I recently graduated for software development and had a really easy time getting my first job. Got a really chill contract and an awesome team to work with. Although the project/product we work in is mostly build in deprecated, old and/or outdated standards its still really interesting to work on. And the pay is nice, thats really good as well ofcourse.😉
This is a really great video man! Most online courses should follow this approach. Teach people to build shits from day 1. I love this video man! and it's one that I will always make reference to always!
Thanks for sharing, Theo. To hammer it home those intrinsic goals can't be achieved, I still don't feel like an adult and I'm 30. "Engineering", "learning", and "adulting" are not destinations. They are the way you walk to get somewhere. So just start walking. 😁
Hey Theo, thanks for these videos and your perspective, I find both awesome.
As someone who didn't go to uni and recently landed an entry job I was wondering: are there topics in software engineering that you would consider an exception to the rule of "learning things as you need them for your projects"?
Okay I updated the deno docs and I achieved my goal. What next? Should I build another project or look at other issues in the deno repo?
If it is another project then I would never learn things that I would never use that are part of Deno.
If it is looking at other issues in the deno repo why not start with that in the first place?
And there are a lot of things I wouldn't touch upon in my projects, like writing scalable code, using distributed databases. As a result, I would end up never finding an issue and not learning about distributed databases unless I actively get involved in an opensource distributed database project.
Excellent video Theo, thank you for this.
great advice, I was kinda stuck now that I am applying for jobs after doing some projects.
The holy grail guide to craziness and productivity! LETS GOO
This is the difference between aims and goals. You should probably try to set both: an aim is a direction to head in, but without a concrete end point. A goal has to be measurable, and you should be able to tick it off once you’ve achieved it.
You changed my perspective. Thank you 😍
thank you so much for this rant Theo. so many beginners are sucked at it.
“React skills can’t be measured”
“I’m at 60-70%”
Ping is an amazing product, how much effort and time do you think would take someone intermediate to build stuff on that caliber?
Maybe a dumb question, but I wanted to know if I should solely focus on something or if it's doable to work on it side by side with a job
This video has power to change you life !
here after 4 months trying to get some deep value again
That was the best vid on this channel.
Brilliant
thanks you gave me a broader view of engineering
Thanks Theo great video, this video is what I needed
Listened 10 times, trying to setup my goals
Really interesting video, definitely agree that they're unclear.
It took me a long time to apply to be a developer because I was always unsure I was at a developer level.
The real message is :"If you are here wondering about your goals, it means you failed in achieving them".
If you failed to achieve them. Set yourself more realistic short term goals.
You can decide at 16 to become a software engineer. It's a perfectly acceptable goal. Not because it's easy to frame and determine limits to it, but because there is an army of people
here to figure it out for you and all you have to do is work tirelessly without faltering. You get your diploma, and people will hire you in that field.
However, if you are 24 and you dropped out of university and you want to become a software engineer, good luck because this is a goal impossible to frame correctly by yourself.
realised this is a geometric visualisation of going out of your comfort zone and mentally expanding through thin branches of inner knowledge:). i feel like this is how you get places
one learns many things along the way and misses an enormous amount of other subjects, and that's okay.
so many engineering skills are transferrable
thanks again for your content