I'm tired of people assuming they have to learn all the new things or they will fall behind. It is BETTER to be late 99% of the time. Check out my Twitch, Twitter, Discord more at t3.gg S/O Ph4se0n3 for the awesome edit 🙏
@@minikame2272because trains are partentially on the stock market and partentially by goverment, worst combination as the gov. Will only pay for huge repairs and it's better for shareholders to wait till the goverment pays for better tracks
That’s story about developing Java apps for mobile phones in 2003 - that was me! I lived this exactly as Theo described, and learned this lesson first hand: too early is worse than too late.
I disagree. You're not stuck building the wrong thing if you get into things early. Learning keeps you sharp but you have to be willing to change your mindset when something else comes along
If you go with new shiny thing rather than the popular technologies you are much more likely to bet on the wrong thing. You can learn and stay sharp while sticking with the technology that you know as well. There is so much to learn within every ecosystem so you don't need to jump into new thing all the time to stay sharp. I would say you are more valuable if you stick around and dig deeper.
Maybe somewhere in between is the right place? Chasing shiny things is more fun, but it can lead to chasing rainbows, rather than achieving a certain goal. Sticking with the "old" is not necessarily the best either, if there are good reasons to move away & into a new thing that provides tangible benefits. Therefore I think sitting somewhere in the middle (not easy) is maybe a more realistic place to be. If the cool new thing still looks cool in 6 months & hasn't lost attention, it is probably worth going after. It puts you potentially up to 12 months behind in terms of a new release, but certainly not 12 months behind everyone else. I'm going to say this is a generally good tactic, but depends on use case, of course.
Yup 😊 1.0 was released in 2020. I wonder if it will se more adoption in future. It did decently well in the state of JS this year, but to me it’s still the most exciting new runtime.
I'm afraid I was late by intention. I feel dealing with new errors or bizarre bugs is a big waste of time. I used to wait some time to see if the stuff would become solid and more popular or would fade away. Then I will have a better feeling about being worth spending my precious time with.
I have to say that nowadays a lot of job description for Development roles expect from candidates to be constantly up to date with the evolution of current and new technologies. This is a useless prerequisite, unless the description is for a Lead or Staff engineering role. But I guess that this is also an important factor contributing to that kind of anxiety.
"This Internet thing is a fad and will soon be over." -- someone, 1996 "Internet seem to stick. I'll wait a couple more years and then I'll try it out." -- "Theo-equiv", 2001
Well said! You don't need to be living on the bleeding edge and you most certainly don't need to be learning every new thing that comes out. Took me a while to learn this one, but its something I'm happy I got.
I agree that being scared of falling behind is the worst reason for switching to a new technology. You should at least take some time understanding it to a degree where you know the disadvantages and potential. You can see that in VR as well, where companies are still trying to establish their VR headset as a platfom like the playstation or Steam, when it should just be seen as a different kind of monitor.
The problem with VR is that there just hasnt been enough stuff to do with it to justify the purchase for most people. This is why the companies invest in making a platform because they want to convince consumers that there is plenty to do with the hardware.
@@NihongoWakannai The one thing VR needs to be a net positive monitor substitution is the ability to simulate an actual desktop with freely movable windows and an option to make some hand written notes within VR (maybe just scan whatever paper is in front of you and parse it into a virtual document). Instead, companies just focus on games and social interaction.
I think VR is in a weird place.. it's something that is not likely to be life changing, has limited scope at this point (but has potential for more practical use) & the barrier to entry is high (expensive hardware). It makes a lot of sense that few want to get involved with VR development due to demand, but demand is low due to practical use cases & cost. Bit of a stalemate really.
I'd say yay and nay, because it's a catch 22. Early adopters take a gamble and deal with the growing pains. If it pays out, you're ahead, if it doesn't you bet on the wrong horse. Late adopters get there at a point where it's a "sure thing" and more stable, but they are sort of late to the party. Now, the catch 22. If there's no early adopters, there won't be any late adopters. If anything, give things a look at least just so you know they're there even if you don't go deep in it. I'm a bit unfazed by the "AI" fad because i was using it for some (practical) stuff some 6y back, and "if we have data and processing power we can do stuff" was pretty much par for the course and everyone knew it. Current state is just "upscaling", impressive but not mind breaking. To be honest, I'm a lot more "hyped" about all i can push a tiny ESP32 to do than whatever "model du jour" is doing...
I agree, but the analogy could be a little wrong, yes you can wait 5 years for "something new" but you don't know if it's going to be better than the current one. Even if you wait for "apple to make an app store" the apps you developed early on are grossly incompatible with the app store now. It's always a gamble, you "go safe" for a stable popular platform that could disappear tomorrow or you you "go bold" and shoot for a new tech that could suffer the same fate. I say "go for the tech that inspire you" and take it from there. The experience of building and developing it's going to be useful anyway.
I’ve done this at least 4 times. And fortunately the patterns carry forward. Still use the chops I got making games in Flash and Actionscript 3. Amazeballs.
There was a nice graph circulating with the technology adoption curve where it had 2 versions, the first one was the one with early adopters, early majority, etc while the other one had early adopters followed by "technology died".
I wouldn't say I agree that getting in early is a problem, only the failure to pivot when something genuinely better comes along. Lewrning java applets for the ngage coupd not be a total waste if you consider it from the architecture point of view - lessons learned with working on devices that have constrained resources, etc.
This is also true for young devs who are more "skilled" than their age. Mostly I get no response from HRs of a medium sized company and one HR even told me your resume seems fake why bcz I have 3 years of exp at the age of 23 and I worked most of my full-time college also. Which I thought would boost me in the terms of employability but it does the exact opposite. Most people try to lowball giving you are young as an excuse but once I start showing interest in leaving suddenly my package can be 1.3-1.4X of what it was.
You never know what time is the right time. You can be too early (like said in the video), but also too late (jump on the band wagon that is saturated, like all the people who learned to code in the IT covid bubble). The Nokia Java app developer had a lot of experience with mobile problems when getting into Android that uses Java too.
1. Learn concepts. 2. Understand how these concepts resolve problems. 3. Find existing implementations for resolving these problems and check if the contract between the outer world and the implementation matches your understanding of the concepts. 4. Balance your knowledge about the concept. (Maybe the implemented contract isn't optimal, or you missed something in concept) 5. Repeat.
The real pain point for a lot of the people who get trapped like this (inexperienced beginners) is chasing after XYZ new tech for which there's little documentation when they just don't have enough experience to figure out something that is always 100x more complicated than they think it will be. Getting grounded in existing, well supported setups is the only way because it's a nightmare trying to get something done on a system you haven't used before and trying to get otherwise simple things working [side-eyes Tauri]. Sure, there are things you won't be able to do but you'll find out soon enough how much effort it takes to do the work even before adding in bells and whistles. Learn on a well supported platform, then see how you feel about jumping on the next shiny new thing.
In 2009, I was so terrified that someone would beat me to a high quality effect-typing compiler. In 2019 I realised they were still 20 years away, but I worried that someone (fuchsia?) would build a capability operating system for end users and it wouldn't be free enough, so I switched to systems dev. The world just hasn't moved that quickly!
@@MattSitton most compilers can calculate some simple effect types. For example, if they know that a function is completely free of side effects and always terminates, and its value isn't used, they might be able to elide calls to it or hoist calls to it out of a loop. Or if some fields of a record are only used in very specific circumstances, you might leave their evaluation until those exact circumstances occur. Compilers for functional languages do a wide range of optimisations that can sometimes be applied to impure languages too - it just requires being able to categorise the effects that an expression might perform to know if the optimisation is safe. Effect types are a rich field. Lately there have been languages for understanding algebraic effects such as Eff. I always point people toward The Type And Effect Discipline by Jouvelot as a great starting off point, and to Mads Tofte's research in the late 90s if you're writing compilers.
Switch to WASM or Rust? I'm a web developer, and in 2021 I switched from Laravel to Next.js. A few weeks ago I thought it was time to switch to a WASM or Rust based web framework. I invested some time, but gave up. Now I understand how good React Server Components, App Routes, Suspense, Hosting, etc. are in the Next.js ecosystem. It will take some time for the other frameworks to catch up!
I write embedded C for a living running on processors, ANSI C89, using an over 30yr old toolchain. I will never be out of a job, and since nobody is good at low level hardware programming the demand is huge and you can almost write your own paycheck.
Don’t bet on “the future”, bet on what feels exciting or enables you to do cool shit. If that things that’ll be the future, then it will exist in the future if you need/want to use it
One of the most important videos you have made. Your coverage of new tech clearly has the downside of making developers fell like they fall behind. Please continue to emphasis this point regally in future videos, to reduce the anxiety levels among your adience .
I think it always depends. If it's a clear improvement of what you've always used, it's worth upgrading. But if it's a complete rethinking, it's worth trying out in your spare time.
My mind set is the opposite, i want to learn more of old stuff so i have stronger and faster understanding of new stuff but can't find much time to do so :)
Early or not, it has everything to do with the flow, as any investor of anything you never put all your eggs in one basket. Those people building mobile apps usually get tons of funding and network as well so they have a smoother transition to the next thing since they have the structure setup
N-gage mentioned let's go. It was my best phone. We would play worms world party as 8 people while in a class. It had the best mobile game, pathway to glory.
N gage mention ! I think I might be the sole purchaser of the n gage when they first came out. Loved having to take out my battery every time I had to switch games lol
I'm not a frontend dev, but this year I made it my goal to build more visual stuff. It feels like every framework I look at is fuelled with hype, that makes it so hard to choose and settle with one of them. I've been interested in Svelte, but should I really choose that while React is on the top of the charts?
Waiting is also kinda expensive though. But that doesn't mean you should go for the current newest. The safe bet is to go for the thing that was established, maybe 2-3 years ago, and is still established now. Still it's kinda funny you make a video like this and say you love bleeding edge in the T3 docs 😁 no attack meant
I see the issue as 2-fold 1. Getting attached to specific technical solutions, be it languages, platforms, tech stacks, and thinking that is the really valuable knowledge. 2. Not being willing to try stuff with the idea that it's a learning experience and might not lead any where. When people learn things to explore and learn, they can mine valuable insight out of 'most any experience. People who are jumping from hotness to hotness in pursuit of money, that's their real problem. If they don't like learning, they'll eventually be stuck in dead-end legacy tech. Might be good for the wallet though, e.g. COBOL...
Also it's really not harder to learn new technology when it's mature. I would actually argue it's easier because... technologies get better and easier. And you don't have to go though all of changes they make to it... when I started react hooks were standard. I never had to go through classes and I love it.
You could get lots of money for a fart app in the early days of the iPhone. That’s more about business, you’re talking about development, but if you learn by making fart apps maybe it’s good to be early
I think that this also comes with maturity at the dev space. when you are new you want to try and do everything, everything seems promising since you don't know better. after few years and few hype train wrecks you see that not everything is worth pursuing
React server components. I'm mainly joking, but there are times where I just don't see it making sense for interactive web apps (which you may or may not want to use server components for)
Apple and Oranges. The one guy with games on feature phones made money for 5 or more years. But the return of switching to a new framework is not so obvious.
best thing about being asian is knowing none of those "new tech" will get to you until it is released and stay popular for like 10 years yes a lot of web dev jobs still use java
Broad experience is not bad, locking yourself into a single ecosystem, language or framework is! The person writing 3D mobile games in Java probably learned OpenGL which could easily be transferred to iOS. Even if you have to learn Direct X I still think prior game dev experience is useful.
99% true but i'd still say it depends ... i'd say if 1. the new technology is bringing some novel concept to the table, and 2. the particular solution is well-engineered enough to not stand in the way too much, then you might learn some transferable skills related to the new concept. eg. people who were first to do the nokia thing still could have learned a lot about mobile gaming itself, which would be transferable to the next platform
I don't think that the Java applet games example works very well, someone who is betting on the phone early can transfer that knowable into iPhone or other platforms, and for the new frameworks, the new framework is not going to succeed on its own, it needs adoption and people believe in it, what made React what is it nowadays, is people seeing the problems it can solve. So, you can be early and suceed, you just need to know when its not worth it anymore, and drop it. People made so many amazing projects using Flash, if you came after flash died, sure you can say, I'm glad i didn't learn that technology but those people who did, made what could be made out of it, and moved on to a better technology like HTML5.
I see this argument made by you now multiple times in diff contexts, and it's fair to a certain extent. Still, for this Java applet example specifically, sure that route led to nowhere but a general direction to mobile was right. Hence, the person started to go that way was right, and keeping up with that trend was a good general idea.
No. It's better to be early, because you have less competition. Imagine building any iphone app now vs. the early days. Now the market already has big players, which you can't compete against.
counterpoint: you enter phone games really early. By the time the ngage hits, you're already an established mobile game dev. You make the switch to ios and android once those are available, with way better knowledge of the mobile market than most of your competition. By the time smartphones are well established, your yearly revenue is a healthy quarter billion $. Your name? Gameloft. Obviously Gameloft was never a one man operation and your arguments about the tech side are completely valid. Even on the business side, being "second" can save you from making a lot of mistakes by learning from those that succeeded (and more importantly: failed) before you. That said, there is still a lot one can learn from being early in a space with no established rules. Markets will always shift and you will always make mistakes when you try something new. So why not make your fuckups at the same time as everyone else? Have a neat idea for some AI tool? Can you afford the extremely high risk of it failing? See if you can make it work and if not, take the learnings and throw away the rest. (edit: obviously doesn't apply to tech that is just a different flavour of already established tech. Let that shit cook for a bit and never make it an integral part of a serious long term project)
I strongly disagree that the reason you got to leap frog your peers is only because chose react when you wanted to. You also were already pretty good at programming before you even knew React, you also had to be really good with YT and come in at the right time. If you were 2 years too early then maybe Ben Awad would’ve still been at his peak and you wouldn’t be as well known and your opinion would be drastically different about yourself. That said, I feel like you do have a point about joining late in terms of it being easier to be a band wagoner than not, but I also wouldn’t say anyone wasted their time being a leading expert in anything.
Hey Theo, you need to make sure to do some research about this stuff. Unity launched support of iOS in 2008 (basically with the store). Epic was a bit more behind that. "in November 2009, Epic released a free version of UE3's SDK, called the Unreal Development Kit (UDK), to the general public. In December 2010, the Unreal Development Kit was updated to include support for creating iOS games and apps, followed by OS X compatibility in the September 2011 release." Your point overall stands tho; if you had been doing PC game development as it was and learned those pipelines you would have been very well served for the ios/android game market that emerged because it obviously stemmed from people with console and pc experience (tho that was hard to see). Also at the time there was XNA which was Microsoft's lite game platform/sdk (easier than directX). It was definitely a really good time to be learning game engines!
Learning specific tech doesn't really matter anyway. Especially with this AI stuff accelerating that. Problem solving skills and soft skills are more important IMO.
Normal, non-famous people are just trying to get employed and STAY employed--especially the juniors and mid-levels. Staying "up-to-date" and being early means staying relevant (and visible) to the people that control your fate--hype-train watchers like recruiters and the non-technical hiring managers who is looking for a full-stack Astro developer using CSS5 +HTML6. SMH I often see copy-pasta job posts that expect min 5 years experience with a new technology that was invented 3 months ago. Good luck getting past their automated keyword filters with that kind of nonsense.
Took on your most recent t3stack tutorial, got to the point of nexjs revalidatepath, does not work the same in the tutorial. Turns out one of the nextjs or react versions is broken for that one API, had to copy your repo's package.json and package-lock to progress, took me an embarrassing 5 hours to debug Shall wait a few more years till I learn nextjs again :|
He isn't putting a gun to your head bud. It's fine for him to be excited for the latest stuff (which a lot of people on this channel learn about on the side without using themselves) while telling people it's still okay to play slow and steady. They're not mutually exclusive :)