SWE Stop Learning - The Rise Of Expert Beginners

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
all right how developers stop learning the rise of the expert beginner we call these influencers oh damn look at this I click one page and I'm back at the turd Brown we're back at turd Brown let's go let's go turd Brown all right the rise let's see beyond the Dead Sea when good software groups go bad okay okay I recently posted what turned out to be a pretty popular post called how to keep your best programmers in which I described what most skilled programmers tend to want in a job and why they leave if they don't get it okay okay I mean that sounds that sounds like a great I I I wonder if I align with that today I'd like to make a post that works toward a focus on a software group at an organization rather than one on an individual journeys of developers as they move within or among organizations this post become uh post became long enough as I was writing it that I felt I had to break it into at least two pieces this is part one okay okay in the previous post I mentioned uh I linked to Bruce Webster's Dead Sea effect post which describes a trend whereby the most talented Developers tend to be the most marketable and thus the ones most likely to leave for greener pastures when things go a little sour on the other hand the least talented developers are more likely to stay stay put since they'll have a hard time convincing other companies to hire them damn the Dead Sea effect I mean that really is just such a just a I mean you got to feel at least a little bit bad about about just calling a group of developers you're like yeah that's the Dead Sea over there you see those guys over there Dead Sea nothing living could float a lawn chair on it absolutely buoyant filled with salt terrible is this me 2x gang junk man are my old Enterprise company gang yeah this serves as an important perspective for understanding why it's common to find people with titles like super duper senior why's coming to find people with titles like super duper senior principal fellow architect awesome dude who makes a lot of money and perhaps even uh wield a lot of authority but aren't very good at what they do I've worked I've I've I've worked in this I've worked in that and it was emotionally bruising I just want to see somebody get on the keyboard and make something okay for me that's how I know you're a super duper principal fellow architect awesome dude is that you can actually make something uh but that perspective still focuses on the individual it explains the group only if they assume that a bad group is the result of a number of these individuals happening to work in the same place or possibly that conditions are so bad that they drive everyone except these people away so beautiful drawing it's a beautiful drawing right there so smug such smug absolutely beautiful I believe that there is a unique group dynamic that forms and causes the rot of sofware groups in a way that can't be explained by bad external decisions causing The Talented developers to evaporate make no mistake I believe that Bruce's dead SE effect is both the Catalyst for and The Logical outcome of this Dynamic but I believe that some magic has to happen within the group to transmute external Stu uh St stupidities into internal pervasive software group incompetence so my personal experience with this isn't I think I understand what's happening here but my personal experience goes something along the lines of Technology X is really exciting people feel very excited about technology X there's somebody there that's just a really slick talker that can really convince people of a position or a stance they take slick talker X and they give him Authority he convinces everybody gets the stakeholders and everything next thing you know you're using new technology whatever new technology is and then you start building on top of it and it causes such swirl and difficulty and then eventually people start leaving a good example of this really was um gosh uh reactive streams is that is that did I get this right I want to say I got this one correct I'm I'm Maybe I'm Wrong maybe it's not called reactive streams gosh what was it called it must not be called reactive streams I was a contributor on it so I know it's not and I don't recognize any of these any of these contributors so it can't be that in fact it makes me think that there might have been some purging going on here anyways um gosh what is it called it had the word reactive in it for sure um but anyways it was this idea that you could somehow model all of your applications like Transformations and drive everything from the server with like a generalized protocol which in some sense is not a bad idea but the problem is is that it fundamentally missteps one thing which is that the server should just drive the app completely as opposed to just having like the app have this super complicated front end and which is driven by this knowledge on the back end and it just it just kept going and I spent so much time on it and so many people spend so much time on it and then people stopped wanting to work this was a Netflix ISM by the way and people just stopped wanting to work on it and it's all because one person could convince everybody how important it is to have back pressure and reactivity and all the fancy words so I've seen that I've seen that I've seen the Dead Sea effect uh in the next post uh let's see in the next Post in the series I'm going to describe the mechanism by which some software groups tend toward dysfunction and professional toxicity in this post I'm going to set the stage by describing how individuals opt into permanent mediocrity uh and reap the rewards for doing so so or for doing so learning to Bowl before I got uh to any of that I'd like to R treat you with the history of my bowling game yes I'm serious I'm fairly athletic person doubt you you can't just call yourself a yeah I'm a you know PR I got I got a touch of athleticism growing up I was was picked at least in the top third or so of any people for any sport or game that was being played damn kids kids were giling us with the with with the grade school Antics right there no matter what it was I was a jack of all trades and a master of none this inspired me in a sort of a mildly inappropriate feeling of entitlement to skill without a lot of effort and so uh it went when I became a bowler most people who Bowl put the thumb and two fingers in the ball and carefully call cultivate tossing the ball okay before he keeps on going I already know where this is going he only puts two fingers in and gives it some spin baby uh that's what I do of course I dude I I feel akin to this article so far right here and Care carefully carefully cultivate tossing the bowling ball in a pattern that causes the ball to start wide and hook into the middle with no patience for learning I discovered that I could do a pretty good job by Faking It by putting no F let's see by putting no fingers and let's see and thumbs in the ball and kind of twisting my elbow and chucking the ball on the lane let's go bowling on at our next terminal stop meet up and the entire thing like losers let's do it palming palming a pink eight pounder and throwing it dude that's that's me it wasn't pretty but it worked it actually worked pretty well the more I bowled and when I started to play in an afterwork league for fun my average really started to shoot up I wasn't the best in the league by any stretch there were several Bowlers including my former manager of mine who averaged between 170 and 200 but I rocketed past 1304 and all the way up to 160 range within a few months of playing not too shabby but then a strange thing happened I stopped improving right about 160 I topped out I asked my old manager what I could do to get back on track with Improvement and he said something very interesting to me paraphrasing he said something like this there's nothing you can do to improve as long as you keep bowling like that you've maxed out if you want to get better you're going to have to learn to bowl properly you need a different ball a different style of throwing it and you need to put a fing let's you need to put fingers in in it like a big boy I'm sure there's a that's what she said joke somewhere within this statement uh and the worst part is that you're going to get way worse before you get better and it will be a good bit of time before you get back and surpass your current average hey let's go bowling uh I resisted this for a while but got bored by the way this is such a good piece of advice there's like all these things you have to do like there's a bunch of naturally talented people that get good at specific like very high touch activities bowling I'd put it in a high touch activity just like golf like golf is something that you just have to you just have to swing 10,000 times to be okay at golf you have to swing another 10,000 times just to be mediocre at golf right to be great at golf you have to swing like 10,000 times a year every year for like the next 20 years it's crazy how hard it is to be good at golf and so it's like I totally get this like you can you can go in there and have a bit of natural talent but the moment you want to go from natural talent to great you have to like conform you know in to a certain pattern of play you got to just put your fingers in it like a big boy I resisted this for a while but I got bored with my lack of improvement and stagnation a personal tradeit of mine I absolutely need to be working toward Mastery or I go insane feel that I feel that hard I feel that my little kids are playing in the shop so I can hear them playing out there uh golf is a sport for old people golf is hard and I resigned myself to the harder course I bought a bowling ball had it custom drilled and started to bowl properly ironically I left that job almost immediately after doing that having bold probably eight times uh in the year since [Laughter] but not only did not only did he go over not only did he get all the stuff all set up to be that he then leaves the job which by leaving the job also breaks up with the activity that's pretty funny uh I don't know I don't know what CS love means I suppose when I do go I never have to rent bowling shoes or sift through the alley balls for one that fit my fingers deis rapid returns and Arrested Development uh in 1980 a couple of Brothers with the last name of draus proposed a model of skill acquisition that had gone on to have a fair bit of influence on discussing about learning process and practice later on it would go to a published book based on this paper and that book would uh refine the model a bit to its current form as shown on Wikipedia the model lists five uh phases of skill acquisition novice Advanced beginner competent proficient expert there's obviously a lot to it since it takes an entire book to describe it but the gist of the skill uh acquirers move from dogmatic following of the rules and lack of big picture to intuitive transcending of rules and complete understanding of the big picture I like that the hidden knowledge right because there's all these things that you do like everything that you do especially in programming it's there's you know because this is the whole like it depends this is why that that statement is so frustrating because it depends is just highlighting the fact that there's not really really a concrete answer ever to anything and so people often use that as a measurement to make shitty decisions because you can just say it depends it depends the ultimate Swiss army knife of making great and terrible decisions at the exact same time right and so like I break rules with programming and I know that I'm breaking rules with programming and it's for good reason and then I often live to regret it like one easy rule I have in programming is just never use the keyword extends in a language that allows for the keyword extends and every now and then I just feel like this is the time this is the one time that I know that extends will work in my favor and then I use it and so far I've lived to regret it every single time but I feel like I can transcend the rules and there is I feel like there is a time where I'm going to use extends properly and it's going to feel so good it's just going to it's just going to feel so good I just know it it's going to happen programming food public Bar programming is about compromises it is composition over inheritance I know but there's always that one time you want you want it to work there's that one time where inheritance actually seems to make sense on paper this feels I feel this too much I feel this phrase too much all things being equal one might assume that there is some sort of natural linear advancement through these phases like are earning belts in karate or money in a corporate world but in reality it doesn't shake out uh that way due to both perception and attitude at the moment one starts acquiring skills one is completely incompetent which triggers an initial period of frustration and being stymied ain't that a fact I remember my first I still remember remember trying to understand how a class works and the amount of time I spent trying to learn how to program it honestly was I felt stupid I felt like I wasn't capable of learning how to I honestly felt like I wasn't capable of learning how to program by the way this is the craziest statement I've ever read in my entire lifetime this is something that nobody has ever said I've I don't think I've ever seen anyone say this uh single inheritance is terrible multiple inheritance is amazing I don't think I've ever seen someone say that unironically I have never I've never seen someone be like you know what's better than single inheritance multiple inheritance I wish I could get multiple inheritances so do I while waiting for someone like an instructor to spoon feed proc uh process steps to the acquirer or else as draus and draus put it they like a baby pick up the imitation and floundering you know this okay so this is my big worry about uh AI is that AI um I think AI is going to create a generation of programmers that have learned helplessness this dude is cooking a long time I agree and that's a huge internal worry of mine let me let me let me explain why is that the process of coming up with how you you should solve a problem is problem solving in itself and it's a very difficult skill to have your ability to see from point A to point C in a short period of time and then not only see what you need to do but take that in more morph it into something that is an actual solution and then turn it from your head into something that the computer can understand is such a huge huge huge like requirement for any software engineer to get great and so I I my big worry with AI is that it shortcuts that because it it allows you to Bounce It Off somebody that always is suggesting you always allow yourself just to not really put in that critical thought and I I'm I'm very worried about that I'm a college student right now and it's crazy how many peers seem helpless and can't solve uh can't problem solve I I do think that there's going to be a a massive hole in the market coming up here soon typically like Bob Martin talks about this Robert Martin Robert C Martin Uncle Bob he talks about the whole in every five years the amount of software Engineers doubles and he cited this as this was something I'm not sure if it actually has continued add inin item or if it will continue obviously it can't keep continuing for so long but you get the idea that every so many years some amount of people stop and a larger amount of people join in because it's just a growing field still so therefore it's really easy you know it's probably slowed down let's let's just say that you know uh see let's just say let's just say this I think this is probably uh fair to say I think it's probably fair to say that there is going to be x uh you know some sort of uh some sort of c0 constant that are leaving and some sort of C1 that's joining and C1 is probably going to be larger than c0 and so we're always in a we're right now in a growing population and that growing population in the next 5 years is going to become a pretty decent amount of the overall portion of software engineering whatever whatever that whatever that equals right they could be this huge chunk and they're going to only grow up in a world in which they know AI as how they start the process of solving a problem and this for me causes some pretty serious I think effects uh learned uh helplessness is such a big problem uh for more novice programmers already I'm currently dealing with two recent hires both of them have an incredibly hard time without co-pilot they don't know how to use stack Overflow to their advantage if it's not something they can copy paste they deem the problem unsolvable you know like I I mean I I do get it I I do think there is something very magical to the process of saying I want to build something and just hacking your way to a solution I think there's a I think there's something very very good BME tell me how to fix my learned helplessness uh Dr Dro you got to go ahead Dr you're now on the big you're now on the big board go ahead please tell us how why why is that why why is AI the same thing as Google in the 20 in the early 2000s think about putting your fingers in it like a big boy hey this is a Christian stream sir come on people in the past also thought Google uh Googling will replace knowledge Source AI can't do it so as much people in the past did not think it so at all in any sort of level as AI I mean that that's such a silly that's such a silly thing and and Googling did change there I I just don't think that that's I just don't think that's the case yeah they did not think that Source I was there I was there as well I don't remember any of these things Google was looked at as a way to find information faster and that is it yeah well yes I mean the whole AGI thing it doesn't make any sense doesn't it depend on how you uh use your AI tool I still think everybody needs to take a moment and see if you have the co-pilot po disable co-pilot start writing code and watch your own brain shut down right watch your brain shut down and watch yourself not use your own brain but wait on something to tell you you generally know what you want and so you wait I had a strong co-pilot pause right I had a strong one co-pilot is basically spoon feeding it's it's a real thing you you like stop engaging your brain jokes on you I turned off co-pilot a couple hours after yeah kept pissing me off yeah most of chat has regular brain leg they don't need co-pilot for that damn TJ anyways I mean I loved co-pilot don't get me wrong I still remember the magic of it I actually want to create a main Channel video for this cuz I feel so passionate about this because I do think that there's a lot of I think there's a lot of promise I don't know anyways we can we can pick back up I I'm worried about the Learned helplessness after a relatively short phase of being a complete uh initiate however one reaches a point where the skill acquisition becomes possible as a solo activity via practice uh and renewed and invigor acquirer begins to improve quite rapidly as he or she picks up low hanging fruit I think this should be step one I don't see how this is not step one of program this is my step one when I said I want to learn how to program the first thing the first thing I thought about was I want to be able to build a game and so it's like the the step one was me getting Java applets to run in the browser step two was learning about double buffers and and and making up my own physics step three was actually making a small little game like I don't see how this isn't step one of any of any programmer right because that's the point of programming like that's what I wor that so that's the whole like learned helplessness slash you feel like you can only imitate you feel like you can't find answers you feel like all these things is because you don't have you don't have this like drive to solve the thing option paralysis probably yeah know but again that's like this this problem with this drive like you option paralysis should not exist you should just pick pick anything pick something right how do you uh how do you just stop from copy pasting the solutions uh to write your own version of the game because there was no Solutions I wanted I wanted to write things myself right I want to write things myself once all that fruit is picked however the unsustainably rapid pace of improvement levels of somewhat let's see levels off somewhat and further proficiency becomes relatively difficult from there forward I've created a graph depicting uh this in which actually took me an embarrassing long time because I messed around with plotting a variant of the logistic one over one e minus X function instead of just drawing a line and paint like a normal human being you could have just dude you could have just done an inverse tangent baby um all right look at that bad boy all right this is real this is real uh this time the exact path uh okay so someone just asked how do I avoid just copy and pasting the solution right now if you look at the Doom game that the Doom thing that we're building the Doom thing we're building I'm building out all the stuff I'm building out our own uh our own quad trees right here our own quad trees our own iterators our own stride our own everything and why am I doing this all I'm doing it because I I wanted to do it okay so sure I'm sure what we could have done is just use some sweet compression library off the shelf thrown it into wum compiled it and called it a day but something about that just doesn't feel cool you know what feels cool going you know what I want to do I want to build my own Huffman I want to be able to try test out a couple ideas I have I want to be able to do some stuff with quad trees and how to make data even smaller uh I want to be able to go through everything and do that I want to invent the wheel one more time because I like that experience I want to learn what's underneath the hood I want the experience of becoming good at it so it's just so why the pro I I think that I think the general problem is this this is kind of a cultural problem and I and I think this you can see it in how people play video games uh some people play a video game to Simply beat the video game they want to go as fast as they can from point A a point B but beating a video game isn't necessarily the point of a video video game not always right like in the in the in the lower ones like in Mario and stuff that was the point beating the video game was the whole thing but in these less linear ones it's about the game itself like you get to go and find the things in the game you get to like experience the game like that's the point is to experience the game and and eventually get to the end right you show up at the end looking just freaking jacked because you went around and you did all the side things right Zelda mentioned exactly the point is to enjoy the experience and I feel like people just the they they have this this this notion of just getting things as fast as possible and finishing every last Quest quickly as possible and get to the end do as little you know boom move on it's just like that's not really the point in life life isn't to move as fast as possible life is to pick up each one of those little little bits along the way you know there's there's a lot more there's a lot more to a game it's not a job it's just a hobby yeah treat it like a hobby hobby the point of a hobby is to enjoy the activity itself self right uh in this example of what for uh let's see this is an example of what for the purposes of this post I call Arrested Development I understand the overlap with the loaded psycholog uh psychological or psychology term but forget the definition uh on purpose here uh please in a sense of skill acquisition one generally realizes Arrested Development and remains in a static skill State due to one or two reasons maxing out on aptitude or some kind of willingness to cease meaningful Improvement uh for the remainder of this post in series let's discard the first possibility since most professional programmers wouldn't max out at or before bare minimum competence yes and consider an interesting specific instance of the second voluntarily ceasing to improve because uh of the belief that expert status has been reached and thus further Improvement is not possible interesting this opting into the indefinite mediocrity is an entry into the oblique phase in skill acquisition that I call the expert beginner well this this do this diagram is entirely too large okay expert let's see novice Advanced beginner expert beginner competent proficient expert oh interesting okay a little side little side quest that you never you never quite got out of wait where where were we the expert beginner uh when you consider the dfus model you'll notice that there is a a trend over time from being heavily rules oriented and having no understanding of the big picture to being extremely intuitive and fully grasping the big picture the advanced beginner stage is the last one in which the skill acquire has no understanding of the big picture and uh as such it's the last phase in which the acquirer might confuse himself with an expert a competent has too much to let's see of a handle on the big picture to confuse himself with the expert he knows what he doesn't know is that ever true in programming the callest act of learning the CEST Act of stupidity uh this is true during the advanced beginner phase since Advanced beginners are on the unskilled end of the Dunning Krueger effect and tend to epitomize the notion that if I don't understand it it must be easy as such Advanced beginners can break one of two ways they can move onto competent and start grasping or start to grasp the big picture uh and their place in it or they can graduate to expert beginner by assuming that they have graduated to expert you know what the funny part is is that I fall under this category right here am I the advanced beginner or the expert beginner what I mean by that is that I've programmed long enough and I've said this phrase many times that all problems just come down to you know for Loops if statements and variabl declarations and so it's like yeah I don't understand it I don't think it's hard though it just takes time like so any problem is overcomable it's just a factor of how much time and effort I want to put into it that's how I look at that how I look at it so does that make me an expert beginner or does that make me competent I have tennis elbow okay thank you oh wired uh 10 years 10 years of experience I feel the same yeah it's just like I've seen enough problems way past competent maybe I hope so but it's just like you see things where like if you've done something enough times you realize that it's all really the same thing over and over again let's see I don't think uh it's hard does not equal I think it's easy I think they're easy everything I don't think it's hard I don't think things are hard I think they're just timec consuming right it's just you have to do you know like because there's not like let's put it this way there's nothing hard about like even even in differential equations in llao transforms even though it'd be three pages of just writing they weren't hard they were only hard if you didn't have the foundation before that and so it's like there's nothing hard about it it's just timec consuming it's just like you have to go okay I have to before I before I learn llao transforms I first need to like go down this whole list of things you need to do and then finally when you're through algebra you're through basic calculus you're through more advanced calculus you're now into differential equations you're like oh this actually isn't that hard because I already have all the pre- knowledge it's pretty straightforward now it just takes time to understand it yeah that's just how I look at it it's just like I don't know it just seems easy it's just it's just a matter of it's just a it's just a function of time time motivation yeah except p p versus NP that I never got to llas llas is pretty fun I in fact llas is my favorite part about differential equations um um this actually isn't an immediate rid let's see immediately ridiculous as it sounds let's go back to my uh airst to while bowling career and consider what might have happened if IID only let's see if I've only been oh what might have happened had I been the only or best bowler in the alley I would have started out doing poorly and then quickly picked up lwh hanging fruit of skill acquisition to rapidly Advance Dunning Krueger notwithstanding I might have rationally concluded that I had a pretty good aptitude for bowling as my skill level grew quickly and I might also have concluded some somewhat rationally if rather arrogantly that my level my leveling off indicated that I have reached the Pinnacle of bowling skill after all I don't see anyone around me that's better than me and there must be some point of Mastery so I guess I'm there Fair IQ is irrelevant yeah I do agree I do completely agree with this one uh that works if your if your IQ is hard high enough I think that most people's IQ is high enough uh first off IQ is a very faulty and Goofy measurement there's few people that have true learning disabilities that actually prevent them from being able to do things you're probably not that guy honestly you're probably not that guy you're probably not the one with learning disability so don't worry that's not you uh second it's probably going to come much more down to you Desiring to learn and putting in the full ass effort then it is going to be coming down to you physically being incapable of learning some coding guy how you doing now some people are just simply smarter and they're so good at it and it's just like I mean some coding guy is a great example of this he is just super duper smart okay he's just painfully smart and there's nothing there's nothing you can do about it stop no he gu you are you are genuinely a smart guy okay guy we worked together for many years okay I know I there's things I know okay called out you're a smart guy no you genuinely are a smart guy I like everybody else have an IQ slightly above average precisely the man understands averages now uh BR I beat the S&P 500 with tile River yeah so there you go some coding guy you've just won see he's a smart guy no uh no you are a smart guy no you you are a smart guy no you hang up smart smart ass does not equal smart guy you got him why is some coding guy doesn't stream anymore he retired I would call that more luck than smart though yeah I mean fair I mean if you just invested in Nvidia you won my IQ is pretty decent I would say that don't ever worry about I think you would know if you have a true learning disability it's probably not you you probably as someone who's learned how to program you probably capable enough to learn anything okay it's probably you probably have absolutely no hurdles in the way I mean you may have some like right like I have dyslexia I find reading to be a very difficult activity and I can feel it I can feel a momentum of frustration building in and out of my brain as I read that doesn't mean that I I use it as a as a crutch it just means that I have to try it just means I have to try harder you know what I mean the real shame of this is that uh a couple of inferences that aren't entirely rational lead me to the false feeling of achievement and then spur me on to opt out of further Improvement I go from optimistic self- assessment to logical fallacy as my bowling career continues I know that I'm doing it right because I'm an as an expert I'm pretty much doing everything right by definition your logical fallacy Buffs a circular reasoning begging the question by the way I love this this line of of of questioning right here of thinking about like it's one of the dangers of being it's actually the it's one of the dangers of being in a small pond it's actually the reason why I went to Netflix is because I lived and grew up in Montana I was an excellent high-scoring highflying programmer at my college I did a great job I was one of the top in fact I often had my grade thrown out and then have the next grade as the curve so I'd get like 140% on tests and things like that absolutely love that and the reason why I said okay I think I want to try something bigger is because in my head being in Montana and being a big fish in a little Pond meant that I will only get so good so fast and then instead maybe I need to try some like I need to go to a place that has all the engineers am I actually good or am I just good by existing in Montana which is awesome that you did that yeah and then it turned out it was really good that's no this is not a humble break I I know that I'm smart like I don't know to what level am I smart I'm not some Super Genius I'm not John carac but I'm generally a smart guy I can remember things I can program fast I can type well I can make programs right like I know that people struggle taking what's up here and putting it onto their fingers right I don't have that got to play the big uh big leagues to really find out yeah you got to play the big leagues to yeah it's not a you got to play the big leagues it's not a humble break I'm not being humble here I'm not trying to be neither humble nor prideful I'm just telling you what I think is real I'm just trying to be sober it's a sober it's a sober brag so arrogant brag exactly thank youo appreciate that Primal the humblest person to ever live in Montana sober Flex let's go hey I Bar None I am the most humblest number one at the top of the humblest people all right the real shame of this is that a couple of okay by the way I did want to say this that really like you should really judge yourself soberly really do that like if if if you find yourself incapable like right now I don't know how well I could do without an LS P just because I Rely so much navigation on that but like if you can't program reasonably well without just constant tool assists maybe you need to take a bit of time and just improve your base skills because a lot of those base skills are the things that allow you to break the rules and make more uh make larger and faster decisions right I'm not saying that it's a that's how you should live your life is LSP lless right I think that's I think that's silly uh obvious LSPs are just a huge win right when you're in here and you want to go see the definition of done I can just go GD and jump right to that like that that's very good this is a very good thing to have on your system control o to jump back to where I from Once I came right like this is a good thing to have and I would be foolish to think that that is is is uh is anything but a net positive for programmers but the problem is is that if you can't like just create without having like without having the tools there is something kind of worrying about that and what I mean by worrying about that is that you don't actually know it you're there's so much speed up that you're losing oh by the way I came up with a really great uh hey typecraft thanks for the raid I appreciate that um let's see I did oh my goodness I just shouted out the wrong person um don't don't don't dismiss my bad my bad on doing that one don't worry about that one uh but I did come up with a great I finally feel like I've come up with the right analogy for for AI and this kind of hyper tools era that we're living in are you guys ready for this this this analogy I've been thinking so hard about it are you guys ready for it imagine you you're in moderately good shape I know half of you have already like oh gosh I guess not me um but you're in moderately good shape and I could give you a wristband that you would wear and you would become technically skilled of a blue belt jiujitsu Ras but here's the deal you know all the moves you could do all of that you could like you understand you have the same level of knowledge as any blue belt in the technical skill of it all so then you go and go oh I can go wrestle other blue belts you would get your ass kicked 100% of the time and the reason why is simple is that it's not just simply technological like Tech it's you don't just because you have the technical expertise at your fingertips doesn't mean you know how to use it and that's like to me like the big kicker it's like Ai and these these some of these tools and this hyper tool experience and this expert beginner that we're in is that you get the feeling of being a blue belt you get the feeling of just adopting on a set of skills and now you can move as if you have those skills but you don't have the experience to show you how to move within those skills why you do certain things and don't do things anyways I've been just thinking I've been trying to figure out how to like name like create this um I've been trying to figure out how to create like say say this AI thing that I worry about right which is that I know it's not the best analogy yet I'm still trying to work I'm still trying to work workshop it but it's that idea it's that idea of saying that you could adopt all the technical expertise of somebody at this higher level but you're still here and when you attempt to do you attempt to use it you can move as fast as they do but you don't have the experience to know why you move that fast or why you make these decisions yeah it does Rob you of your experience it does Rob you of your experience anyways looking at the graphic above you'll notice that it depicts a state machine of the dfus model as you would expect it at each stage one uh might either progress to the next one or remain in the current with the exception of novice or Advanced beginner who I feel can't really remain uh at that phase without abandoning the activity Fair the difference is that I've added the expert beginner to the Chart as well the expert beginner has nowhere to go because progression requires an understanding that he has a lot of work to do and that is not a readily available conclusion you'll notice that expert beginner is uh positioned slightly above Advanced beginner but not on the uh level of confidence that is because he is not competent enough to grasp the big picture and recognize the irony of his situation but he is slightly more competent than the advanced beginner due mainly to well extensive practice as a beginner you've you've if you've ever heard the aphorism about 10 years of experience or the same year of experience 10 times the expert beginner is the epitome the epitome the epid of L of the latter the expert beginner has perfected the craft of bowling 160 out of 300 possible points by doing exactly the same thing week in and week out with no significant deviations from routine or desire to experiment this is because he believes that 160 is the best possible score by virtue of the fact that he scored it you say disagree well so that's not what the disagree is I I think I understand what he's saying here I think I understand what this guy's saying here which is I think you might be missing it so Advanced beginners you're you're slightly more than an advanced beginner like some of your knowledge level is in the competent range some of your knowledge levels in the advanced beginner but you don't believe there's much more expertise left like when you I think that this I think that you can actually have this line anywhere coming off of this which is settling maybe a better term for this is settling like I mean I know there's some like logical B bamboozling where some people just simply don't believe you can get any better and so they they fall into this but there's also settling like I got to where I want to be and I don't want to try to get better right there's also just that whatever that is and I think there's something up here that there is uh I just stop right uh I disagree on the L end most people are pretty good at judging how good they are I think that they'll be let's see I think they'll be faster to think uh this is their personal limit because uh other people have more talent I see I actually disagree with that I think people are fundamentally terrible at judging themselves sober judging is one of the hardest things possible to do people overestimate or underestimate an incredible amount there's no such thing as Talent okay we can't do this argument because this is the stupidest thing that has ever existed this is a dumb phrase Dan and I think you're just trolling me so we're going to move on okay we're going to move on because we're not going to do that okay for real talent is obvious um contrarians in the chat I know is Uncle Bob an expert beginner uh no I think Uncle Bob is an expert in his own category it doesn't mean that his category is the most optimized it could be it could be you know maybe we're the all the ones that are wrong that's the thing is we could all be the ones that are wrong I don't think we're wrong I think he's wrong but he's created his own category right Talent is real it justes doesn't guarantee success exactly the wisdom Paradox I know uh anyways it's very very interesting expert beginners in software software is uh is unsurprisingly not like bowling in Bowling feedback Cycles are on the order of minutes whereas in software feedback Cycles tend to be on the order of months also there's not an objective score in bowling there is literally 160 out of 300 is an objective score or it has it has no there's no way you can interpret it that's different than what it is 160 out of 300 is exactly that there is there is no deviation from that and what I'm talking about with software is not the feedback cycle of compile or run or unit test which is in the minutes or seconds but rather the project in uh it's during the full time oopsies I realize it's too small for you guys it's during uh the full time of a project that a developer gains experience writing code controlling it modifying it testing it and living with the previous design and architecture decisions during maintenance phase I hate those phases uh with everything I've just described as a developer is lucky to have a first try of less than 6 months which means that after 5 years in the industry maybe they have 10 cracks at the application development this is on average some will be stuck on a single one the whole time while others have dozens by the way this is this actually is probably the greatest greatest Insight from this article that I've seen yet which is this like maintenance of a large program at least this is the take I take from this maintenance of a large program can be very very detrimental to skill growth like there's most certainly something that's very important about maintaining large programs and it's more of a a a a an exercise in patience and Longevity and there's a lot there's a lot of things that make you very senior about being willing to maintain larger projects and make guided changes through already like an already built Legacy system but there is also something that's really important about flexing your own skills in architecture and building off the cuff to build Greenfield projects into maintainable larger projects and this is a very don't get this chance often this is why I always stress uh personal projects which is personal projects you get this chance you get the chance to build your own project you get the chance to live with the decisions you've made it's like democracy you give the people what they want and you give it to them hard building your own project is your architecture and you get it hard and we'll see what the ending is right and we'll see how well you can actually do what you're building manage that democracy manage the Democracy of your own project personal projects AKA PP PP is the best exactly but I've also seen developers who never maintained anything beyond 2 years which is certainly affects their coding style and attitude put in the effort for long-term sustainability yeah that's true I mean that's the it's part of the problem of of this it's there's two there's definitely two tracks here the thing is is that if you if you are building something for two years I'd be a bit surprised if they don't have longevity in in in that right like I get that if you've never built anything longer than 2 months 3 months you will definitely build stuff for like the the faster the faster iteration and thus you'll build less maintainable software for sure but I'm not sure if I buy that in the sense that people in the two years like there's definitely a there's definitely a phase there but you are right most certainly maintaining large projects is is also a good thing if you know the reality of India a lot of people who are working there have Decades of experience never tried other languages and don't even understand rest and what it is and they are building it yeah I mean there's always I mean this this exists I mean this existed at Netflix like honestly I saw this in Netflix this happened right oh what this means is the rapid acquisition phase of a software developer Advanced beginner ISM will last for years rather than weeks and during these years the software developer are job hopping and earning promotions especially these days they are let's see as they Breeze through the rapid acquisition so too do they Breeze through titles like software engineer one two and then maybe associate and Senior and perhaps even lead and architect and principal so while uh in the throws of the Dunning Krueger and advanced beginner ISM they are given EXP sounding titles and told they are rock stars and ninjas and whatever by recruiters especially in tomorrow's economy the only thing stopping them from taking the natural step into expert beginner stage uh is the combination of peer review and interaction with development community at large but what happens when the advanced beginner doesn't care enough to interact with uh with the broader community and for whatever reason doesn't have much interaction with peers the daily WF is filled with such examples please tell me one of these is Tom I love the daily WTF by the way uh the batch of trouble to slow down oh man I I want to read these now now I want to read these they're my favorite by the way this guy right here the guy that we're looking at the daily WTF this guy right here I knew I recognized if if I'm not mistaken this guy right here also wrote uh uh about Tom Tom the genius yeah I'm pretty sure he's Tom is the genius writer right it's pretty good uh they even fail while convincing the that the failure is everyone else's fault and the N let's see and the nature of the game is such that blaming others is easy and handy to releas any cognitive dissonance by the way you could only blame others on projects you didn't work on if you worked on a project and it failed eat the crow uh they come to the conclusion that they've quickly reached expert status and there's nowhere left to go they've officially become expert beginners and they're ready to entrench themselves into some niche in an organization and collect up huge paychecks because no one around them including them realizes that they can do a lot better until next time uh so we have chronicled the rise of expert beginner where they come from and why they stop uh progressing in the next Post in the series I'll explore the mechanics by which one or more expert beginners create degenerative situations in which they can actively cause festering and rot in the Dynamics of groups that have talented members or else could uh otherwise be healthy dang this might have to be uh this might have to be a read at some point I like this I like this this guy did a great job Eric Eric [Applause] Dietrich you I mean you really honestly I still think this is the best advice build something build something that is vastly outside of your expertise again me trying to ascend Doom down efficiently is pretty far outside of my expertise I have never done any of these things I've never built quad trees I've never done my own compression never built a Huffman tree never did rle just doing them as we speak just guessing trying to make things work and it's been absolutely fantastic and for me it's just like I can feel that even during this I'm becoming better at such a like such a simple thing which feels which feels funny like my understanding of these projects has become better my ability at go has vastly improved I feel so much better at go at the end of this than at the beginning of this how are you able to use a mouse and Vim I mean I it's it's like set up to do that with neovim I don't use it except for when I'm trying to explain something because it's easier to try to explain something with one hand than to use you know than to use Vim motions I would say that some devs are blocked by the company they work at because they do not work on anything outside of some SASS and when they go and try on their own there's a problem of learning incorrectly see I just disagree with that I simply disagree with that any sufficiently motivated person would get over that I think only those that are sufficiently motivated will hurdle that problem the first job that I worked at was horrifying and the second job that I worked at was horrifying and it required me to leave that horrifying area and do something you know what I mean and do something else I just had to yes and this is very good this is I mean this is 100 this is why I'm so adamant about side projects is because you end up finding that you will build something and what you think is good you find to become most you you find you you find to become so unmaintainable and so difficult to use that you actually like you loath it and you realize that what you built is the problem and then you want to try to like then you figure it out and you fix it yes CU was mentioned in that absolutely yes well but you you are literally saying what I just said you have to take ownership you have to learn if you expect your job to make you a good programmer you're probably wrong you will probably become the expert beginner if you think your job is going to make you an expert your job is not going to make you an expert most people are victims of their circumstances I don't believe that I don't I don't know if that's true or false like that is such a broad statement I will say that a lot of people are the victims in their own story and they shouldn't do that I doubt most I doubt most are victims in their own story I have every reason to be a victim and I refuse to do it at some point you get to make your own decisions there's definitely a birth lottery for sure your your intelligence is the amalgamation of your parents intelligence that's like one of the strongest things that come down from your parents is is the intelligence at some point you get to make your own decisions and it's not easy it's not easy as someone that did Sports my whole youth I see side projects as uh the practice and work as the game well you know like even this so let let me let me Riff on this for a second in soccer where my my kids are playing the kids that practice outside of practice and play are the ones that are super good the ones that play or the ones that go to practice have a good attitude do a good job and then go and play during the actual games they're pretty good they're not great people that practice outside of practice and play outside of practice those are the ones that are really good because they're playing and they're enjoying it I live in America hey I don't tell you to say I I don't say I don't tell you what to say okay you you do what you got to do I do what I got to do okay if I say the word football no one here understands what I'm talking about okay we don't we don't do that okay just live in your own world and I'll live in my world okay this is this is the intersection and you can you're just going to have to figure it out okay CU if I were to say the term uh if I were to say the term uh football you might actually think is this American football what happened if I said my kids were in American football then it would have been ambiguous and you would not have known so you can football these nuts so suck it okay and by the way America didn't come up with the term soccer okay the Brits did so if if you want to be upset blame the Brits stop BL stop blaming us Americans for the Brits problems okay we inherited the problems the name is the primagen
Info
Channel: ThePrimeTime
Views: 258,171
Rating: undefined out of 5
Keywords: programming, software engineer, software engineering, developer, web design, web development, programmer humor
Id: je4CGd5IKt0
Channel Id: undefined
Length: 49min 8sec (2948 seconds)
Published: Thu May 30 2024
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.