Well, i could see that "solving the problem" is the hard part, once the problem is no longer hard then you just have to type the logic out. There are plenty of people where using arrays are hard, but once you know how arrays work it's trivial.
It becomes irrelevant since you know you can build anything with what you currently use anyway. Once you know the tool well, then you know that everything is yet another permutation of abstraction on the same base JS language. If I need to write a complex UI in plain JS, then I can happily do that as well, I used to output thousands of lines of that thing.
No wonder websites and browser caches are bloated if you need over 1 MB for each website. For a lot of projects and sites you could fit well within 1 MB with both backend, frontend and all styling.
If you want to do that, then you raw dawg some plain JS. I used to write thousands of line of that thing and it was still tiny. Or at most react with no other dependencies, those can be painful.
@@Leonhart_93 You know whats most infuriating? It's when you see something like jQuery or something being used to do the most trivial s**t ever, and the only reason it's used is because a) it was the first thing that came up on Google and b) the person has little clue about Vanilla JS and the DOM... It's a new version of Cargo cult programming, but now instead of including something that does nothing, you include something for every little piece of work that needs to be done.
I realized after returning home from a three week cross-country driving journey that I needed to organize my tasks, but my kanban instance has been broken for a few months, so I thought "I should make some kind of app". Then I realized that I didn't have 20 hours to spare before getting shit done, so I thought "I should just use an Android to-do app". But then I realized that fixing my phone was one of the tasks and might involve a data wipe, so a to-do app would not work (and besides, they all suck). Finally, I had an epiphany: I grabbed a piece of paper and a pen. This mental clarity would not have been possible had I not given up writing JavaScript.
I will admit that I googled a bunch of the things he mentioned, mostly because a part of me didn't believe that some of them were actually real. I then realized that I honestly had no interest in using any of them or really reading the docs for curiosity's sake, closed the browser tab, and moved on....
@@ThePrimeTimeagen We're using them all, pretty much. Even as a Junior, I'm familiar with most of these names. Not saying I'm enjoying it, truth to be told
Very good advice. I've been building a project for the past three years. Sticking with it consistently has changed who I am so much that I can't even begin to compare what I knew starting out to what I've experienced in these years. I used to leave a lot of projects unfinished, jumping on many different tangents. But once I stuck to this particular passion project, it really started to pay off. (By the way, the project will soon go public and hit v1.0.0!)
I am embedded systems engineer and my new hobby is web apps. At work, I debug very low level issues, designing my own graphics pixel by pixel, etc... For my hobby project I use JS, React and Strapi. All I do in that project so far is to read documentation and figure out how to plug in things, what library to use, etc... I have fun, but I feel similar to 10 years ago when I was just using Arduino libraries, very far from knowing why it is the way it is.
I just find it fascinating that every single new JS framework is always just compromised in some way. Like, it works all good, but then you encounter your first "bubble gum solution" the framework has to use to do its thing. Then another. Then another. So much of JS libraries feel extremely hacky and like they're going to explode any second.
@@Leonhart_93 Yes /kinda e.g the npm has nobody who really looks and kicks out trivial implementation and then every one reference this implementation and then in the next iteration everyone creates their own packet manger which makes dependency hell worse. Its just so since roughly around 2008 web development is a buzzword and marketing circus unlike any other software development . Web development had since then the tone of that some devs want to cave out their own space in it with tools , frameworks and so on Open source make this very easy . Why they doing this ? Because a LAMP stack even a highschooler can use and would be for more then 90% of the internet good enough. Even Wikipedia one of the most visited sides still runs on it
This is the perfect analogy lol. But dam…how do you make a fast, optimized websites for people with MBAs that think websites are magic lol? You really don’t have a choice but to make a glass cannon website held together with some gum unless it’s your own website.
His monologue at the end is 100% correct. Literally got my current job by talking about a crappy hardware project I was working on to solve something in my life, nothing to do with the software job the interview was for.
Amazing advice. I’m a senior CS student and have been doing web dev on my own for around 8 months now. Abstraction will hurt you if you don’t know what is going on behind the scenes
The analogy of the boiling frog is perfect. To try to combat this I have been learning how to build website/apps limiting myself to tech that was available at a certain time period and progressively adding newer and newer technologies. Hopefully this will help me understand the "why" of each abstraction layer that has been added over the years.
To anyone looking to role their own auth, there’s an amazing chapter in “Let’s Go” that details how one would go about it using Go. After reading the chapter Auth just made sense and it’s no longer scary.
learning how stuff works is always a very good thing to do. be careful not to fall into the noob trap afterwards of rolling your own auth in production.
The solution is simple. Almost painfully so. Just use the same tools you have been using for the past few years. They work just fine, nothing is all that better or worse about other new stuff. The language is the same, everyone just adds their own flavor of abstraction on top. Ignore everything new and shiny, they just distract you from mastery.
If you use any npm package over a week old you get a million CVEs reported though. If you use the new ones the vulnerabilities still exist but they haven't had time to get reported yet so you can make snyk stfu for a few minutes.
@@georgehelyar I was talking about frontend JS, the framework craze is about frontend. And there aren't significant security concerns when designing an UI, all of that depends on the requests themselves which can be a completely separate matter. For frontend I like to go as pure as possible, the more bloat you add, the more that bundle size increases needlessly.
@@Leonhart_93my comment was mostly a joke, but actually if you use a security scanner like snyk, the number of CVEs you get in modern frontend is insane, because a hello world app is hundreds/thousands of packages. The joke was that it's basically impossible to get rid of them all but if you keep updating you can keep ahead of the scanner. Or just use jQuery or vanilla JS (or wasm)
My environment uses JS ES5, has no way to import stuff from repositories (unless I wrote an npm client in the system and implemented my own include system), and is barely capable of importing scripts from its own window. It's mostly okay to use, except I keep having to check whether the solutions mentioned on SO are old enough to be supported on ES5. And all the answers assume a browser, my environment is a test and measurement automation system. Beats doing the tests by hand.
Really appreciate the reflection at the end. Very often I get the urge to really try to learn and know about everything in the dev world... and I forget that it's just as imposible as useless.
Yeah just learn the layers that all of the web stands on. Things like how the server and the client communicates, what is a runtime, HTTP, SSL, what's the role of the bundler etc. and you're golden!
The "Don't write this down, it will be different next week" ten minutes into this insanity was so amazing. It is at times like this I am happy I am a C dev professionally. We just upgraded to C23 at work. With that we got like 4 new really cool things (some of which I had already learned to love from coding Zig in my free time), and like 2 interesting things that I am not sure what I think about yet. That is it for like 10 years. Then we just go ahead and write software (and try not to create any memory issues or UB, I know I know...).
The best way to write C is to write it in sex-pressions use LISP macros with quasiquoting to generate your C code and then if anyone gets suspicious show them the C-code derived from S-expression tree. Also the next best way is to write code in say Python/c#, and then run a Python -> C cross compiler, as you can edit your program while its still running in Python.
Dammit, when I saw the title I thought you actually interviewed the guy, which would have been amazing. Imagine Prime interviewing him while he remains in his character as js dev, that would be top content right there
Every single time i hear literally anyone in the webdev industry tell me anything about webdev, it makes me more repulsed. Is there even anything fun about it? Does anyone enjoy it? At all?
when i started programming, i thought I was goin to have my head down while typing out php or javascript to create websites. now, its more about picking the right package/framework and managing dependencies and breaking changes and working around package limitations. for reference, I learned on LAMP stack, then learned MERN.
Tbh it's absolutely the same in the backend / devops world. Almost none of the libs, tools or frameworks I used 10 years ago are still available or a good idea due to continue using. Only language itself prevails but that doesn't mean much because it also changed.
I once sat in a meeting with the Senior and Lead once. They were planning for a new project and they were discussing all these new technologies that I haven’t even heard of and some which I heard but haven’t used. Suffice to say, I was sitting there staring blankly at the whiteboard. I have never felt that out of place ever 😂
@@jan.tichavsky That's why newer versions of Laravel are moving towards a "batteries are opt-in and not included by default" type of approach. I am not sure if this is already the case in version 11 or if it will come in a later version. But Taylor Otwell already said that this is their goal.
Backwards compatibility and maintenance is so underrated. Though I hate wordpress backwards compatibility is what they do right. You rarely have to change your plugin just because of a new Wordpress version. Laravel does it right as well.
re: rolling your own auth -- I did the same when I was just a hobbyist. Not hard at all, and I'd rather spend time learning the fundamentals than the idiosyncracies of some service like cognito.
@@godowskygodowsky1155 accounted for. I get the perspective, and in mission-critical software, yeah -- know what you're doing or be safe. But you don't get to know what you're doing without doing it, and I'm not a fan of relying on a few people maintaining all the world's implementations of a simple thing any programmer can learn. Like, even form inputs... My client got cheap labor knowing I was green, and I got to figure out how to implement forms and fight spammers. I made honeypot submit buttons, wrote a pretty effective spam filter, and integrated captchas. It's not the best, but it works for that implementation. And you know what? It doesn't seem like magic anymore.
My favourite thing is getting interviewed by a junior dev that bluffed their way into a lead role at a startup and gets excited to show off their technology-specific trivia questions only to be shocked at getting “i dont care” as a response to the questions lol
Finding something you actually want to make is the best advice you can get for learning and just coding daily. For getting a job, the thing you want to make should demonstrate your abilities to solve business problems. Since that's what they're hiring you for. If what you want to make also does that, best of both worlds. But if you're just learning or having fun, don't worry about that. Making a portfolio of projects the solve business problems is like lifting for a competition. Building projects to learn or have fun is lifting to be healthy. You do it differently for different purposes.
Javascript is easy to ship under 1MB on the edge thanks to tools like webpack and esbuild. Split every route of your API into its own bundle and they sit around 500kb
1st world JavaScript problem. Back in Soviet Russia ... Ahem back in Kenya, it does not matter how easy clerk, vercel so long as however is paying sees > $3 You got to make it work in a shared hosting plan , which in my experience, you roll out your own everything cause external libraries are not compatible with the Node env in cPanel But sadly the delusion from the west has crept into the east, had an internal who literally asked paraphrasing.. "How do you deploy without Vercel & do auth without next auth? Can't we convince the client to pay for Vercel?" I'm happy to report that we had a lengthy the talk about ssh, scp, ftp, pm2, cookies & sessions etc etc I'll have to put a good share of blame to code camps where in 6 months you graduate as a senior developer with dollar signs on your eyes.
idk its faster to ship and iterate so why not? tech stacks are part of coding, web has deeper stacks bc its the most used and needs to meet a lot of different requirements. a framework does the work of figuring out the right degree of modularity and separation of concerns, it gives you a way to look at a project that could otherwise be completely undoable with resource constraints
I made Snake in React as a "just make something" project. I thought I didn't want to use React since im a Chad standard web components kinda guy, but it was actually a good learning experience.
I would love to see Oauth done from scratch in these 50 lines of code. Not that I doubt that it can be done, I think it could be done but I've never worked in an environment where that was even an option. I think it would be cool basically.
Depends what you mean by doing oauth. Go to authorize URL then get code and go to token URL is pretty easy, but you need a server to actually do the hard part. Fortunately, that server can just be any oauth provider e.g. Microsoft or Google, and then you don't have to store passwords etc either.
@georgehelyar Pfft, first they have to show that there is ANY chance in hell they can replace even the bottom feeder devs. Nothing, and I mean nothing of what they've shown currently is capable of even touching 5% of that, everything is so very bad when they need to handle more than 10 lines of code at once.
I can't believe he's not able to sort tearing out in the longest time. It's not that hard, just read the Arch Wiki, all the info is there, and work even on non Arch based distros.
that analogy with the boiled frog is exactly how i described it as an SRE talking about all the tools that are just layered abstractions one on top of each other. good to know im not the only one who sees it that way.
I've been doing webdev for about a year and I don't feel like a programmer, I feel like a customer of the company with the programs I use, programs written by programmers
without a diagram just a simple list of the stack of ~5 or so libraries is pretty great. and the miracle is theyre all mostly interopable with each other
I'm new in programming. And no mater that I was born in 81 and wrote my first linea in Basic on Atari 65 XE. That haven't been more then a few simple programs. Later in 2010's I was doing some VBS coding. Recently I've been learning JavaScript, PHP, HTML+CSS. I've build my first site for myself witch is a base of recipes that I like. Also I've created a function in JS that changes data in table into nested objects, which is used as a input data for other cool JS tool dynamically drawing interactive org chart. These was fun and useful for me and I've learnt alot whit it.
I'm a JS dev with 15+ years experience. I rolled my own auth back in the day. The problem these days is (team) scale and people outside your scope. You ever tell a seccy with a scanning tool that their flag has no access to anything? Throw in a client that has a contract with security assurances rolled into it (which in reality are mostly just box ticks and have no real world significance, but they can see a red X.) In short I too understand why Clerk and oAuth are necessary :)
I learned one thing developing for corpo. You choose a handfull of Frameworks and stick with them. Don't look at whats the hot shit at the moment, because that changes on a monthly bases. Just look at how many developers are on the market and choose your stack accordingly. In the end modern FE is the same patterns Back-End uses for 20+ years packaged in a million different frameworks that slightly differ from one another.
Hot take I would rather go to a job with old technology but reliable, good documentation and community. Than a job which is unfamiliar with the technology they use. The one of problem with JS is that everyone wants to be the next innovator.
I just had to finish creating a full stack application as part of my degree. The technology that works is the technology that works. If I can spend less time thinking about what to use and more time using it, all the better
I struggle with the insanity of JS nowadays. On one hand I wish it were significantly simpler (even the build chains make we want to become a farmer), but on the other hand I recognize the power of JS frameworks when it comes to building rich user experiences. Nowadays user experience sells, even if the products themselves are fairly simple.
lol the only words i even recognize are javascript and google analytics. Was doing proper FE work with frameworks and stuff... like 8 years ago. Guess thats another epoch already :D
I used to know JavaScript in and out. I left it to focus on Python for a couple months and now I don't know it anymore. It changed so much and everything I used to use is now "outdated"
I don't think JS is a problem. Whenever something gets popular, people try to capitalize on that and create hundreds of similar tools and frameworks to appeal to the people. Your goal as a developer is to be focused on delivering the product. In corporate world, you will be forced to use tools that you would not like - this is why you always must keep your head clean by creating your own projects if your goal to escape corporate world.
I only started 2 years ago, with AlpineJS. I was writing production code immediately since I was UX with devs that were slow and shit. I think picking something small that works and going from there is fine. Coming in immediately to "make app" is stupid, and causes you to overextend and pick random things that make no sense and you don't know what anything is for.
"Always better than SAML". --- 100% agreed! SAML is about "we want to create auth system but we don't believe TLS works for encryption so we roll up our own" combined with "we don't believe transmitting data between servers so we use browser redirects to transmit packages between servers". Of course, SAML requires secure "metadata updates" which are transmitted over TLS so the security still depends on TLS! The bad part is that it's *possible* to build a working system on SAML and that's why it has never been totally killed of even today. OpenID Connect wins SAML in every possible way and is really easy to implement. And even OpenID Connect has extra crap like encoding data in base64 encoded JWT packages instead of simply using JSON to transmit data.
Hot take is so true. I keep saying if you just learn from react up or even better NextJS up then you have no concept of full stack….none. You can be phenomenal at NextJS/React without knowing a damn thing about how the app truly works. This would be great if you never ever had to go under the hood…yeaaaa……
Rn im making a my own version of grep in go, it finds files, finds things in files. Can replace those patterns in files. Very fun. I hope I never become a webdev. Seems like most of the things you learn are inconsequential.
"making my own version of grep in go" "I hope I never become a webdev. Seems like most of the things you learn are inconsequential." Hm, interesting.. I think both of the things from the above 2 quotes are doing something equally inconsequential but are aimed at doing something because you like doing it. It may or may not help you. With that said, it's up to the person to fall into framework hell and get overwhelmed with it, not people who write the frameworks. You can get by and do just about anything with 1 or 2 libraries and ignore all of the buzzwords, and I think that's relevant in everything not just Javascript. It's important not to take meme videos literally. He's making jokes, and does with many different things outside of webdev/javascript.
"A javascript piece of code under 1Mb". We'll that's easy. Use classic html, css and vanilla js or ts. Then on the other hand it might not be a huge problem since it's compressed and cached so you'll only get hit once. I use vanilla with simple stuff like rollup and scss most often and it's never been a problem. Totally agree on getting stuff done. Finishing a project is probably the hardest part.
having had less than 6 months of experience, I have no idea what's going on. I like whatever CSS and Javascript I have. I don't know what I'm missing and I'm keeping it that way
Hot take: "Once you know everything, it is easy"
Well, i could see that "solving the problem" is the hard part, once the problem is no longer hard then you just have to type the logic out. There are plenty of people where using arrays are hard, but once you know how arrays work it's trivial.
It becomes irrelevant since you know you can build anything with what you currently use anyway.
Once you know the tool well, then you know that everything is yet another permutation of abstraction on the same base JS language.
If I need to write a complex UI in plain JS, then I can happily do that as well, I used to output thousands of lines of that thing.
0 kelvin
IDK man it looks like a very big iceberg
aka "skill issues" :D
"2024 is the year of serverlesslessness" - died
Me one month ago: *receives project plan to migrate prod DBs back on-prem 14 months after cloud migration*
@@MrSuperawesome5000cost killing you?
“How do you get a Javascript piece of code under 1MB?” The fact that this a real question that people actually have to ask hurts my feelings.
No wonder websites and browser caches are bloated if you need over 1 MB for each website. For a lot of projects and sites you could fit well within 1 MB with both backend, frontend and all styling.
@@jan.tichavskyreal
If you want to do that, then you raw dawg some plain JS. I used to write thousands of line of that thing and it was still tiny.
Or at most react with no other dependencies, those can be painful.
@@jan.tichavsky what is runtime?
@@Leonhart_93 You know whats most infuriating? It's when you see something like jQuery or something being used to do the most trivial s**t ever, and the only reason it's used is because a) it was the first thing that came up on Google and b) the person has little clue about Vanilla JS and the DOM... It's a new version of Cargo cult programming, but now instead of including something that does nothing, you include something for every little piece of work that needs to be done.
I realized after returning home from a three week cross-country driving journey that I needed to organize my tasks, but my kanban instance has been broken for a few months, so I thought "I should make some kind of app". Then I realized that I didn't have 20 hours to spare before getting shit done, so I thought "I should just use an Android to-do app". But then I realized that fixing my phone was one of the tasks and might involve a data wipe, so a to-do app would not work (and besides, they all suck). Finally, I had an epiphany: I grabbed a piece of paper and a pen.
This mental clarity would not have been possible had I not given up writing JavaScript.
ah yes
the P&P (pen and paper) stack
@@nikolaygruychev2504flexing the PP stack on these hoes
Just use Trello?
@@georgehelyar I needed something portable that did not rely upon my phone. Trello would not work.
But what if you want to view the paper at your pc and on your phone at the same time?
Idk but the T3 stack sounds pretty good to me
T3 > T4
It’s time for the T5 stack Theolo
@@LaughableTundra T5 launching in T minus 5, 4, 3, ...
Sounds... unbiased
T3-3 stack. The extra 3 is for Summer.js, Spring.js, and Autumn.js.
Who needs Winter.js? 🤢🤮
I will admit that I googled a bunch of the things he mentioned, mostly because a part of me didn't believe that some of them were actually real. I then realized that I honestly had no interest in using any of them or really reading the docs for curiosity's sake, closed the browser tab, and moved on....
an afternoon well spent
it's all real 😢
@@ThePrimeTimeagen We're using them all, pretty much. Even as a Junior, I'm familiar with most of these names. Not saying I'm enjoying it, truth to be told
"Push on save" got me good 😭
didn't know the mad villain was in chat ✊
@@jameslund6781 RIP DOOM and dont forget ALL CAPS when you spell the man name
I push before I save.
The JS ecosystem gives me so much PTSD that if I see a json file I just rename it to .lua
Or yaml lol
@@blackace72 Or toml. I use Rust now btw. 😉
Rofl
haha!
or .plist
Very good advice. I've been building a project for the past three years.
Sticking with it consistently has changed who I am so much that I can't even begin to compare what I knew starting out to what I've experienced in these years. I used to leave a lot of projects unfinished, jumping on many different tangents. But once I stuck to this particular passion project, it really started to pay off. (By the way, the project will soon go public and hit v1.0.0!)
@yektadev What's the project?
ligmatron.js framework
13:00 "don't write this down, next week this is all going to change" had me spit my coffee out. Lmao!
I am embedded systems engineer and my new hobby is web apps. At work, I debug very low level issues, designing my own graphics pixel by pixel, etc...
For my hobby project I use JS, React and Strapi. All I do in that project so far is to read documentation and figure out how to plug in things, what library to use, etc...
I have fun, but I feel similar to 10 years ago when I was just using Arduino libraries, very far from knowing why it is the way it is.
Yes, except js paradigms unlike hardware paradigms change a lot. The further you are from bare metal the faster stacks and tools change.
Javascript people are now not just frogs, but fully cooked in the sauce it seems.
So, sincerely asking what's the solution? Switch to Go ?
@@mazharansari7813 concrete answers always require context. but typescript exists, and is almost always preferable to raw JS.
@@mazharansari7813 Rust and compile to webassembly. :)
@@blarghblargh Typescript isn't a replacement for JS it's just an overlay for type checking lol
@@mazharansari7813 the solution is to never listen to webdevs, they're compromised
I just find it fascinating that every single new JS framework is always just compromised in some way. Like, it works all good, but then you encounter your first "bubble gum solution" the framework has to use to do its thing. Then another. Then another.
So much of JS libraries feel extremely hacky and like they're going to explode any second.
That's exactly a problem with an open source environment where everyone thinks "I can do better", instead of consolidating.
@@Leonhart_93 Yes /kinda e.g the npm has nobody who really looks and kicks out trivial implementation and then every one reference this implementation and then in the next iteration everyone creates their own packet manger which makes dependency hell worse. Its just so since roughly around 2008 web development is a buzzword and marketing circus unlike any other software development . Web development had since then the tone of that some devs want to cave out their own space in it with tools , frameworks and so on Open source make this very easy . Why they doing this ? Because a LAMP stack even a highschooler can use and would be for more then 90% of the internet good enough. Even Wikipedia one of the most visited sides still runs on it
This is the perfect analogy lol. But dam…how do you make a fast, optimized websites for people with MBAs that think websites are magic lol? You really don’t have a choice but to make a glass cannon website held together with some gum unless it’s your own website.
As a junior webdev I'm very overwhelmed by these frameworks
“Push on save” I nearly choked when I heard that. I love it.
"You've heard of 8 minute abs? Well heres my idea: 7 minute abs!"
Thats what the t3/t4 stacks immediately made me think of
His monologue at the end is 100% correct. Literally got my current job by talking about a crappy hardware project I was working on to solve something in my life, nothing to do with the software job the interview was for.
Love the take towards the end of the video. Just do what keeps you coming back.
Amazing advice. I’m a senior CS student and have been doing web dev on my own for around 8 months now. Abstraction will hurt you if you don’t know what is going on behind the scenes
No matter what people say, reinventing wheels is lot's of fun and a great way to truly learn fundamental concepts.
The analogy of the boiling frog is perfect. To try to combat this I have been learning how to build website/apps limiting myself to tech that was available at a certain time period and progressively adding newer and newer technologies. Hopefully this will help me understand the "why" of each abstraction layer that has been added over the years.
I love this real talk vs the internet plus positive vibes vibe thanks the primeagen!
To anyone looking to role their own auth, there’s an amazing chapter in “Let’s Go” that details how one would go about it using Go. After reading the chapter Auth just made sense and it’s no longer scary.
learning how stuff works is always a very good thing to do.
be careful not to fall into the noob trap afterwards of rolling your own auth in production.
The solution is simple. Almost painfully so. Just use the same tools you have been using for the past few years. They work just fine, nothing is all that better or worse about other new stuff.
The language is the same, everyone just adds their own flavor of abstraction on top. Ignore everything new and shiny, they just distract you from mastery.
If you use any npm package over a week old you get a million CVEs reported though. If you use the new ones the vulnerabilities still exist but they haven't had time to get reported yet so you can make snyk stfu for a few minutes.
@@georgehelyar I was talking about frontend JS, the framework craze is about frontend. And there aren't significant security concerns when designing an UI, all of that depends on the requests themselves which can be a completely separate matter.
For frontend I like to go as pure as possible, the more bloat you add, the more that bundle size increases needlessly.
@@Leonhart_93my comment was mostly a joke, but actually if you use a security scanner like snyk, the number of CVEs you get in modern frontend is insane, because a hello world app is hundreds/thousands of packages. The joke was that it's basically impossible to get rid of them all but if you keep updating you can keep ahead of the scanner.
Or just use jQuery or vanilla JS (or wasm)
My environment uses JS ES5, has no way to import stuff from repositories (unless I wrote an npm client in the system and implemented my own include system), and is barely capable of importing scripts from its own window. It's mostly okay to use, except I keep having to check whether the solutions mentioned on SO are old enough to be supported on ES5. And all the answers assume a browser, my environment is a test and measurement automation system.
Beats doing the tests by hand.
For behavioral interviews, I started making everything up. It felt glorious
We need to make ligma.js as the final JS Framework.
Ligma is the best!
ligma what ?
It would never work, somebody would fork their sugma.js from it in the space of a week
Job Requires: 10+ years of ligma.js and vanilla ligma.js
Pronounced "ligma jiss"
Really appreciate the reflection at the end. Very often I get the urge to really try to learn and know about everything in the dev world... and I forget that it's just as imposible as useless.
Yeah just learn the layers that all of the web stands on. Things like how the server and the client communicates, what is a runtime, HTTP, SSL, what's the role of the bundler etc. and you're golden!
The "Don't write this down, it will be different next week" ten minutes into this insanity was so amazing.
It is at times like this I am happy I am a C dev professionally. We just upgraded to C23 at work. With that we got like 4 new really cool things (some of which I had already learned to love from coding Zig in my free time), and like 2 interesting things that I am not sure what I think about yet. That is it for like 10 years. Then we just go ahead and write software (and try not to create any memory issues or UB, I know I know...).
The best way to write C is to write it in sex-pressions use LISP macros with quasiquoting to generate your C code and then if anyone gets suspicious show them the C-code derived from S-expression tree. Also the next best way is to write code in say Python/c#, and then run a Python -> C cross compiler, as you can edit your program while its still running in Python.
Dammit, when I saw the title I thought you actually interviewed the guy, which would have been amazing. Imagine Prime interviewing him while he remains in his character as js dev, that would be top content right there
Every single time i hear literally anyone in the webdev industry tell me anything about webdev, it makes me more repulsed. Is there even anything fun about it? Does anyone enjoy it? At all?
when i started programming, i thought I was goin to have my head down while typing out php or javascript to create websites. now, its more about picking the right package/framework and managing dependencies and breaking changes and working around package limitations. for reference, I learned on LAMP stack, then learned MERN.
Tbh it's absolutely the same in the backend / devops world. Almost none of the libs, tools or frameworks I used 10 years ago are still available or a good idea due to continue using. Only language itself prevails but that doesn't mean much because it also changed.
I once sat in a meeting with the Senior and Lead once. They were planning for a new project and they were discussing all these new technologies that I haven’t even heard of and some which I heard but haven’t used. Suffice to say, I was sitting there staring blankly at the whiteboard. I have never felt that out of place ever 😂
That's how I feel about everything in the java ecosystem. It just makes no sense to me as a 20-plus years C++ dev.
I dunno, I just use Laravel. It has everything I might need. I just upgraded my projects from v10 to v11 and it took under half an hour.
How many thousands of files do you start with on an empty project? I have just a dozen myself.
@@jan.tichavsky In the new v11 skeleton, very few.
@@jan.tichavsky That's why newer versions of Laravel are moving towards a "batteries are opt-in and not included by default" type of approach. I am not sure if this is already the case in version 11 or if it will come in a later version. But Taylor Otwell already said that this is their goal.
@@Voidstroyer it is. 11 even removed api routing together with sanctum
Backwards compatibility and maintenance is so underrated. Though I hate wordpress backwards compatibility is what they do right. You rarely have to change your plugin just because of a new Wordpress version. Laravel does it right as well.
re: rolling your own auth -- I did the same when I was just a hobbyist. Not hard at all, and I'd rather spend time learning the fundamentals than the idiosyncracies of some service like cognito.
Whoops, you rolled everything yourself and now your service is vulnerable to timing attacks.
@@godowskygodowsky1155 accounted for.
I get the perspective, and in mission-critical software, yeah -- know what you're doing or be safe. But you don't get to know what you're doing without doing it, and I'm not a fan of relying on a few people maintaining all the world's implementations of a simple thing any programmer can learn.
Like, even form inputs... My client got cheap labor knowing I was green, and I got to figure out how to implement forms and fight spammers. I made honeypot submit buttons, wrote a pretty effective spam filter, and integrated captchas. It's not the best, but it works for that implementation. And you know what? It doesn't seem like magic anymore.
Primes take at 20:00 was spot on. The last 2 jobs I've worked within the last 4 years both ran .NET 4 + jQuery.
best of both worlds, thought the non programming person in charge humming the hanna montana inteo song
"Support any database...If you know how to write the adapter". That made me laugh lol
My favourite thing is getting interviewed by a junior dev that bluffed their way into a lead role at a startup and gets excited to show off their technology-specific trivia questions only to be shocked at getting “i dont care” as a response to the questions lol
"Prisma blocks the package, just like this companies HR Dept." 😂
zustand is real. We use it for work and I thought it was made up too. Apparently it's just German
just means "state", as in application state.
can confirm, it's just the German word for state (only this kind of state, not a nation-state)
That name is so meta 😂
It can also mean 'a (not insignificant) mess', or a deteriorated mental state. Make of this information what you will.
@@dragons_advocate Yes it can also mean that something was never meant to last 🤓 like in the video
Finding something you actually want to make is the best advice you can get for learning and just coding daily.
For getting a job, the thing you want to make should demonstrate your abilities to solve business problems. Since that's what they're hiring you for. If what you want to make also does that, best of both worlds.
But if you're just learning or having fun, don't worry about that. Making a portfolio of projects the solve business problems is like lifting for a competition. Building projects to learn or have fun is lifting to be healthy. You do it differently for different purposes.
"Dont write this down, next week all this will change. " 😅 this got me
'i wasted a bunch of time reinventing the wheel and why you should too'
Javascript is easy to ship under 1MB on the edge thanks to tools like webpack and esbuild. Split every route of your API into its own bundle and they sit around 500kb
"Push on save" - a new mantra for me.
100% agree on understanding the protocol before using the first library you see
Especially since there are now so many implementations
I've been waiting for another one of these since you reacted to the first one!
I find it funny but understandable how shortly after the quip about chat's views on Sentry, I get a Sentry ad.
"don't write this down it's all going to change next week anyways"
Thank you my good Sir for the eye-opening advices at the end of your video ❤
1st world JavaScript problem.
Back in Soviet Russia ...
Ahem back in Kenya, it does not matter how easy clerk, vercel so long as however is paying sees > $3
You got to make it work in a shared hosting plan , which in my experience, you roll out your own everything cause external libraries are not compatible with the Node env in cPanel
But sadly the delusion from the west has crept into the east, had an internal who literally asked paraphrasing.. "How do you deploy without Vercel & do auth without next auth? Can't we convince the client to pay for Vercel?" I'm happy to report that we had a lengthy the talk about ssh, scp, ftp, pm2, cookies & sessions etc etc
I'll have to put a good share of blame to code camps where in 6 months you graduate as a senior developer with dollar signs on your eyes.
My god this is exactly my life as a dev and I have only been working like three months in the industry. Like EXACTLY my life.
idk its faster to ship and iterate so why not? tech stacks are part of coding, web has deeper stacks bc its the most used and needs to meet a lot of different requirements. a framework does the work of figuring out the right degree of modularity and separation of concerns, it gives you a way to look at a project that could otherwise be completely undoable with resource constraints
Thanks Prime, every time I saw you, I learned something new :))
I made Snake in React as a "just make something" project. I thought I didn't want to use React since im a Chad standard web components kinda guy, but it was actually a good learning experience.
I would love to see Oauth done from scratch in these 50 lines of code. Not that I doubt that it can be done, I think it could be done but I've never worked in an environment where that was even an option. I think it would be cool basically.
Why 50 lines of code? Just do it in 200 and do it better.
Depends what you mean by doing oauth.
Go to authorize URL then get code and go to token URL is pretty easy, but you need a server to actually do the hard part. Fortunately, that server can just be any oauth provider e.g. Microsoft or Google, and then you don't have to store passwords etc either.
@georgehelyar Pfft, first they have to show that there is ANY chance in hell they can replace even the bottom feeder devs. Nothing, and I mean nothing of what they've shown currently is capable of even touching 5% of that, everything is so very bad when they need to handle more than 10 lines of code at once.
try picom for screen tearing?
that will never happen lul
he will switch to sway in February 2022
I can't believe he's not able to sort tearing out in the longest time. It's not that hard, just read the Arch Wiki, all the info is there, and work even on non Arch based distros.
What every interviewer wants to see: Passion
that analogy with the boiled frog is exactly how i described it as an SRE talking about all the tools that are just layered abstractions one on top of each other. good to know im not the only one who sees it that way.
Serverlesslessness - brilliant! In reality, loads of job descriptions require frameworks first and then language knowledge.
I've been doing webdev for about a year and I don't feel like a programmer, I feel like a customer of the company with the programs I use, programs written by programmers
The courage to reject the insanity of FE and just build something that works is the best indicator of competence when I review resumes.
I implemented OAuth 2.0 with Authorization Grant flow, for our company and it turned out all right,! No third part libraries or services
without a diagram just a simple list of the stack of ~5 or so libraries is pretty great. and the miracle is theyre all mostly interopable with each other
What happens at a job is often also different of what job post states and recruiter checks.
I'm new in programming. And no mater that I was born in 81 and wrote my first linea in Basic on Atari 65 XE. That haven't been more then a few simple programs. Later in 2010's I was doing some VBS coding. Recently I've been learning JavaScript, PHP, HTML+CSS. I've build my first site for myself witch is a base of recipes that I like. Also I've created a function in JS that changes data in table into nested objects, which is used as a input data for other cool JS tool dynamically drawing interactive org chart. These was fun and useful for me and I've learnt alot whit it.
I started on Visual Basic, modifying the Snake game. I probably never would have gotten into programming if this was thrown at me.
I'm a JS dev with 15+ years experience. I rolled my own auth back in the day. The problem these days is (team) scale and people outside your scope. You ever tell a seccy with a scanning tool that their flag has no access to anything? Throw in a client that has a contract with security assurances rolled into it (which in reality are mostly just box ticks and have no real world significance, but they can see a red X.)
In short I too understand why Clerk and oAuth are necessary :)
I learned one thing developing for corpo. You choose a handfull of Frameworks and stick with them. Don't look at whats the hot shit at the moment, because that changes on a monthly bases. Just look at how many developers are on the market and choose your stack accordingly. In the end modern FE is the same patterns Back-End uses for 20+ years packaged in a million different frameworks that slightly differ from one another.
Hot take
I would rather go to a job with old technology but reliable, good documentation and community.
Than a job which is unfamiliar with the technology they use.
The one of problem with JS is that everyone wants to be the next innovator.
“We push on save” is my spirit process
Missed the live, was authoring t5
What does the "t" stand for in t5?
@@budkinThor
Link to video in description leads to wrong one (2 years ago, not the 2024 version)
Kai's recent interviews with actual founders are brilliant. Highly recommended.
I just had to finish creating a full stack application as part of my degree. The technology that works is the technology that works. If I can spend less time thinking about what to use and more time using it, all the better
I struggle with the insanity of JS nowadays. On one hand I wish it were significantly simpler (even the build chains make we want to become a farmer), but on the other hand I recognize the power of JS frameworks when it comes to building rich user experiences. Nowadays user experience sells, even if the products themselves are fairly simple.
Man I'm still waiting for the drizzle docs xD
Thank god I did not took the JS/TS route when I was choosing between JS/TS and Python
Prime is hands down the best motivational speaker. Period.
lol the only words i even recognize are javascript and google analytics. Was doing proper FE work with frameworks and stuff... like 8 years ago. Guess thats another epoch already :D
This outro was refreshing to hear. Android/Kotlin dev here.
I used to know JavaScript in and out. I left it to focus on Python for a couple months and now I don't know it anymore. It changed so much and everything I used to use is now "outdated"
I don't think JS is a problem. Whenever something gets popular, people try to capitalize on that and create hundreds of similar tools and frameworks to appeal to the people. Your goal as a developer is to be focused on delivering the product. In corporate world, you will be forced to use tools that you would not like - this is why you always must keep your head clean by creating your own projects if your goal to escape corporate world.
Thanks flip, never doubt our love for you.
is flip just prime with a hat on?
I only started 2 years ago, with AlpineJS. I was writing production code immediately since I was UX with devs that were slow and shit. I think picking something small that works and going from there is fine. Coming in immediately to "make app" is stupid, and causes you to overextend and pick random things that make no sense and you don't know what anything is for.
"Always better than SAML". --- 100% agreed! SAML is about "we want to create auth system but we don't believe TLS works for encryption so we roll up our own" combined with "we don't believe transmitting data between servers so we use browser redirects to transmit packages between servers". Of course, SAML requires secure "metadata updates" which are transmitted over TLS so the security still depends on TLS!
The bad part is that it's *possible* to build a working system on SAML and that's why it has never been totally killed of even today.
OpenID Connect wins SAML in every possible way and is really easy to implement. And even OpenID Connect has extra crap like encoding data in base64 encoded JWT packages instead of simply using JSON to transmit data.
Thanks for the advice!
Hot take is so true. I keep saying if you just learn from react up or even better NextJS up then you have no concept of full stack….none. You can be phenomenal at NextJS/React without knowing a damn thing about how the app truly works. This would be great if you never ever had to go under the hood…yeaaaa……
dude I'm pretty sure that's the wework in Berlin Mitte
If I drink beer today. It will make me go back to it the day after.
Liked the outro/ last section
They didn’t teach me this in the boot camp
and this is why i will literally in any language from scripting to embedded to oop to functional to assembly but never anything that has JS in it
Rn im making a my own version of grep in go, it finds files, finds things in files. Can replace those patterns in files. Very fun. I hope I never become a webdev. Seems like most of the things you learn are inconsequential.
"making my own version of grep in go"
"I hope I never become a webdev. Seems like most of the things you learn are inconsequential."
Hm, interesting..
I think both of the things from the above 2 quotes are doing something equally inconsequential but are aimed at doing something because you like doing it. It may or may not help you.
With that said, it's up to the person to fall into framework hell and get overwhelmed with it, not people who write the frameworks.
You can get by and do just about anything with 1 or 2 libraries and ignore all of the buzzwords, and I think that's relevant in everything not just Javascript.
It's important not to take meme videos literally. He's making jokes, and does with many different things outside of webdev/javascript.
"A javascript piece of code under 1Mb". We'll that's easy. Use classic html, css and vanilla js or ts. Then on the other hand it might not be a huge problem since it's compressed and cached so you'll only get hit once. I use vanilla with simple stuff like rollup and scss most often and it's never been a problem. Totally agree on getting stuff done. Finishing a project is probably the hardest part.
having had less than 6 months of experience, I have no idea what's going on. I like whatever CSS and Javascript I have. I don't know what I'm missing and I'm keeping it that way
Was really hoping the end would be “The sigh-agen”
As a junior software dev who was struggling to pick a specialization I'm thankful to primagen for making me realize that web dev is 100% not for me.
javascript wasn't the exact reason why i quit programming after just a year in the industry, but it easily could have been.
nicely said. can't stop laughing at the truth being dropped.
"get the oauth library".. me: he talkin about fetch?