Now that Prime quit his job to focus on making videos, I'll have to quit my job to focus on watching Prime
@ij93758 ай бұрын
😂 Greatest comment of the year
@janhorak53638 ай бұрын
based
@ncpeaksean42788 ай бұрын
Prime is the goat of Internet
@bugzpodder8 ай бұрын
did he really quit his job?
@soundrightmusic8 ай бұрын
Makes sense
@octavioavila65487 ай бұрын
A lot of great tech entrepreneurs dropped out of Harvard, MIT, Stanford, etc. However, they also got accepted into Hardvard, MIT, Stanford, etc.
@tyrabjurman35846 ай бұрын
Getting accepted is just a matter of being born to the correct parents.
@BrainInAVat75 ай бұрын
@@tyrabjurman3584At Harvard, yes, MIT, no
@LPFan335 ай бұрын
@@tyrabjurman3584 oy vey you posted an antisemitic comment!
@EpicGamer-ny1fu5 ай бұрын
It's easy to get accepted into Harvard if your parents are super wealthy.. or you have a good memory.. but neither of those things make for a good developer
@uberboat45125 ай бұрын
@@tyrabjurman3584No. It's definitely more than just rich parents. I had very poor parents and made it to a t5 on full financial aid. Most people at my uni are extremely rich AND very talented AND hardworking (for the most part). It's alot of factors but I would agree that a large part is your life circumstances and luck.
@sandiprai13838 ай бұрын
Prime turns 4 min video into 31 min long. This is almost 10x developer and streamer 😅
@xpmon8 ай бұрын
He is a 6x developer
@mrmadhan85578 ай бұрын
÷10 developer
@plaintext72888 ай бұрын
@@mrmadhan8557faang level 🔥🔥🔥
@Kane01238 ай бұрын
Take a few more off since he loves agile. Confirmed in this video.
@web_alchemist_8 ай бұрын
Average autist activities
@me-low-key8 ай бұрын
prime calling frontend glue engineering and moments later getting hit by the same line for backend had me dying 😂
@mrmcpherson27228 ай бұрын
Hilarious!! 😂
@jasqui15128 ай бұрын
and lets be honest its the same for both depending on the context
@davidchavarriamendez90914 ай бұрын
We all are glue engineers. Even people who make new libraries use a set of libraries to create.
@hanvyj24 ай бұрын
Even the car analogy - you think engineers at BMW or whatever when they start making a new car go design an engine from scratch? Nah. It's all bolting together shit that's already been designed too.
@TheDoubleBee8 ай бұрын
"Pull request the size of Epst*in's list" - that's a killer line right there
@y00t00b3r8 ай бұрын
Epst*in's list didn't write itself.
@yegorzakharov85148 ай бұрын
@@y00t00b3rnot to worry, nowadays most code is written by GPTs anyway 😂
@jearsh8 ай бұрын
it's a banger of a line...but it's also rookie logic. people think that if you have a large app, and you break it into smaller parts, that you end up with the same size app but a million more pieces. maybe if all your code is procedural.
@portalteam58328 ай бұрын
the "aint nobody reviewing that" that you left out was the best part of it
@blarghblargh8 ай бұрын
@@jearsh if you're not writing procedural, you are doing yourself a disservice. Learn OO. Learn FP. Use procedural. Thank me later
@QuintonDolan8 ай бұрын
My experience from doing a CS degree decades ago, core subjects aside, even if you know more than the lecturers about some things, it fills in a lot of holes in your knowledge you don’t know about. Being self taught is great but you don’t know what you don’t know.
@JBatesProductions8 ай бұрын
Yeah comp sci and eng degrees are what people rail on when they don’t know what’s taught in those degrees. You don’t learn how to code in a degree, you learn fundamental building blocks and how to think about how to engineer projects. How to find efficient ways to solve problems, how to simulate and model, how to create project scope, how to identify key problems and hinge points in which your project could fail. Learning python for instance is a side effect or a subset of how to solve a problem, ie a means to an end. You can learn that shit on your own anyway. Hard to learn how to model a digital low pass filter so you can tackle it with code much easier; though.
@vulpixelful8 ай бұрын
Yep this was my experience working as a self-taught, developer and earning my CS degree while working. I was more effective pretty much immediately.
@MrSlowestD167 ай бұрын
I've worked with one (1) engineer who was self taught and good. Rest of the self taught people I've ran into in industry were interviewees who couldn't tell their head from their asses. I eventually stopped accepting resumes if they didn't have SOMETHING on there in terms of education outside of high school. At big companies these are generally filtered out.
@JasonEspin7 ай бұрын
Too many people without CS degrees entering the industry doing React and not knowing base JavaScript or Computer Science principles.
@AZEMBadlen7 ай бұрын
Reason why i didn't get into cs is because most of cs resources are on internet. Microelectronics is gate keeped as hard as it could so I choose that, I can always go and learn ASTs and stuff, but I can't learn how to grow GaN ingot.
@ObtecularPk8 ай бұрын
Candidate: yeh so this is how you build an engine.. Interviewer: but can you build an engine in reverse order?
@Kane01238 ай бұрын
Can you build an engine in such an order that you can drive it a little faster after each milestone?
@boratsagdiyev5228 ай бұрын
@@Kane0123hold my beer
@Vysair8 ай бұрын
"How about I interview instead, are you qualified to interview me?"
@CatwaiiYT8 ай бұрын
@@Vysairgenius right there
@JAODc-fo9gf4 ай бұрын
@@Vysair you smashed both his moral and the chances of getting the job
@redman_plus8 ай бұрын
I recently had an idea to have a coding interview structured like so: 1) Your company has a little dummy project in a currently used stack (maybe multiple projects so the interviewer can choose which one to use in the interview) 2) In each of a dummy projects you have some amount of small tickets, like ones you evaluate around 1 or 2 in the sprint planning 3) When the interview starts, the interviewer gives the person the project, lets him onboard for some amount of time (e.g 15 minutes) and then gives the person one of the tasks. 4) The goal of the interview is to not watch how well a given person studied his binary tree conversion, or how well he knows the nitty-gritty of given technologies, but how he actually WORKS and SOLVES the given task, which is what a technical interview should be doing in a first place. If anybody encountered a similar interview structure or (for some miracle) has it in their own company, please let me know, it would be interesting get some feedback on the idea
@Omi85283 ай бұрын
Won't work. 30 mins too little time to learn a realistic size codebase.
@Alex-rt3po2 ай бұрын
So interviewee does free labor?
@cushmfg2 ай бұрын
It’s basically how I got hired. We do a project that is take home, build a small web app that does like 2-3 things using whatever tooling you want. Then we did a code review. It was all very realistic tasks and self paced, no leetcode at all. Just questions about knowledge related to the stack we would be using, general software dev knowledge questions. Still here almost 5 years later.
@hiepn80622 ай бұрын
@@cushmfgdamn now i want to in too
@fleefie22 күн бұрын
This is how most engineers are hired in Europe. Except that's done through a school-sponsored internship, because you cannot work on any significant codebase in so little time.
@dezly-macauley8 ай бұрын
I was told if I learned Rust, Linux, and Neovim... I would have a moustache like Prime. It's been 6 months. STILL no moustache! #SCAMMED🤦🏿♂
@Excalibaard8 ай бұрын
You need a split keyboard to create space for the moustache to grow
@pyaehtetaung8 ай бұрын
😂
@adam78028 ай бұрын
Using the wrong flavour of linux is your problem. Where is your gentoo build?
@dezly-macauley8 ай бұрын
@@adam7802 I chose Arch because it's like Gentoo but you get to keep your sanity
@dezly-macauley8 ай бұрын
@@Excalibaard Arch Linux alone was supposed to turn me into a neckbeard. All I got is a chinstrap. 😔 Scam!!
@SerTony168 ай бұрын
I learned programming like a slow burn, and being able to combine knowledge of so many different technology concepts now is extremely valuable. Knowing Linux, networking, virtualization, security, scripting, THEN programming feels so much better.
@Donald-f5w6 ай бұрын
Im on the same path, currently focused on malware since its related to all of them, got good feelings about it
@williamrgrant8 ай бұрын
Clean Code was helpful, even instrumental, in my early years of SWE. I propose a rule to maintain society's sanity: *if you haven't read the book, be skeptical of hot-takes about the book* I have read (and re-read) Clean Code, so to follow my own rule, I'll just speak to that one. It is extremely simplistic to reduce the entire concept to a simple rule of "4 to 6 lines". I just flipped through the section on functions, and I couldn't actually find the "4-6 lines" rule anywhere. He does say they should be small as possible, but the main focus is on things like: - functions should do one thing - one level of abstraction per function - use descriptive names - limit the number of arguments as much as possible - limit unintuitive side effects These concepts are generally agreed on, with some nuance at the edges. It is sad how often "the baby is thrown out with the bath water" due to this telephone-game of influencers riffing off of lame takes that are super reduced versions of good ideas - to the point of not resembling the original.
@Logan91S8 ай бұрын
Clean Code is great. I read it often. It was the book that I read when I decided to make programming not only a job, but my art.
@SufianBabri8 ай бұрын
Best response to Prime's lame rants about the clean code. I'd rather read a call to a function called "checkCourseAvailability" than a complex-looking AND statement inside a "enrollStudentInCourse". Since we're reading code more than we are writing, avoiding these seemingly small issues has a huge impact when developers are strangled with deadlines which are neither reasonable nor proposed by the development team.
@rojastegulu8 ай бұрын
thank god, I just bought the book and was so turned off by the video LOL
@arkie878 ай бұрын
I think the main lesson is that any coding concept can be taken to the extreme. Dont blindly follow coding concepts. Only implement the rules if they make things better.
@SpeedfreakUK8 ай бұрын
How does he define “one thing”?
8 ай бұрын
The easiest way to have a consensus is to make everybody angry.
@brianviktor82128 ай бұрын
The problem is that there are too many people who prefer a safe route, or simply do not understand. I am working on a space combat/exploration game, and I have a certain vision for it. A LOT of parts have to harmonize for it to work. One friend suggested I scale it down to encompass maybe 10-30 solar systems, which I then populate well with content. This is not my vision. My vision is to have near infinite galaxies with billions of solar systems. To bring out the best of procedural generation I can, to avoid barren wastelands of boringness. I already know the problems, and they are well fixable. But players cannot simply move anywhere they want - FTL movement has its limits, which is resources and progression. To reach another galaxy, progression has to be very advanced - meaning you better have a capital ship. And once it is done, players could create galaxy crossing warp-gates. Anyway, the point is that I cannot let my vision be compromised by people who either do not understand it or dislike it. I have no choice but to be the decision maker. Any form of Democracy would bring death to my vision. As of now, it has a chance to achieve greatness or total failure... and the safe way leading to mediocrity is likely closer to failure than success.
@tisaconundrum8 ай бұрын
@@brianviktor8212 I agree to a certain extent with what you're saying, but the biggest problem with it is that you're going to lead yourself into burnout. The thing about compromise is that it gives you the ability to dictate and give parts of your project over to someone else while you can focus on the more important aspects. And I do think that your friend making a suggestion about going with 10 to 30 solar systems is a much better approach than trying to encompass such a broad stroke on something that you haven't even realized yet. What I think I mean to say is that if you've created an app and the app has zero users and you're trying to build the app to be scalable while still having zero users, what use is it to have an app that is scalable with still zero users?
@karmatraining8 ай бұрын
I'm only seeing facts
@ultimaxkom87288 ай бұрын
@@brianviktor8212 Why do you need near infinite galaxies with billions of solar systems? What is the goal here design-wise?
@brianviktor82128 ай бұрын
@@ultimaxkom8728 The idea is to create a near-infinite world. Think of Minecraft - even though the world is big, almost everybody resides within the x,y,z coordinates below 2000. What is important is that you can decide to move anywhere, and there will be something. Sometimes it will be something excelling, which may cause players/guilds (and NPCs) to fight for it. The additional galaxies serve as additional end-game content. It also extends this concept beyond the first galaxy. All except the main one will be special - more dangerous enemies, better/different resources, visual/structural differences. The algorithm will create something interesting. I already have the algorithms to create the main galaxy, so why not just reuse them?
@laughingvampire75558 ай бұрын
SCRUM has never been agile, is just recursive waterfall. Agile is about prioritizing people over process, and SCRUM is about prioritizing process over people. You should read the manifest and check how many of the statements do fit SCRUM.
@y00t00b3r8 ай бұрын
Valuable comment, thanks. I am not a fan of either, and I will likely never utter the word "agile" when advocating for anything. I've never liked it, but maybe it had become tainted by the carnival barkers from the very beginning decades ago. But "prioritizing people over process" is a phrase I will keep in my quiver. It's great as an ethic, all on it's own.
@thewhitefalcon85398 ай бұрын
But then also it's sometimes supposed to just be a starting point to build your own process but also nobody treats it like that
@kristianlavigne82708 ай бұрын
SCRUM is mostly just micro management. Deliver as much as quickly as possible with no consideration of technical debt 😂
@defeqel65378 ай бұрын
Scrum is also just a process framework, that should be customized for the team, but it's been turned into law, probably because Scrum Master go through training nowadays, but don't actually learn to be flexible, just to "follow the process"; very "middle-managemently"
@therealsunnyk8 ай бұрын
I don't think any of you understand what Scrum actually is. Scrum is a negotiation we lost before we started. A manifesto is nice and all but you can't write software through a manifesto. You need a process, and developers created one, and it involved stakeholders who were not developers, and the stakeholders immediately carved up their piece of the pie and then some, and we the devs were idiotic and took every single compromise. After being cucked by every other discipline we go back and blame the only bit of organising we as a field have actually done in this domain.
@dmytrooleinichenko98658 ай бұрын
I see a lot of blames around clean code... from the people who never read it. They possibly heard some concepts like "function should do one thing" or "function should be less then x lines of code" and take it to the absolute without any context which book provides.
@SM-ok3sz3 күн бұрын
But understanding context requires reading and reading is hard bro :( It’s easier to not learn something and have my decision reinforced by a streamer who has never worked a typical 9-5 dev job.
@ANONAAAAAAAAA8 ай бұрын
I personally value the experience of writing C compiler 100x more than random boot camps or software engineering degrees.
@pelayovalero13128 ай бұрын
My software engineering degree made me write a C compiler, and that was one of the best projects I ever did there. I don't know if it's common for other students in other degrees.
@cit01108 ай бұрын
@@pelayovalero1312i think compiler courses should be required in CS. I'm in my senior year it it's changing me.. this late. i wish i dove in earlier but honestly idk if i could do it without the structure and guidance of my TA and professor.
@meltygear59558 ай бұрын
"btw here's my boot dot dev link" - prime
@thesaintseiya8 ай бұрын
@@pelayovalero1312 I'm so jealous when I read people learned to do shit like this. I don't even know what was the point of my course besides learning about some obscure outdated tech that won't help me irl at all. was this a bachelors btw?
@blarghblargh8 ай бұрын
@@cit0110I didn't go to zee college, but I was under the impression the better programs made people pick implementing a bare metal OS or building a compiler
@OrphicPolytheist7 ай бұрын
I found that clean code helped me work with larger code bases such as those found in video games. It greatly reduced the time required to find which part of the code to look at to fix a bug, and managing the entire project. As a solo game developer I couldn't possibly manage the entire game by myself without it.
@ElvenSpellmaker8 ай бұрын
In the UK university is basically _just_ the subject you applied for. I was shocked when I heard American Universities do tons of side subjects that are not related to the main degree. Also while it's not needed to have a CS degree I can nearly _always_ tell when someone does and they're usually better / more well rounded.
@foreigngodx68 ай бұрын
UK bachelors is 3 years right? The extra 1 year in US is basically general subjects not related to degree.
@ElvenSpellmaker8 ай бұрын
@@foreigngodx6 Yeah it's 3 years
@sir_no_name14788 ай бұрын
Same in Germany. I found some subjects even here a bit off from what I want to learn and did not understand right away what he wanted to tell us. At first I thought he was talking about some kind of pre university degree.
@daredemoikari8 ай бұрын
in the US you get the "extra subjects" in the uni/college, because they don't do it in the high school like in most of Europe.
@-Jason-L8 ай бұрын
@daredemoikari ??? History? Foreign language? Umm, yes - we do have it in HS
@POLlyy238 ай бұрын
Listening to KZbin programmingfluencers is about as helpful towards becoming a programmer as listening to KZbin fitnessfluencers is about becoming fitter.
@sadiqshaikh87155 ай бұрын
fr, but what do you think is the best way to learn programming?
@patrikkarlsson95235 ай бұрын
Lifting is the best way to get stronger. Probably the same goes for programming. But what do I know, I'm not especially strong or smart.
@patrikkarlsson95235 ай бұрын
@@sadiqshaikh8715 i just felt like every day some new fittnessfluenser says a new method of training, eating, sleeping. Is the fastest and best way to get fit only to turn on it when the trend dies. Same seems to go for programming in my opinion.
@em00k4 ай бұрын
You’re not listening to learn how to code but discuss the topic of coding. It’s theory for the practical.
@patrikkarlsson95234 ай бұрын
@@em00kHow many of us have spent hours watching fitness channels for similar reasons and are still unfit?
@blocSonic8 ай бұрын
Context is everything. Hard/fast rules are usually based in some truth but fail to live up to hype because each project and each feature has its own context which will steer experienced engineers somewhere in between the "rule" and some opposite of that rule. However, rules are useful to learn when starting out. You can better "break" the rules once you've had some experience following them.
@retagainez8 ай бұрын
I always thought it was contradictory that he rants against basic ideas like trunk-based development, CI / CD, clean code, and pair programming for a guy who preaches that the beginning struggle is an important phase when learning a new topic (which he himself admits that the struggle might be more commonly avoided when you rely on LLMs). I suppose one might overlook this contradiction if you only take his videos with a grain of salt and a pound of entertainment.
@pflakon8 ай бұрын
this. it is like traffic laws. as a beginner, you have to learn and obey all. as you gain experience, you make adjustments, learn which ones you can take a bit more flexible or ignore in certain situations
@BadRobotXIII5 ай бұрын
Being a car guy who's built cars and a software dev, the term we use for glued together is "Bolt Ons". Anyone can bolt things together but not understanding the impact of what you are bolting nets you poor results.
@MordecroxАй бұрын
Reminds me of network certs enabling you to multiply your workforce by teaching a few basic guidelines based on the taught science. So field workers mostly know, cut this, untwist that, crimp like this, with no clear figure for how things are done this way. Then you plug the power meter, and graphs alone draw the figure, strangled cables, pairs too untwisted, you get the idea. Very few care to know why that actually matters (and the few who do, time is short) and think you're being a pedantic diva about your cables and got nothing better to do to inspect zip ties.
@headcode8 ай бұрын
13:10 - One alternative to leet code could be showing an actual code commit and asking the dev to do a code review on it. Include intentional but subtle mistakes to see what the candidate picks up on, and have him back up his comments by explaining why he'd leave that comment or why he'd let something go. Ask why he missed something, if he did. To me, having them do a PR live gives way more insight into a developer's mind than having them solve a leetcode problem which rarely ever reflects a real-world scenario. There are a ton of devs who could solve leetcode problems all day but couldn't do simple things like the proverbial "center a div."
@SidewaysCytlan8 ай бұрын
My favourite interview method: I tell the candidate "Bring a personal project that you've made yourself and that you're proud of. It doesn't matter what it is, it doesn't matter what language or what technologies you used. Bring something that you've made and that you're proud of, and we'll discuss your code." I don't care if they can or can't invert a binary tree on a whiteboard. Show me your code! It tells me far more about the candidate than any brain teaser question ever could (and why I insist on being a part of the interviewing process; I have yet to see HR hiring a good candidate on their own. They always hire the person with the flashiest resume, which is always a terrible candidate.) What if the candidate brings a project that isn't their own? Then they'll have a difficult time answering high-level questions about planning, workflows, problems, design decisions and further improvements. If I ask "Tell me about a problem you had when making this, and how you solved it", and they reply "I didn't have any problems", then that's a red flag.
@MrSlowestD167 ай бұрын
"I have yet to see HR hiring a good candidate on their own." - I have yet to see HR hiring ANYBODY on their own. What are you talking about? I've never heard of that - ever - hiring managers are always involved in the process, wtf.... There's tons of problems with bringing your own project. Best way to interview people is to ask them questions about what they'll be working on. Present them with real problems that you or a co-worker have run into, and discuss it with them, have them write some code to solve it, or do part of it, etc. Whether they can invert a binary tree is useless, true, but discussing a project they've worked on is only appropriate for a manager interview, it's not appropriate for proper technical interviews.
@haskellelephant8 ай бұрын
The agile manifesto was created at a meeting of "lightweight method leaders". One of these so called "light" methods was extreme programming. I feel like a lot of the current agile process schemes like SAFe just cannot be characterized as "lightweight" just by the amount of text required to describe it.
@chauchau08258 ай бұрын
one of the regrets by the people who cocreated Agile Manifesto is that they didn't trademark the term. At a result, everyone is able to abuse the term to scam people
@lyndog8 ай бұрын
You mean we shouldn't hire a new Agile Coach to change up all our processes every 3 years?
@NoX-5128 ай бұрын
@@chauchau0825More like, SCRUM people, amirite?
@defeqel65378 ай бұрын
SAFe is an atrocity; should be declared a human rights violation
@Veretax8 ай бұрын
What is Scrum is kind of a red herring because it is simultaneously a Schrodinger's Paradox of agile it on the surface may sound agile until you go to implement it and then observe it and then when you observe it you realize how it is it both is and is not agile at the same time
@jayjeckel8 ай бұрын
My cousin wanted to skip going to state college, instead starting his own business, and he tried that "Zuckerburg dropped out of Harvard" bit on his mom. She told him, fine, you can forget college and start your business as soon as you've also dropped out of Harvard. I laughed so hard.
@KRIGBERT8 ай бұрын
Most universities in Norway have a mandatory class called Examen Philosophicum where you get an introduction to philosophy - as well as one called Examen Facultatum that introduces you to the scholarly tradition of your faculty, they're half a semester each. They sound like a good alternative to what Prime had to take :p
@deenaxic91347 ай бұрын
Saying Computer Science degrees is a scam, is so funny. Computers are more than just writing a javascript file.
@maxmustermann55906 ай бұрын
This sentiment comes from the american educational system. People go hundrets of thousands in debt to get a confirmation of skill, thats unreliable at best. I don't think many people think getting university education and sound fundamentals at university is something bad at all. Haven't heard this sentiment here in germany, because it's free and actually about education and not about paying off a 'diploma and getting to know rich folk' fee.
@djunidvanmourik71346 ай бұрын
Yes you're right. But american education is very flawed. I live in the Netherlands and with our bachelors you immediately go into the subject matter of your major
@kylekinnear88784 ай бұрын
I used to feel like I was a little scammed doing CS, but now Im thinking the industry is generally underqualified and need less reliance on magic.
@valentinrafael92014 ай бұрын
It’s the US lens. JavaScript will get you a job quick, while going in debt will get you homeless quickly.
@QuangPham-gh5un2 ай бұрын
What they actually meant is some College degree from certain institutions is a scam. My College program actually taught us a lot on business analyst, requirements, market research and project management, it's actually more like a business degree with some programming sprinkled on.
@JimmayVV8 ай бұрын
We've had the debate about take-home tests vs whiteboards and if the take-home is designed to be done within 2 hours or less, how is that meaningfully different than asking someone to take an entire day off from work to do a whiteboard in front of their faces? A 2 hour take-home to then open yourself up for a more meaningful collaborative conversation about how to iterate on it from there I think is a perfect way to introduce a candidate to a team without adding the pressure of someone watching you reason about a problem in real time.
@binayakthakur51228 ай бұрын
For leetcode you literally have to prepare for months , no matter how busy you are they don't care if your college is over and you don't have bunch of free time with you ... While take home you can give literally 10 min each and get done with it
@Salantor8 ай бұрын
Companies out there will ask people with families and full-time job to provide a portfolio links and yet we are still talking about whether or not spending a few hours on a task is too much or not.
@dmitrygronsky28328 ай бұрын
Most of my "2-hour-take-homes, no reasons to worry brother" turned out to be 10+ h assignments
@dmitrygronsky28328 ай бұрын
And that's the way it should be, takeaway assignments trade psychological onsite pressure for offline complexity, you just cannot give an offline leetcode-like problem
@felixmoore67818 ай бұрын
I can't decipher your run-ons, so not really sure what you're saying, but you can easily cheat on 2-hour take-home challenges by not having a life and spending 20 hours on solving one.
@cariyaputta8 ай бұрын
"Money made including time being laid off average out to be equal working at McDonald" so true lol
@vulpixelful8 ай бұрын
This is really not true. Most software engineers are paid so that they could actually save regularly for layoffs, get decent severance packages for being laid off, and have a skill where they can be confident that they'll eventually get a high-paying job when they find another job. Most people who get laid off outside of our industry can't say the same.
@MrSlowestD167 ай бұрын
@@vulpixelful If you're getting laid off a lot, IDK what to say. It ISN'T that common. The fact that the video creator and this guy are saying it's happening all the time is a really interesting claim. Most engineers I know have been laid off MAYBE once....? I've never been laid off. And most others I know haven't ever been. It isn't common at all. But yes, you should be able to save, it is DEFINITELY not minimum wage income, I have nice cars & a solid amount of money & equity, people saying they get laid off all the time is absolutely nuts and I think it speaks more to the types of jobs people are taking than anything else.
@vulpixelful7 ай бұрын
@@MrSlowestD16 Who says I get laid off a lot? All I said was an engineer's salary allows them to save _on a regular basis_ (monthly, biweekly, whatever) so they would be more prepared for a layoff
@MrSlowestD167 ай бұрын
@@vulpixelful I meant "you" in a general context. I agree with what you're saying, I'm just adding onto that that the creator AND prime AND the OP all agreed with the notion of getting laid off a lot, and in my experience they're pretty rare, so if one finds themselves getting laid off a lot IMO they should look inward, not at the industry.
@steamer2k3198 ай бұрын
I have a phrase for the opposite of "locality of behavior". When you have to jump back and forth to try and understand what's going on, it's because "everything is defined somewhere else". The best reason to break some statements into their own function is because the same functionality is needed from multiple call sites. If you're just doing it for stylistic purposes, and not to avoid repeating yourself, yer probably doing it wrong. Use early returns / guard conditions to avoid deep nesting and then just let it be a couple hundred lines if that's what's needed.
@-Jason-L8 ай бұрын
Seperate intent from implementation details. Nothing is worse than wading through a few hundred lines of code to reverse engineer the devs intent.
@lyndog8 ай бұрын
100% this. That does mean some methods end up being a handful of lines long but the benefit is that the larger function is easy to read and understand. It's just pushing things down levels of abstraction so it's easier to reason about what is happening at that point in the code. It's analogous to saying "I drove to work", rather than describing in excruciating detail your whole journey to work. Sure you can get carried away with it, but it's just a case of using your better judgement and being pragmatic rather than dogmatic.
@steamer2k3198 ай бұрын
@@-Jason-L Use long, descriptive function names or doc-comments or commit notes for intent. If the dev couldn't communicate via that or variable names or test logic then functions for their own sake isn't going to help either. I usually care a lot more about what the code actually does than what the dev was hoping it would do, though. If the non-technical stake-holders (the ones who don't read code) can't tell you what the software is supposed to do, that's a much bigger problem than any code style issues.
@-Jason-L8 ай бұрын
@steamer2k319 that doesn't explain the actual logic. You have to reverse engineer the "algorithm" from the code - after 30 years in the profession, that is what i consider bad code.
@steamer2k3198 ай бұрын
@@andyk2181 Yeah. I've learned, especially when debugging/troubleshooting, not to trust a function to do what it says in the tin. However, if the definition is inlined, a lot of the time you can see the bug just by a quick reading of the code in e.g., the GitLab web UI without even having to fetch a local clone.
@RafaMakowski-lg7jn8 ай бұрын
Maybe I misunderstood Prime, but I don't think that LoB means that you put all code into single few-hundred lines long method like Prime seems to understand it. You still divide code into smaller methods for readability but put them in the same file so that everything needed is local to the core method. Extracting and giving a name to a meaningful portion of a long method eases reading and understanding a lot.
@HobbitJack117 күн бұрын
Another thing that can be done to keep locality is, if your methods have really good APIs, then you can sort of black box them away when you're reading through a given level of code, so you don't need to (re-)grok them on an initial (re-)read.
@laughingvampire75558 ай бұрын
Agile as it was defined originally by the people who signed the manifesto is 100% great, the gigantic problem is that managers co-opted the term to mean everything pointy haired bosses were doing in waterfall.
@krumbergify8 ай бұрын
Yes! Some of them even hesitate to continue using the term “Agile” because it has been so misshandled.
@thewhitefalcon85398 ай бұрын
No this happens with everything. It always sounds great and then you try to transfer it into the real world and it's less great. Always.
@dv_xl8 ай бұрын
@@thewhitefalcon8539I think by definition aglie is supposed to adjust to the real world by adjusting to the team using it.
@thewhitefalcon85398 ай бұрын
@@dv_xl which conveniently means the original manifesto can never be blamed for anything
@thewhitefalcon85398 ай бұрын
@@dv_xl everything is supposed to adjust to the real world too. I've never heard of something that wasn't.
@Trezker8 ай бұрын
Frontend? I remember s and table layouts. And we couldn't convince customers that "the web is not made to look they way you want, the tools don't exist, we have to cobble this together with sticks and ducttape". Or use flash...
@ivanjermakov8 ай бұрын
12:40 Interview alternative to leetcode is: few language knowledge questions (e.g. Java collections hierarchy) + system design (e.g. go through your thoughts on designing delivery app ) + code reviewing (give some project's PR and see what interviewee focuses on).
@Kane01238 ай бұрын
Code review… that’s an interesting idea.
@drakey66178 ай бұрын
Refactoring task is also a good one. Or giving the interviewee absolutely horrendous code and letting them explain it to you
@SkaiDragon8 ай бұрын
I agree, even take-home projects are better than leetcode. Why? It usually takes 6 months of practice to get good enough to be able to get a job. This means that you have to spend at least 1 hour each day for 6 months vs doing a 10h project. It is much better to ask relevant questions about programming languages/technologies and reviewing a PR is a good way to filter out coding monkeys who memorize leetcode problems.
@stormbread50964 ай бұрын
7:43 I completely agree!! At my university, I had to take many writing classes where I didn’t learn anything about computer science yet we didn’t have a web development course. They require us to take classes unrelated to computer science and math, yet they force us to learn web development on our own.
@ivanjermakov8 ай бұрын
20:50 What I love about Neovim is that personal setup and plugin development is literally the same thing. You can decouple your config and make it a plugin and in reverse. It's especially powerful when you can peek how plugins did the thing you try to configure.
@loganmedia11427 ай бұрын
Those methodologies that encouraged toxic open plan environments have a lot to answer for. In the old days we seldom had our own offices, but we at least had a semi-private area in which we each worked. Now there are no barriers and you sit so close together that you're almost on each other's laps.
@ceigey-au8 ай бұрын
In Australia we don't do the "year of general education" that US universities do - though there is plenty of space for that in your electives generally, so you have some freedom to learn interesting things that aren't 100% relevant to your major or minor. That said, I think the international study market is particularly interesting, because post-graduate degrees (like masters) are very popular, largely because they're a little more concise, but also because they open up international job opportunities too. I do agree with the sentiment that trade/tech schools might be a good fit for IT (and I think that education should still come with the same level of respect, employability and count towards migration for foreign workers). But that's something for society as a whole to sort out eventually.
@MementoMoriMementoVivere8817 ай бұрын
The amount of combined sarcasm, inside dev jokes and twitch humor truly drained my brain power. But I loved it.
@Altrue8 ай бұрын
I feel like we are being scammed by Prime here. "I have mixed feelings about leet code" => No, for the longest time you were fully FOR this "secret handshake that will get you employed".
@SandraWantsCoke8 ай бұрын
He always said he did not like it, but it's the way it is and if you want a job, then you need to do it. The necessary evil he sometimes called it.
@SlyElliot8 ай бұрын
@@SandraWantsCokebro has a clip where he writes a quick sort just to flex on chat
@DanDelarge8 ай бұрын
Making a quick sort is a flex?
@SlyElliot8 ай бұрын
@@DanDelarge strawman
@ekatlind10 күн бұрын
I’ve started the cyber defense and network administration programs at a local technical community college after I went to a university for graphic design for like 5 years without graduating. I worry I’ve made the right choice or not because there’s this idea that community college is for losers and two year degrees are useless. Your statements on two year degrees felt motivating. I’m working hard to actually complete this degree and then get certifications and maybe consider further education afterwards. I’m also considering taking a class on machine learning but I’m not sure if it’s worth it or if I should use that energy for something else.
@disguysn8 ай бұрын
I've actually talked to Uncle Bob at a Ruby conference years ago. I believe he got the 4-6 line number from working in Ruby on Rails. Usually those functions are very short and Ruby devs would get bent out of shape if you wrote longer controller functions.
@vulpixelful8 ай бұрын
And we probably got that from Erlang
@disguysn8 ай бұрын
@@vulpixelful yeah it's likely the Ruby community got it from somewhere else.
@TheGingrBeardMan7 ай бұрын
I had many interviews with candidates over the phone or video chat where it's obvious they browsing Google, SO or using AI to answer the questions. But my favorite interview, is one candidate who actually had the confidence, or maybe ignorance, to tell me "hold on, let me google that real quick." That was a short interview but I'll never forget it.
@MorningNapalm8 ай бұрын
Agile is a great 5-sentence idea turned into several books. The reality of agile turns agile into the thing that agile wanted to fix.
@mmmhorsesteaks8 ай бұрын
Just write good code. Doesn't have to be complicated.
@oscarhagman82478 ай бұрын
we actually have tradeschool for software development in my country, that's the path I took. 2 years of hands on development, it was great
@monkemode81283 ай бұрын
6:25 Imagine being part of a team where everyone is bilingual in Spansh and English and its not expected to change (say, you work in a team of translators). You're trying to figure out what language you should for your internal documention. You can choose Spanish or you can choose English, both will ~work~, however, a compromise where you alternate between Spanish and English in the same document is a horrible solution.
@HeraldoS28 ай бұрын
😅 Good to know I am not the only one calling for locality of behavior... One of the first open source project that I have read, lit. has 3 functions per file each always calling functions on different file all across +60 files and it is just an endless 🍝.
@AlizabelaRosa8 ай бұрын
the error handling and its logging is already 6 lines, but if we are talking about lines of work, short is better as long as it's not over-abstracted, you don't need a function to order a list for example, but if the abstraction is named well then you should be able to hold what it does in your head "let clients = getClientList()" gets the client list, if the client list is not being returned incorrectly that's as much depth as you need.
@williamrgrant8 ай бұрын
Whenever something goes from 'idea' to 'massive industry around training and certifying people to *correctly* implement that idea'. You're screwed.
@piptarou8 ай бұрын
Where I live (east coast Canada) community colleges are a bit different than the states and are considered trade schools. I'm just finishing my first year in programming and it's a two year course. I don't know anything about ABET accreditation, but it is a well-recognized college with locations all over the province. We cover pretty much everything you listed; Git has been required for handing in projects (started the second semester), we've learned both Windows and Linux, we've briefly delved into cloud computing, etc etc.. It's nice to get actual tangible skills. Edited to add: In order to actually graduate from the 2 year program you have to have a 5-week work term as well. Forcing you to go out and make connections in the industry and getting some minor industry experience.
@mattymattffs8 ай бұрын
Trade schools for programming exist... We hire from them a lot. It's usually a technical college, but it doesn't go low level. It's surface level, but it's good
@malcolmgdavis8 ай бұрын
Agile processes are modeled after those used by the US Military for Enterprise software development. The US Military and enterprises share a common problem: Who is the customer, and how do we satisfy the customer's needs? In a commercial software company, you know the customer, business model, engineering responsibilities, etc.
@herrquh8 ай бұрын
On the point about small functions: The 4-6 lines I think is arbitrary but it should be something like the function name describes what it does without seeing the entire implementation, and if the function is small enough then it's likely that the function name doesn't lie. So instead of reading 6 lines of code to know what is done you just read the function name and understand what it does. It's an aesthetic/readability choice more than anything. I don't think it conflicts with the LoB principle as I understand it from the HTMX explanation. You are still calling the functions locally. There isn't any invisible system assigning behavior. You explicitly call the behavior. It's visible locally, even if the full implementation isn't. Compare that to the HTMX example of jQuery where you have a section of HTML with no visible calls to anything, and a locally invisible system assigning behavior to it. You can't know that "button" calls "click" from just looking at the button declaration. The "better" from HTMX is a function call located on the button. In fact I think the HTMX explanation in their point "Surfacing Behaviour vs. Inlining Implementation" points to this. I might misunderstand it though. It's got Latin in there and I can barely understand English.
@matthewread90014 ай бұрын
9:55 My Software Engineering degree made us take a Compilers class and make a compiler OS class to make an OS Data Structures and algorithms class to implement these and then test them against each other much more hands on it was fun
@ercntreras8 ай бұрын
Agree 100% with you about DSA, kids never understand that 'cause they don't know how valuable it is but one day or another they will be in need to learn it if they want to grow and make the next step
@RoadToStrength-nv8ei7 ай бұрын
If you break a big function into smaller parts where each part does one logical thing on it's own, combined with good naming it can make it very easy to understand. So when you're reading the "parent" function that calls all the other functions it should all read like english. So that you understand at a high level what everything is doing. And then if you need to understand some detail, you just go to that one "child" function to understand. For example: parent calls validateUserData then it calls getResults then parseResults. That's a very easy way to structure things. However, in the real world there are times where you can't break everything down that easily and some people really suck at naming things or don't abstract at the right level making it really hard to understand everything as you're jumping around from function to function.
@Youtubeaccount-jw9eu8 ай бұрын
There's a trade school called 42 you might like to look into. It starts of with a 1 month boot camp, but the boot camp is just a selection process before you can truly join the school. The core curriculum lasts from 1 to 2 years and you can then stay longer to learn about more specific subjects
@Youtubeaccount-jw9eu8 ай бұрын
The school has no teachers and forces the students to learn by building projects and communicating with other students
@johnsitarski41588 ай бұрын
I have a friend who is in it now, and another friend who has gone in to help mentor the people there. I can see the progression in my friend and would say it's much more fast paced than a university CS degree. I'm more worried about them trying to find a job after especially I live in the city where 42 runs and know the job market pretty well now, unless they have connections to some small to med level companies it will still be hard to land your first gig without a classical university degree.
@ruysg8 ай бұрын
I did their "pool" or selection process. Wouldn't recommend it for anybody. Their teaching style is based on fear and leaving the students with vague and imprecise requirements, and then rejecting your assignments because you used stuff that's "not allowed". Then you ask them what's allowed, and they say that you should figure it out yourself. It was not an emotionally healthy experience. I still fail to see how throwing a bunch of beginners with no orientation into coding, give them no theoretical or partial guidance and then not let them use printf is some how a good teaching methods
@Youtubeaccount-jw9eu8 ай бұрын
I'm sorry it felt that way to you. The "pool" is complicated and the students from the years before are not allowed to help you during it as it would be unfair if you were helped and other candidates were not. As for using disallowed functions like printf, I think the goal is to make most students start off at a similar point since people that try to prepare for the "pool" will have learned about printf and not about syscalls like write. (The goal being to not give too much of an edge to people that have the time to prepare, for example if you have children you would not be able to prepare as much) It's also about learning about abstraction level since you start your education using C with only syscalls and then proceed to use higher level functions once you have a better understanding of the basics. I have do disagree with you when you say it is not indicated what functions you are allowed to use as they are clearly indicated in each exercises. The goal of throwing the students at problems without any ressources apart from a few videos is to see how good they are at finding information with nothing more than the internet and they fellow students. This is a skill that is necessary if you ever want to be able to create a project without the help of a tutorial or a mentor (English is not my first language, I hope this wasn't too hard to read)
@Youtubeaccount-jw9eu8 ай бұрын
@johnsitarski4158 To my knowledge all 42 schools are free for the students and sponsored by companies that invest money in the school to make students want to work for them, the sponsors may be a good start for your friend to look for a job if one of them works on projects that interest them
@tobix43747 ай бұрын
The 4-6 lines of code per function could be a remnant of old NASA coding guidelines for space-/aircrafts. They suggested that a function should be printable on a A4 sheet of paper with some specific fontsize.
@georgehelyar8 ай бұрын
Prime: The middle ground is where the worst ideas are from Also Prime: we should have something in the middle of bootcamps and degrees. Those unspecialised years at the start of US college do seem like a waste of time though. Most places don't do that.
@Mkoivuka4 ай бұрын
5:40: it's a common issue. The trap of thinking that small teams must communicate in a standardized way. So you end up with teams spending time doing stuff that has nothing to do with their core function. Reporting and documenting instead of solving problems. We see this in healthcare in the form of "structured medical records" which eat anywhere from 30 to 50 % of a doctor's daily working time.
@fabianmuhlberger61538 ай бұрын
I always understood CC as more of a guideline than a strict rule. And it's the cause for its controversy. It is generally solid advice but put to the extreme and making it a strict rule just hinders progress. And when organization is everything, there is a huge overhead on being creative and productive. I saw 1000 line 4 deep nested switch cases in production code from a big company, and we can agree that this is just garbage. It's all about finding the balance, and never about just following one advice. Read, learn and improve, but don't get stuck on advice. Best
@ccgamedes338 ай бұрын
The problem with unqualified (or the requirement to achieve) "locality of behavior" is "reference [un]transparency". That is the unsolicited state changes or "the pulling of the rung from underneath".
@yaminnather5218 ай бұрын
Tbh I feel people just think its cool to dunk on the books on Clean Architectures and SOLID(I read through only these two books). If you use the patterns to solve the problems when you need the benefits of it, it'll make more sense than following it word for word for word all the time every time and then complain that you have to type more or whatever. Yeah functions being only 4 lines is a dumb take lol, buttt there's still some good advice in them.
@TehKarmalizer8 ай бұрын
I would take 4 line functions over 4k line functions.
@climatechangedoesntbargain91408 ай бұрын
Small functions aren't that bad as well IF the functions are at the same abstraction level such that you don't have to switch to the individual function to understand one function
@defeqel65378 ай бұрын
It's another case where you need to actually know and understand the principles so you know when to apply them and when not to
@Salantor8 ай бұрын
The industry overhyped both books and way too many people were parroting them without deeper understanding or asking themselves if using them is the right thing to do, so now we are one the opposing end of the pendulum swing.
@Rob439558 ай бұрын
I don’t know why people focus on that the lines of code guideline the more important advice was functions should do one thing. It’s like a single sentence some disagree with and then they dismiss the whole book wtf. To be honest I find this anti-clean code and SOLID trend bizarre, why the hell would you throw away the best practise lessons learned with basically no justification.
@afhostie20 күн бұрын
10:01 Completely agree about changing schooling. I remember my first job feeling completely unprepared for it after graduating and dealt with impostor syndrome for a bit. Then after talking to a friend I was reminded that I got a computer science degree, not a programming degree, which is a great point. However, I totally agree with you that we could do so much more to make it better. Seeing those that went to boot camp it seems to leave them with such a rose-colored glasses view. It glosses over so many important details.
@deanschulze31298 ай бұрын
I first heard 4-6 lines of code in my first programming class using Pascal over 40 years ago. Uncle Bob didn't create that.
@ArturdeSousaRocha8 ай бұрын
That's the idea of locality in some way. I think clean code just went too hard on it.
@retagainez8 ай бұрын
It's just a meme at this point. I dont think anyone claims he made that kind of a conclusion besides people that are just trying to purposefully bait people.
@sk-sm9sh7 ай бұрын
@@ArturdeSousaRocha book has like hundreds of little advice that are pretty good. And yet people somehow only bother to talk about this one point about number of lines in function that so obviously depends so much on language and project that is being built and obviously if you have function that case a switch case in it with 100 switch clauses then obviously function can't be 4 lines long. Much better advice that can be found in the same book about functions is that functions should maintain single level of abstraction and that function's name should describe what it does. If you can write function that is 200 lines long and it maintains single level of abstraction and if you gave it name that perfectly summarize what it does then you are still following most of advice of the book.
@emmaeilefsen72148 ай бұрын
10:00 Norway actually just recently started offering a trade school course to become a "IT-developer" as a split path to the existing IT trade. Same structure as becoming an electrician! The first class is graduating this year, so its really exciting to see if it will start showing up in job listings as a qualification soon.
@Readraid_8 ай бұрын
4 minute video into 32 minutes reaction is a certified prime aging moment
@kuhluhOG8 ай бұрын
9:03 As a non-American, it's interesting to see what you do at college. In Germany we get e.g. our CS degrees at university or at Fachhochschulen (some translators say you can translate that as "technical college"). But we only do stuff for our degree there except if we voluntarily decide to do something else additionally. What Prime is talking about here is something we would do at the schools before that, e.g. the Gymnasium (one the schools you can go to after elementary school until 12th or 13th grade (we don't reset the counter)). 13:40 I like apprenticeships, also for programmer (notice, not Computer Scientists). But it's not a 6 month thing or something along these lines, it's a standardized multi-year apprenticeship (in case of programmers it's 3 years; yes, the same system exists for all kinds of jobs) where companies and job schools work together (with you working for some time at a company and studying for some time at school) which you do when you are fresh out of school (normally). You also get a certificate afterwards (so you can apply at different companies) and normally also get hired by the company you made your apprenticeship at. And you don't do some specific technology in that time, but more generalized.
@Alex-lu4po8 ай бұрын
I wanted to comment that as well
@natescode8 ай бұрын
American, that's what I did. 2 year technically college ONLY programming classes. No debt either. That was 10 years ago now
@loganmedia11427 ай бұрын
Languages that don't indicate types are the worst when everything is split into many little functions. You have no idea what the function being called returns until you dig into its code, and the code it calls, and so on through 50 layers of function calls.
@dlbike768 ай бұрын
The VIM discussion is reminiscent of the old VIM vs EMACS wars
@nox52827 ай бұрын
I started programming in high school, been working in the industry 5 years I’m over 30. It’s ridiculous but I lost my passion but also ability to actually program. Seems day to day work has degraded my skills. I’m now rediscovering the joy, by starting to program without expectation. Take a problem / goal Break it down as much as you can Google things you cannot figure out on the top of your head. Build, build and build some more. Yes I know design patterns, database management, scrum, tdd, devops, etc, yet I freaken forgot how to just program
@khatdubell8 ай бұрын
LoB is the polar opposite of clean code. You're wrong. They go together like a horse and carriage.
@defipunk7 ай бұрын
Regarding interviewing and hiring: people used to work for just one company for their life. If companies didn't force people to keep hopping for career advancement or salary, ANY interviewing process would be fine and acceptable, because it's a once or twice thing in your life.
@eXit-ubermensch8 ай бұрын
Clean Code was an amazing book that helped me tremendously
@Wez_wolfАй бұрын
Don't have any official coding certs but been working as a dev for 8 years. Built things as hobby, front end, backend, game dev etc.. Yt and Google as tutors. Still learning everyday.
@SuubUWU8 ай бұрын
The issue with "Probably shit company and you probably didn't want to work there anywhere" is that the alternative is flipping burgers for minimum wage or breaking a back for $17 in a warehouse. I'd rather work at that shit company for a year just to get some experience under my belt and I know there are many of us where this is the reality. We don't have parents to fall back on, rent and insurance is due; we need a job just to survive and look for another job.
@rusi62198 ай бұрын
Insurance is pure extortion
@jeffwells6418 ай бұрын
@@rusi6219 It's not pure extortion. It's only mostly extortion.
@maciejglinski65648 ай бұрын
@@rusi6219 get ready to hear about rent
@rusi62198 ай бұрын
@@maciejglinski6564 at least with rent you enter a contract and it isn't imposed upon you
@samhopkins1456Ай бұрын
there is no other job where you have to pass a test to get hired. your resume should say whether you are qualified or not.
@yahi068 ай бұрын
I don't understand design pattern, and I have to protect Jr from understanding it!
@puffinbasher8 ай бұрын
Intentionally hard apps do exist. Well, one does. Oracle query designer for finance. It litterally got sent back to dev, due to "design is overly accessible, to the point we belive it will reduce contracting oppertunities". 6 of the team of nine walked before the end of the day
@meltygear59558 ай бұрын
Blows my mind how software engineers will soon discover how apprenticeship was always the solution, and they were merely blinded by their own arrogance to admit it.
@granitetie8 ай бұрын
Hard disagree here. I’ve worked with engineers in high school who were more productive after one week than engineers with multiple years of experience. The difference is their ability to break problems down and that’s a something I want to figure out before I hire and invest time in them.
@Al_L.3 ай бұрын
"6 months apprenticeship, no way" in Europe it is MANDATORY to do so if you want your Bs/Associate's
@RA-xx4mz8 ай бұрын
My dad was one of the best mechanics out there. Top tier mechanic at a top tier rolls Royce/jag shop in Beverly Hills. Dude has built engines. It was also taught how to do it in the 80’s at his trade school.
@cajunguy65028 ай бұрын
I was looking at a local junior college with my son, they had all kinds of great tech centric majors. The networking degree has Net+ and CCNA built into the program. The certs are worth more than the Associates degree that they come with! This is a good sweet spot, I think. Learn a vital skill without completing sacrificing the educational value of a core compliant college.
@SeaBike0078 ай бұрын
@ 1:50, @ThePrimeTime is incorrect about the premise that Uncle Bob has a hard suggestion of 4-6 lines. That is not what the book says, that is not Uncle Bobs suggestion. Without correct premises, it's a straw man argument. There are a lot of valid & insightful criticisms of clean code, but those start with a correct premise. The book says (page 34): "The first rule of functions is that they should be small. The second rule of functions is that they should be smaller than that." A bit further on the same page, as an *example*, the book states: "Every function in this program was just two, or three, or four lines long. Each was transparently obvious. Each told a story. And each led you to the next in a compelling order. That’s how short your functions should be!" The advice on function length is that functions should be as small as possible in order that they are transparently obvious and tell a single cohesive story (and to get there, they in effect need to be short). That is _not_ a flat statement that all functions should be 4-6 lines long. There is both a distinction and difference there. Personally, I think there are a lot of caveats to that advice and it's a deeper story. I think there are elements of that sentiment that are good. More is needed though for it to really be good advice.
@markgraybill7375 ай бұрын
Uncle Bob's work has got me to think, but by the time he published it I had a couple of decades of learning the hard way. Pragmatics usually rules and hard rules drool.
@TheFoyer138 ай бұрын
As a gear head and a software engineer, you couldn't be more right about that analogy, nailed it.
@paladinsorcerer6710 минут бұрын
Instead of buying a System 76 Laptop with Linux pre-loaded, I bought a Dell Inspiron laptop and I installed Ubuntu Linux, overwriting windows. I anticipated there being issues to overcome when I tried this. However, it turned out to be fairly straightforward with no reall issues to speak of. So now I have a linux laptop and I didnt have to shell out big bucks for it.
@RickYorgason8 ай бұрын
Canadian colleges are basically the trade school you're asking for. Note: in Canada, colleges and universities are different.
@frydac8 ай бұрын
I've read design patterns (GOF) and most of uncle bob's books. I learned a lot from them, you don't have to agree and use all of it.. the books themselves tell you that, it is not gospel/dogma. At the very least they are thought provoking, and contain many interesting idea's, when applied with thought can work in the right circumstances. Like the 4to6 lines is really over the top in most circumstances, but most students for example, just write one big function for basically the whole program, and I've seen professionals do that too. I did that too when I was a student, and you learn to split your code in reusable functions. But you I didn't really think about it, when i then read about SOLID and think about having one level of abstraction in a function, that makes sense and helps me think about how to design my functions in a way that they are more easy to name and understand. Anyway, content like this is mostly created to be popular and get engagement, and I got baited.
@thought-provoker8 ай бұрын
_"Agile is communism."_ True on so many levels. Even to the point that back in 2013, I was in a Scrum training and people brought up the concept of identical paychecks for everyone. I was baffled: "So someone with 20 years of experience should get the same as a college fresher?" - "Yes, _because in the Complex you don't know who contributed how much, and a team succeeds as a whole."_ But some are more equal: _"The Scrum Master should always get more salary than the highest-paid developer."_ If your BS detectors aren't tingling by now, you may need to see a psychiatrist. There's so much nonsense going on in the Agile space, and it's really hard for an outsider to see whether you're getting taken for a ride. Disclaimer: I spent over 10 years as an Agile Coach/Consultant.
@andythedishwasher11178 ай бұрын
I honestly feel like senior devs at companies who are hiring software developers should write specific tests relating to the subject material their company deals with on the daily. That will give way more relevant information about whether or not the candidate thinks about the problems at hand in a helpful way and has a sufficient amount of relevant background knowledge to get up to speed quickly.
@LucasCordeiroSimao8 ай бұрын
Came faster than Prime configuring another Vim macro
@BrunodeSouzaLino8 ай бұрын
The moment programming stopped being about solving problems and started becoming about buzzwords and jargon, it's gone downhill from there.
@sasakanjuh76608 ай бұрын
I don't think function should be measured by the number of lines, but rather "logical units" they accomplish.. I totally agree, worked on a project that has a LOT of super tiny functions and in the "main" one all you do is bouncing around reading other functions "recursively".. I don't think human brain is design to handle such a level of inception..
@omaryasser-15 ай бұрын
🎯 Key points for quick navigation: 00:26 *🛡️ Software engineering scams and misconceptions* - Exploring common scams and misconceptions in software engineering, including clean code, Agile development, and CS degrees. - Highlighting the controversial views on practices like clean code and Agile manifesto. - Discussing the societal impact and developer perceptions of these practices. 02:05 *🧩 Locality of behavior in code design* - Emphasizing the concept of locality of behavior in code design as a contrast to arbitrary rules like function length limits. - Advocating for maintaining code clarity and ease of understanding through effective design principles. - Critiquing rigid coding guidelines and proposing practical alternatives for code maintainability. 03:55 *📜 Agile manifesto and its impact* - Analyzing the influence and controversies surrounding the Agile manifesto in software development. - Discussing the benefits and drawbacks of Agile methodologies across different team structures. - Critiquing the universal application of Agile principles and its adaptability in modern software engineering. 06:43 *🎓 Higher education and its relevance in tech careers* - Criticizing traditional CS degrees and proposing alternatives such as trade school-like programs for programming. - Debating the value of broad education requirements versus specialized technical training in computer science. - Exploring societal and economic implications of current educational paths for aspiring software engineers. 11:24 *🔄 Challenges in career paths for software engineers* - Addressing the complexities and varied paths in software engineering careers, contrasting with more linear career trajectories in other professions. - Critiquing the role of platforms like LeetCode in technical interviews and their impact on hiring practices. - Discussing alternative approaches to assessing technical skills in job interviews, highlighting the controversies and practical implications. 20:09 *📝 Vim and Neovim Productivity* - Neovim customization allows deep tool personalization. - Vim motions are highlighted for efficient text editing. - Arguments for using Vim in modern development environments. 21:32 *🎮 Tech Industry Realities* - Criticism of developer culture and productivity obsession. - Insights on job security and industry expectations. - Satirical take on trends like expensive tech gadgets. 22:59 *🌐 Learning to Code and Career Realities* - Critique of "everyone should learn to code" rhetoric. - Discussion on effort required for programming proficiency. - Realities of career success versus societal pressure. 24:16 *🎓 Dropout Culture in Tech* - Critique of glorifying tech dropouts like Mark Zuckerberg. - Discussion on privilege and parental support in tech success. - Humorous take on educational backgrounds and success. 26:26 *📚 Software Engineering Practices* - Criticism of software design patterns and their practicality. - Views on code performance and its impact on development. - Contrasting views on UX design and user research. 29:40 *🧠 Importance of UX Design* - Importance of qualitative and quantitative research in UX. - Challenges of defining good UX versus popular perception. - Considerations for UX in different company sizes. Made with HARPA AI
@alessiozamboni46948 ай бұрын
What you need to learn is more a matter of how you want your citizens to be. If the educational system wants to produce people with decent background knowledge who can adapt to different situations, you need broad knowledge; otherwise, you end up in a society where everyone is a dumb technician who is excellent at doing a single task but needs a considerable effort to be relocated to other tasks and can be easily fooled by media and politics because they don't know anything about history, geopolitics, and so on.
@tonywtyt8 ай бұрын
The problem in my org was we had a daily scrum and the beginning minutes were spent recapping the release schedule and other "already should know" topics, like making sure you completed your annual briefings requirements or annual security training courses. This was for a very small group of people with only 3 developers that were working on their own separate projects. Some folk would bring up topics that would stretch the meeting out past the allotted time. For me, I knew what I needed to do and I would have to get past this time to concentrate on my job.
@andrearaimondi8823 ай бұрын
The idea of tiny functions (4-6 lines) is twofold: 1) breaking up big functions into tiny ones allows you to compose them potentially in more than one way, ie allowing you to reuse the code for other things where maybe you don’t need all of it 2) Naming: instead of having a bunch of code you can use proper names to illustrate what the code is doing However, as you say, it’s not a hard and fast rule
7 ай бұрын
Some time ago I joined to a small team working on a new project. The main architect of that software, while being a very skilled programmer with good technical insights, clearly subscribed fully to the clean code principle. Trying to figure out even the most simplest business logic units required trawling through many classes in several files across two separate libraries that cross referenced each other. Trying to figure out what happened on a simple request could easily take an hour and more complex request were almost indecipherable. I ended up burning out (for real), and I've still not fully recovered from it (tbh that wasn't the full reason, just the straw that broke the camel's back).
@pockerface95055 ай бұрын
About the college thing, I think one of the biggest problems is finding good teachers. Usually CS teachers are good teachers, not good software engineers, so they don't know how the industry actually work now.