Tim Cain rules. When I got my Troika Games logo tattoo, I messaged him on facebook to ask if he had a high res picture of it, he responded and said he didn't but he checked with the two other founders. One of them had a vector version, so I got a high quality reference for my tattoo as long as I promised to send a picture of the finished thing. :)
Back in high school my robotics team had 2/3 of a whiteboard to work with. The other 1/3 was for the afternoon robotics class. At some point someone moved the dividing line. Then someone drew a tank. By the end of the competition a whole fourth of the whiteboard was a battleground of crudely drawn planes, tanks, bombs and troops fighting for planning territory. It must be such a privilege having a whole whiteboard to work with. I can’t imagine having 2.
That 4 week estimate, tells me there is no room for failure. You want people to take risks (managers, designers, developers, writers), then give them the room to try and fail (ideally fast, then fix it). If you blame people for trying and failing, they would be insane to take risks, to put their name on the whiteboard, or to even push themselves to attempt something they aren’t confident in. You want some risk which gives you creativity and liveliness, “empower” your people by only blaming them for breaking rules, not for trying and failing to achieve an outcome. Many many times I’ve had devs fail at something and come back the next week and knock it out of the park.
Still my favorite wasteful meeting about something was kinda like an hour of talking about a thing which was basically decided at the 10 minute mark and at roughly 50 minutes in, i had the feature done and tested. So i ended the meeting by asking "It's done, can i finally leave the meeting now?".
In videogames, this happens frequently. I've been in meetings discussing issues which were finished, but because not everyone is a software engineer in the project, some people just "cannot do tech" and had improperly imported stuff. Like, this huge meeting gets called up because three people "cannot access our so-called working project" and the answer is "Oh, yes, you have to click "build" in the assets package there before you run it. Can us grown-ups go back to work?"
@@thekwoka4707 In my opinion, all game designers should be software engineers. All producers/project managers should be software engineers as well. This way, we can have artists and musicians send us their stuff, and we'd implement it all ourselves on the technical side, with people who understand what they're doing.
@@thekwoka4707 I work with a lot of artistic people in audiobook production. Anything I do, I have to be like, "Can a 5 year old do this?" If not, I need to try and make it more foolproof. Had a VA have an issue with some text, and I showed her how to open up a different file, and told her to copy the text out and paste it into a word processor. She didn't know how to open one on her Mac, and since I don't know what the Mac default word processor is even called, I asked her to open her email and dump the text in there LOL. So ya, a good amount of effort is spent making sure I don't have to have more such conversations lol.
OK so creating a test AI for an unreleased game... get it wrong?... nothing happens. It goes into production. some imaginary cars disappear from imaginary garages and "people lose their minds". Whereas if you trash the medical data of 120,000 customers; an aircaft altitude control system out by 100ft; A UI that doesn't update as fast as the radiotherapy hardware it controls; you think everyone should be like "caution meh... couldn't be helped" . It is clear these are not the same thing. A single unified "software industry" is a mirage. Hacking, programming and engineering - everyone needs a little bit of all of them, but some jobs definitely skew one way or another.
For real. I don't care if a web page takes ages to load or if my xbox crashes, but there are if statements between the brake pedal and the actual brakes in every modern car, and I think we'd all rather they didn't have untested corner cases or UB hiding in them.
Tim is right on this, the total time working on the code will still be the same but it's better to get something working first and refactor or add to it then it is to just build something once and never look at it again.
@@CivilizedWasteland Poor code is often unfixable... more and more effort and cost is sunk into papering over ever more ever smaller cracks. By the time the rewrite happens no-one can derive the requirements from the code. I'm all in favour of POCs and prototypes, but 90% working code never makes it beyond 95% working code. Don't aim to write poor quality code to fix later because that is all you will ever have.
Idk if this was deliberate but the UI radiotherapy example is an actual incident that ended up giving someone cancer . I think low level programming made a video about it titled something like "This but killed 6 people".
It's a product manager problem. Business wants predictability, which for small things is fine, but for entire projects isn't possible. Then if you miss a deadline you've been pressured into creating, you're on the hook.
In my experience in AAA as an engineer - the caution also comes from the fact that we really don’t actually have the “time to go back” and make something better. Games, especially live service titles, require a treadmill of content which means a treadmill of tech, so while I am a huge fan of rapid iteration and try my best to practice it, it is hard to not feel the Caution ™️ looming over you telling you that youve only got one shot to do this right before you have to move on to the next thing.
Great explanation. I'd also add that in many cutthroat corp environments the manager pressuring you to just ship it, and telling you that "perfect is the enemy of good enough" will then send the blame your way when the not perfect parts of your cause issues down the road. I've had good managers that I trust to defend me in a "move fast and break things" environment, but when that trust isn't there you learn coping mechanisms like padding estimates to ensure you're not risking your professional credibility.
That is true most of the time but with Warframe you basically only have thinga to grind and almosg all the temporary events are just repeating alerts. And its the game the devs actualy make time to rework significnat parts of it all the time. Imo only the "one and done" type solo games really cannot afford redo it later because they just wont fet touched until rework decade+ later.
@@yuichikita6018 It isn't even about being "let". You just don't have actual time to go back and do it. And if it's anything major, you also need to do enough testing to ensure you didn't cause a regression and chances are your QA org is minuscule if it exists at all, and the iteration times for some of these test scenarios are long... it does suck.
As a game dev and lead, I agree with sometimes people being to cautious. However, here are some things that can make a task that seems simple way more than a 45 minute task. I have seen designers or programmers who don't know the code base go into the code and then have to spend weeks identifying and fixing the issues they caused. - Building and testing. Often, particularly as games get more complex building the game and then testing it can take way longer than the change itself... hours or longer depending on the task. I have had builds+cooks that take over an hour after getting latest. - Memory. On some platforms memory available becomes so small that before implementing a task you have to go on a treasure hunt. It might include negotiating with other developers, designers or artists to claw some memory back. - Performance. Sorting a list for one character. Not likly a problem. Sorting nxn characters... now you may have to find a more efficient approach. Also early in a project maybe perf is not so much of a concern. Some projects later on, if you push the framerate under 60/120 fps on a particular platform, it's your job to fix it immediately. - Game state save. If the state needs to be saved... maybe that is hard if the save system that's not designed well. - Metrics requirements that all systems be tracked. - networking. If you have to deal with list migration over servers in real-time and handle rollback, reduced data sends, compression etc... things might get harder. I'm not sure if this version of fallout has networking but it makes everything harder. - Building UI to allow the code to be data driven (may vary depending on the engine). Doesn't sound like this was needed in this case. - Streaming in and out data of disk for things that go out of view. - extra stuff mostly for live issues like the ability to rollback code, logging. Anyway I have also had developers tell me the solution I designed would take them years and I have implemented it in a few weeks. I have also seen devs try to refactor and spend 12 months on it... when they could have incrementally introduced the change and had less bugs and done it quicker because they spent 6 months of their time trying to fix all the bugs their first 6 month refactor caused.
@@635574it is also because today's stacks and platform have this complex abstraction code that you are never quite sure of feasibility as if you were coding things from scratch. E.g. currently no one codes a game from scratch, u must use unity or sth, hence to implement any feature you must know if unity api fully supports it, how and why.
Yep, all of these ran through my head as good reasons for actually following the process as opposed to just cowboy-coding it and submitting. Even though "it takes 45 minutes to code," that completely ignores all the other considerations, including things as simple as "now it has to be tested" and performance profiled, and all the rest.
Being given the ownership, space, and time to get the work done is so huge. The best and most enjoyable work I've done in games was either something I self published, something I made during a jam, or something I went "gremlin mode" on and made in secret, so the only other person who knew about it before I presented the finished feature to the company was one very trusting supervisor.
I complete get his point on padding and caution. But this is the by-product of poor managers not protecting their team members when they take those risks and someone ends up getting fired. They don't do it because the company doesn't make them feel its safe to do so.
it’s so common everywhere in our modern society that the measures of success becomes something that is quantifiably measurable just because it’s measurable, so all the things that aren’t easily measured gets completely ignored
this, I got shit a few times for this because I thought "it's gonna be a few hours of work!" and 3 days later after vastly underestimated the task, I have my manager on my ass, demanding why is it not done yet.
That 4 weeks estimate one is absolutely wild. I am painfully familiar with tasks that take 8 hours for 30 minutes of coding because of paperwork, bullshit process, difficult systems or insane build processes, etc. However 4 weeks is something else.
4 weeks is then saying they don't want to spend 30 minutes on it now because they need to be agile in their sprints. Instead of going to the team and asking "hey, anyone wanna do this simple thing?"
@@ferinzz Yanno, I thought about this more, and I think 4 weeks kind of makes sense depending on the org if they mean it will take 4 weeks to get that change merged into your main branch, and not it will take 4 weeks to work on. For example, I work at a corporation that has major issues with being obsessed with process that massively slow us down, hence my own example of 30 minute tasks expanding to 6-8 hours for me commonly. Plus a lot of tech debt, legacy kludge, etc. The classics. Hypothetical worst case scenario, I get someone important from marketing coming to me and directly asking me to do X request. It's 45 minutes to code it. Well they aren't allowed to do that, I need a ticket to be converted to a user story or **I** will be getting in trouble even if nothing goes wrong, let alone if something does. That user story has to be reviewed and prioritized by our scrum master/supervisor and it won't go directly to them, the BA's go through those tickets first. So that'll make it to me in somewhere under 48 hours **if** they directly hassle my boss's boss about it. Okay now it's to me, but tomorrow is the code freeze, and QA has no capacity. If I shove this out without testing, I will personally get in trouble if anything goes wrong or even if someone notices to bring it up later in any way, because I'd be breaking process to get shit done. Code freeze lasts two days, the next sprint starts after, and this story still hasn't been groomed yet. Now at this point finally if I'm feeling nice and want to go out of my way, I can slam those code changes back, force a task into the sprint for it, and then sit on it until next sprint. Next Sprint rolls around, I pass the task over to QA for testing, it's been 5 work days at this point, maybe 6. QA takes a full day to test it, don't ask me why I ain't opening that can of worms. It's been at least 6 full work days, I set this up for a code review and with some nudging in the DMs, I get this done in 7 work days. 9 if I and the BSAs don't prioritize it above and beyond what we're actually required to do. Okay, 9 days isn't bad right? But the next deploy/push to prod is 2 weeks from day 6 in this process, so it's going to have taken roughly 3 weeks to complete. Suppose I actually had higher priority work demanded by *other* important people in the company too eh? Easily could have been 5 weeks if we missed that second deploy window. I also am required to test my work not just shit it out, so 45 minutes of dev work with our build times and requirements is realistically 1-2 hours minimum real work, then probably 4 hours of bullshit that still constitutes "real work" in the corporate agile scrum world, plus QA, so it's probably 10 labor hours from the dev and QA, 1-2 from our BSAs and the scrum master. So suffice it to say I **am** pretty black pilled on agile scrum at this point but I actually sympathize with this random dev assuming they were referring to the time until this feature could be in whatever internal live/prod equivalent build in their process and not the time to actually work on it. I'm still halfway through the video watching bit by bit over my work day, but I hope this isn't going in the direction of, "actually devs are just too timid these days, back in my day. . . . " because I'd bet dollars to donuts any such change is the result of how organizations choose at a systemic level to do development, and how to punish failure and reward success. Personally, I would *love* to do a lot more "get shit done" type activity, but if I decided to be the change I want to see in the world and acted that way, I would rapidly get fired and become someone's "10x longer to accomplish anything" developer story on medium.
(Im not a game dev). When management gets uptight with rigid deadlines and lots of followup/micromanagement, thats when I start to pad estimates to give myself wiggle room and to not stress out. If they are more relaxed, I will just do my work and get stuff done in a efficient way.
I usually brainstorm in a separate draft project, opened in my IDE of choice. That draft will contain the most jank-code, known in the entire universe... I then refactor it and copy paste it into the real project, bit by bit...
That's exactly why I have a e-reader that can take notes. It's small enough to be able to carry around like a tablet, and it feels like I'm writing on paper. A lot of my colleagues think I'm a bit nuts but it's really a good way to work through your workflow.
For brainstorming sure, but i try to also have a note app like Notion or Onenote handy at all times(on my phone for ex) so i can write down whenever i get a good idea(which is usually when i'm not coding at all)
I'm a teacher, and manually writing things absolutely does things to the brain. There's a reason why many teachers who teach younger kids (I'm at the high school level) are trying to get away from only using digital tools. Forming letters with your hand and your arm unlocks something. I'm doodling a lot myself, regardless of whether I'm coding or designing an RPG scenario or whatever; quick sketches on paper or whiteboard are hard to beat.
@@Hwyadylaw Well, there are no universal solutions, just things that seem to work for "most people" and "it general". There are always exceptions! I'd know, I'm pretty used to being the exception when it comes to a lot of things =)
I found this when I was younger and typing couldn't hold a torch to handwriting in terms of absorption and I went along time not enjoying handwriting(hand pains/limititation of paper) and only last year when I went back to school and decided to impulsively buy a tablet did I find how it was the best of both worlds . And digital handwriting is something I think isn't considered or mentioned atleast as much as it should. I think I really would've found my stride if I had this piece of tech in my grade school years, and I'm just slightly surprised the conversation seems to be purely typing vs paper n pen
@@Hwyadylaw Same. I find most of the value from writing comes from the review/editing process rather than the initial draft process. My memory is already good, and writing doesn't help it any. The problem is when my thinking is super screwed up and needs the de-fragging that happens in the editing process. Editing is sooo painful on paper, and soo easy on a computer.
I was once a bicycle courier, and back I the day we had a pad of paper to write our deliveries out on. You never needed to look at it, because once you wrote it down you would remember it. If you didn't, you would ALWAYS miss one. You could have given us a pen with no ink and we would have probably been fine
Great video! Two points: 1) I used to have a hard time remembering/processing anything that I typed, versus anything I wrote down by hand. I made a conscious effort to record, and save, everything via digital files (if possible). It took several years, but now I function better with typing than I do with writing things by hand. I think it's just a matter of your brain (for those of us from older generations) needing time to rewire itself. 2) Shortly after college, the general manager of a hotel I was working for introduced the concept of diminishing returns to me. It was really an eye opener, because I have a tendency to be a perfectionist. He helped me realize that you eventually get to a point where any additional effort will only produce smaller and smaller results. At that point you have to honestly ask yourself if the additional work is worth the miniscule gain.
When it comes to writing I'm the opposite. I've always disliked writing by hand. I find it extremely tedious, ugly, slow, and hard to read. If I must take notes by hand they will always be terse to the point of being useless in about 1 week since I won't understand what the note was about and if I must write more than a few short phrases or words it will be scrawled so poorly even I will struggle to read my own handwriting. Typing is a godsend for me. *shrug* Also yes I have even more trouble reading other people's writing. If you hand me your hand written notes unless you printed them nice and clean it will be difficult to the extreme for me to decipher your handwriting.
I have a feeling that these guys rarely worked in an environment where they had their schedules planned for them and code bases where there was never time for tech / code quality improvements, but always time for management-mandated features and meetings. There's little ownership if you don't own your time. You're simply onto the next task without looking back. The context here is key: is the dev saying it's going to take 4 weeks sitting at a keyboard focused on the specific problem or is it because they have other higher priority tasks and meetings before sneaking in unscheduled work? When you bandwidth is fully maxed out, the scheduled completion takes a lot longer.
That is what i was thinking. No matter how bad he is there is no way he needs 4 weeks to do an hour of job. 4 weeks is enough for someone that does not know how to do it to learn it and do it. It seems he needs 4 weeks because he was doing other things that needed weeks to do and he just put it on the back of the list. If he needed 4 weeks to do just that then what is he even doing there? why are you paying him or employe him?
@@formbi Brooo.. don't get me satrted on that. Everytime i actually take time and write a response to a ridicilous statement with a huge amount of facts and sources... youtube decides to randomly hide it. No insults, no direspect, just (atm) proven facts and answering all the questions...
It just comes down to ownership and incentives. If you're an owner, you're incentivised to do things as quickly as possible. If things go wrong, you'll certainly give yourself the benefit of the doubt because you know why they went wrong. You're also able to bypass all processes to get your code into production, drop everything else to focus on the task you want to focus on, and perfectly understand the requirements since you created them. If you're a developer at a large company, your manager evaluates you based on your sprint velocity. So, a task that requires 1 hour of hands-on keyboard coding, if you tell your manager it will take 1 hour and it ends up taking 2 hours for whatever reason, that's a negative mark on your next review. Instead, you add a couple of hours for understanding and probably going back and forth on requirements, a couple of hours for whatever your build/review process is. You're probably not as experienced as the owner who has been in the industry for decades, so what takes him an hour might actually take you a day. You also have to fit it in between all your other work, so you end up with a week's estimate. After all that, you know any step in that process can go wrong for any number of reasons, so you double that to two weeks to give yourself breathing room. At this point, you think it will take a maximum of 2 weeks to deliver, so you tell your manager 4 weeks. When it gets done quicker, that's a positive mark on your next review. There's probably also just some general pissing about with estimates thrown in there too, but the point is that as an employee in a large company, you are actively incentivised to piss about.
@@JeremyAndersonBoise That's more of a problem with how easy it is to replace. If it's hard to replace then it'll stay. If it's easy to replace then it'll be gone.
@@CottidaeSEA Nah, corporations are averse to paying back any sort of debt - technical debt included. Even things that can be updated easily have to be justified by how much they "move the needle." The response from managers is always "if you can spend another 15 minutes updating something that doesn't matter then you can spend it updating something that does."
@@dissident1337 exactly. If it's hard to replace, it might be worth replacing eventually. If it's easy to replace, it might never be worth replacing at all.
Fyi: there are plugins that let you convert markdown into whatever confluence is using. If only confluence used actual markdown, so you wouldn't need to convert.
@@NostraDavid2 Speaking from experience as a former Confluence admin, round trip conversion between Confluence and other markup languages doesn’t work well at all. Heck, you can paste markup from Confluence directly back into where you copied it from and it will render differently after you save it.
"Because it's theirs" is so real. Working on your startup/game/website is 10 times more motivating and if there are rewards you're the one who gets them
Tim is a gift, such an incredible developer and game designer. The combat AI problem is the difference between someone who loves their work vs someone who loves their perks. I had a friend who wasted three years on "4 week" people and never got anything done, they left when they found something with more perks. When he met me, we published a game in two weeks. Sometimes a 45min problem, really is just a 45 min problem and you've been sold a lit for three years. Other times, that 45min problem is a 4 week problem. The important is learning to tell the difference.
Estimates baloon when there are bad insentives. What happens if a developer misses an estimate? Who needs to get out of bed to fix the incident? Yeah, maybe there are some people that are genuinely too risk averse. At the same time it's easy for someone that doesn't bear the personal consequences to have a high risk appetite.
100 times this. You know what's more painful than confluence? Being the on call engineer for a customer facing error, opening docs to find out the failing service isn't even mentioned in the team's docs - because confluence takes too much time. I'm given 30 minutes to recover a system - devs get to ignore tech debt because "move fast and break things" (aka throw caution to the wind) because they aren't holding the bag.
@@krityaan I think the solution to this is that every team must have a member on call, ready to help out when things blow up in prod. You should only be allowed to move fast and break things if you can fix things just as fast as you break them.
@@brettmurphy7588 this happened in Amazon - where oncalls rotate within team members 😂 It doesn't really work if everyone is afraid of PIP and on-time features are the only metric mgmt cares abt.
@@krityaan Devs don't "get to" ignore tech debt, they're often told that addressing it is forbidden. "Move fast and break things" is a management decision.
Been watching Tim for ages; his content is so brilliant and I've learned so much from him about the dev industry and how to keep proper mindset. Glad to see you boosting him.
in 17:25 where you talked about blame avoidance , i myself hate most meetings and am a tell me what to do and i make it guy but when the architecture is not discussed and last minute changes are told(which they are often told where i work at) the amount of steps i need to go back in order to accommodate said changes just breaks me so i generally make sure to tell others what exactly i will do so that they can spew their creative garbage in the beginning itself so the "just build it " approach dosent work always .
Im graduating as an aerospace engineer here soon, and from my experience in internships its very much thee same in other forms of engineering... I talk about it with people all the time, its as if the industry has lost its passion... I remember having a conversation with one of the grey hairs at one of my jobs, and he would tell me how engineers used to get into yelling fits with each other because they would literally be willing to go to war for their projects, and so much stuff got done, and how now everyone would tip toe around because HR might bash your head in for showing the slightest bit of energy. This isn't just CS, its the whole corporate culture.
Well yelling can lose you your job if HR gets wind of it. Why show your passion at work where you'll be punished for it vs doing your own personal project with the boys where HR won't stop the fun
At my internship with a (then) up-and-coming company, one of the grey hairs who was there from the start said that he loved working at the company up until it got big enough that the HR department was formed. After that, it became just another job.
The corporate culture of buzzwords and HR-compliant passive aggression seems absolutely soul draining, idk how anyone could define that as a good work environment
1000% , if there is a niche issue, just hand it off and say yolo, the final product will satisfy the need assuming someone doesn't suck. I came back to a company and they were still using the same damn app after 18 years. More surprising to me
I fully agree with the corporate vs indie take. A baker that owns his own bakery can take the risk of creating an interesting new recipe, because it's his bakery. But a worker in a white bread factory can't just add a bit of extra sugar just cuz he felt it would taste better. He needs to propose it to his higher ups, they will test it, balance it, market it, all the good stuff before it is created. Among all the things that are required to do, this idea by the worker is no longer just his work, and it's not "his". As a side note, this whole "no whiteboard" thing is not happening only in tech companies. I used to work in the sales department for retail smartphones company. We didn't produce anything, just import and resell in big retailers. So purely business corporate. This sort of caution is permeating all corporate culture. This lack of interaction is becoming the norm for many companies. I also like to work in the old fashion way. I like going to the office, talk to my coworkers, my boss, my clients, and come up with very interesting discussions. I think 90% of what I learned came from those "unproductive" discussions that "could have been an email". I think the sale campaigns we came up while taking coffee or hanging out in our boss' office room were some of the best things we ever came up with. While all the crap we made during the pandemic lockdowns, through "productivity" pipelines, were just so fucking lifeless and riskless.
Around 2:30 when prime talks about using a paper and pencil to write things down--my mother wrote her master's thesis on the connection between movement and learning (got my degree in English, so I read the whole paper while I edited). One of her most interesting findings was that people retain information better when they're performing some sort of movement alongside whatever the learning objective is for the exact reason he mentions here: it's kinetic. It's engaging more than one sense to recall information. That means more synapses firing, more ways to engage the body in the act of learning. Combine that with spaced repetition, and you have a great method for learning. It's also why a lot of children's songs have choreography and motion to go with them: you're associating a motion, a tune, and a word together and repeat it over and over and over. It's why neumonic devices work so well. And it works double-time with kids, because they have so much energy that they get to literally expend extra energy into the learning of those things while they're not even consciously aware that they're learning (there's a lesson somewhere in here about learning being tied to games as well, but that's for a different post). So in regards to writing things down, you get to 'feel' each stroke of the pen, the tactile press of pen against paper, and it kinda slows things down in a way for the brain to process a little more clearly, as opposed to repeatedly striking keys in a way that feels semi-homogenous. Though a lot of kids who participate in spelling bees will often do a similar thing where they type on an air keyboard to recall the spelling of a word because they're mapping the placement of a letter to their mental keyboard, so there's definitely room to further explore there too.
I've been in a similar 45 min vs 4 weeks situation. I was a senior proposing a rewrite of the most bug ridden system in our software. It was a system that no other dev wanted to work on. It was large, complex, and a bit of a hydra (fix one big, three more pop out). I was constantly told no for the same reasons no one wanted to work on it. Plus, the original implementation took something in the region of 5,000 hours. Thing is, I had a clear vision in my head of how to fix it. So I spent my hour lunch break for a week building an 85%. I presented it and was given the green light on the rewrite. Finished and polished it in two months of full work. I don't work there anymore, but in the year since it was deployed there were no bug reports. I can't claim the code is perfect. It is roughly 6,500 lines, so I'm sure there's something. I did put a lot of effort into making sure it worked properly though. Just for context, the old system was 80,000 lines of code. The devs that wrote it were extremely abstraction happy, and went full on into the SOLD principles. No method was more than 5 lines of code.
@@DavidMorales-s8d Abstraction is an extremely powerful tool. But, as we learned from Uncle Ben: with great power, comes great responsibility. My approach to this is basically write the code inline and the right abstractions will reveal themselves. The wrong abstraction can hurt more than no abstraction.
That feeling that you're trying to describe with writing on physical paper reminds me of the vague, indescribable feeling i have with a PDF vs a physical magazine. It has all the same information, but there's something about having the physical paper in front of me that makes it so much easier to absorb the information.
did not finish the vid yet but i think it has a lot to do with management running you into the ground if you let them before everyone had more of an understanding of why things can take longer or need to be cleaned up
the 4 deep function creation is the modern hell from all nodejs backend devs ( as myself ). This is what I like to call "The wrong level of abstraction".
I love the way you describe writing things down! I still write down almost everything important into a notebook with a ballpoint pen, be it a subject I need to bring up in a meeting or me just tracking down some nasty bug. Writing things down on a paper by hand makes you compress ideas into more concise forms. Ballpoint pen forces you to admit your mistakes, either you live with them or you have to rip out an entire page full of useful information. If you've made a mistake you have a high chance of remembering it and finding the important things just by browsing few pages back in the notebook...
As an 18 year old still in education, I always reach for a pen and paper when working through a problem. I have tried using online tools but it is simply not the same
I'm basically the solo dev data guy at my company and the Caution is insane, I only graduated 2 years ago and I've gotten so locked down from people's feelings being hurt over changes I try to make that I now have to make sure I go about implementing change in ways that make everyone happy while actually getting the thing done. It's incredibly stressful and if left to my own devices it'd have been done to the same degree of success in half the time.
Personal experience taught me that relying on whiteboarding to conceptualize ideas is a crutch that weakens us in situations where it's not available. It's perfectly valid to continue relying on it since we have many options to digital whiteboard these days, but just know that those sitations where you can't use it will still arise.
Drawing boxes and lines on a whiteboard is the most enjoyable part of being a software engineer. Starting a new project filled with hope and optimism, it’s great
"I dont wanna know why, I wanna think about it" is the most relatable shit ever. At first I though this mentality is wasting my time but it really is the only way to grow
I agree so much with your take on how bad when everything needs to be discussed and planned with everyone where nobody has any ownership. Just switched teams recently where they do this. Everything needs to be thoroughly decided, almost every line of code must be described in the damn task. It comes to the point where they panic when they need to make some decision alone without the opinion of everyone. It’s ridiculous
About the "good ownership": i want to discuss HOW to implement a feature because i know they are going to do it with language features 15 years old and take quadruple the time it would take me to do it. And i just cannot review EVERY work AND refactor it AND build features on my own AND not upsetting my colleagues because i always call their work bad implicitly this way...
I'm with you, any time I need to actually design something complicated I draw out the parts, if I have to erase something I kind of recursively think about how I came to that original idea because I might have just been dumb
The purpose of Jira is more than just tracking tickets like stickies. They have Trello for that. How would you track tickets for an entire team of engineers on a single whiteboard? Or prioritize a massive backlog? Or include screenshots in bugs? Or links to Figma? Or comments from customers and discussions on problems? Or track which stage of development a current task is in? I don't see how a whiteboard could solve that.
@@ethanwasme4307 Yeah, it just sounded like Prime was saying that he still doesn't see the point of Jira even now, like whiteboarding is more favorable to track a team's work than Jira.
Jira is shit.. because it is away from the code. Github issues are better, because they're closer to the code.
3 місяці тому+1
Ownership YES! But I would also like to add that with ownership comes accountability, a lot of people are afraid of being accountable for the quality of their work. Sometimes for good reason, in case they work in a bad organization.
I suspect his age being the problem. Our education system has pre-programmed younger generations, to not argue with older people. The older person has usually the last word anyways, and many seniors abuse set power to the fullest. Them pushing their will through, regardless of being correct or wrong... Then there is the other developer, who refused to write a quick 45 min mock-up. Ask the same question to a junior developer, and they will do it without a doubt. The developer he asked was probably a medior, who had done such request in the past as a junior. He most likely got bashed afterward for his jank code, which is why he now refuses to even start working on a so called mock-up... Human behavior isn't all that difficult to understand, if you just look at the problem from the other persons perspective.
lol - data scientist here. We have a public log and we discuss what we work on every morning. All our work gets reviewed by another analyst before it goes out. The virtual white board, hey we would be told "there is a fire, can you put it out today?" and the next thing after putting it out, that analyst would publicly call out "Can anyone review this real quick?"
As soon as I got to the part about the original Doom, I opened it up in Dosbox, quit, then counted the names in the credits. 9 people were employed by Id at release, with only one that was credited as "BIZ", and that's offset by not listing the guy who wrote the music and also no Tom Hall (I forget if he did anything besides the initial design doc though). If you meant just the engine, 3 people are listed as programmers, and 2 are listed as "Tech Support". Also remember that Doom was something like Id's 6th game (depending on how you count the episodic ones and the ones for Softdisk that were basically Id).
_ohhhh MAN!_ Prime and Thor are going to start a pod? Hell yes! There is actually such a lack of real quality podcast of software development by people who really know the industry. It's mainly a bunch of undergrads who started a podcast - not a bad thing, but not really on this sort of FANG level that Prime speaks at. Super excited for that
45 minutes to write any code is an eternity. I write most of my things in couple of minutes. There just has to be a) 25 years of experience b) already solved this last week c) two weeks of fucking around with prototypes and thinking about it
ThePrimeTime is definitely doing Boomer Mentality. There was a shift in schools that to call out bad behavior is to write the students name on the board in school. Things have changed. This explains the reaction.
I can see how can one need so much time to get little done, specifically with legacy codebases. I've had a friend of mine who landed his first job as a junior Unity dev, and he had to deal with basically yandere dev level of legacy code. So, doing anything took him a lotta time, and eventually he had to rewrite the entire project from scratch (but left the company before he finished)
Dear Mr. ThePrimeTimeagen, I think there's definitely some good material here for a pod. Where will we be able to find such a pod when available? Warm regards
I've had group projects where I've asked the others in the group how they wanted stuff done. Either got "does not matter" back or no answer at all. Decides to do thing on my own, shows the others my finished thing later. "Why did you do it like this? It should be like this instead!". But I did the thing the way I thought was best because nobody had anything to say about it? That group project also taught me that having one leader to direct the group is essential. If all people in the group have equal power over the project, nothing will get decided in a good way and a lot will be done in a wishy-washy way. Especially later on when multiple people in the group started losing faith in the project, while I was actually believing that we could do it, was when I felt that someone that could be the center pillar was important. One single person can have utterly terrible ideas, but can also have fantastic ones. Multiple people will together compromise and find ideas that will never be bad, but will often never be that good either.
The comment about "I don't want to know why, I want to think about it" is very so true. I get so much crap from my friends when say stuff like "I wonder if/how..." and immediately get smacked with "stop guessing and look it up." Critically thinking about a thing seems to be highly discouraged in favor of just "let the magic box tell me the answer."
Depends on what you're thinking about is. You can critically think about something, and still look up sources to get you the general idea. I think it's best to do both. Don't just blindly search, but also don't just guess and assume. This is highly dependent on what the topic is though. Development versus geopolitics for example.
@@some_lurker There is little in life without nuance. Even when there's a consensus, there are things left unconsidered. It takes people willing to think on their own to change the status quo. In development, and geopolitics. Truth is not a boolean, it's a float. My recommendation for discovery is to make your best guess and approximation, accepting you are likely uneducated, and use the black box as a proof (argument against yourself) for your initial theory. Then, if your idea is still held true, find out where it differs from the consensus. Now you can compare two known quality positions: your own tested intuition and the populous solution. Usually this type of comparison is what brings the best ideation. I do this all the time in UI/UX and coding patterns, as well as my geopolitical views 😅 It often positions me in nuanced yet easily defended places. Other times, it makes accepting the status quo easier, as I've realized my proposition falls short.
7:50 Sounds like a 1 day task to me. Time for someone to understand it, write it, write some tests, accounting for the fact that this guy's experience level is almost certainly greater than most of the team, plus some wiggle room just in case. Maybe add a few days if there is a significant degree of integration/E2E testing/manual testing involved since inter-system testing is usually where stuff like this gets hard, especially if you're handing stuff off to different people like QA, since they need to learn the changes too. I don't get 4 weeks though.
Reminds me of when socialists think that any program that helps people is socialism in action, even when it is fully powered, designed, and executed on capitalism. The point being, owning your job is not strictly isolated to only existing in communism, rather, being a business owner is extremely popular and accessible in capitalism. Some markets are tougher to break into than others, but that's natural, and oddly enough the counter-balance is forcing industry leaders to compete instead of cooperating.
When I'm asked how long something will take --- I give a really good answer of how long it SHOULD take... the realities are things rarely go the way they SHOULD. If you take that best guess time and multiply it by 3, you'll pretty much be right on the money every time.
You're right on writing stuff helps with memory (there are definitely studies on that) and creativity (not sure if it's science-backed but a piece of paper is definitely a better canvas for *drafts* than computer tools)
I still remember applying to colleges and trusting the text entry web forms as my editor to write answers to the plethora of questions, short essays etc. I also remember learning why I should never, ever trust text entry web forms to store anything important as I retyped everything.
I hate the phrase "ownership of code". Am I getting dividends on this code? Do I "own" the copywrite? If the answer to both these questions are "no" then I do not "own" the code. The company does. I get people should feel a sense of responsibility when things goes wrong - learning from it, and when you are on the clock fixing it. That responsibility doesn't extend to me being phoned at 3 am to fix an issue on some code I wrote.
Never been on rota eh? Volunteering for the on call rota and fixing shit at 3am will put you on the fast track bruv. No need to do it if you don't want to, but most places will require it at some level of seniority. git gud and be a team player and own your shit, it's got your name on it.
@@seannewell397 I specifically mentioned "when you are on the clock fixing it". I'm talking about getting phonecalls on *my time*. Being a team player != being a slave.
What he's talking about is the plain-mid result that comes from "design by committee." But it's challenging to run and gun---to just go and make it--when it costs time and (big) money.
"... Games have gone from being an expression of an idea [...] artwork of a particular person or group of people, into a corporate driven, money seeking instrument..." hey, there is a name for it. It is called Late Capitalism. And is happening as stated by some crazy dude dressed in red... Lenin if i'm not mistaken. Curious, isn't it?
@@dragonx3085 Also actually following the concept of capitalism would help too. Companies need to stop getting handouts and actually have the free market decide their value, the only non capitalist thing I think that should be forced is that employees are actually paid a fair wage to how much a company makes.
@plumbingphase"there's no way for everyone to be well off, so you must go at it alone". If you really believed that, would it not make sense for you to NOT tell people that? So that they fail and you win? Be the one that doesn't join the group, and receive head pats from your supposed betters, but in silence please.
@plumbingphase Right, lets be a cuck for corporations because the worker wants more respect and power in the workplace lol. Maybe the country should punish businesses that "offshore". And if it is feasible to automate it should be done regardless depending on the job. Keep simping for those billionaires. One day you will get yours...surely!
I think it is not only about ownership, but also you can't expect things to grow exponentially in cost and scale and that not have a big impact on what risk is acceptable to take. Its easy to not do long planning sessions and just sit and do it when a 0.01% outage doesn't cost 20 years of your salary.
Not a game dev here, but was a game journalist (actually owned the site). We never had an issue with publishers having problems with negative reviews. As long as they felt the coverage was fundamentally honest they were fine with negative reviews.
It is scientifically proven that writing by hand works differently than writing in a computer. My alternative? Having a blackboard (ew, whiteboards) with chalk at home and a webcam so that my team can see it as if they were in the room. I have managed to reconcile the worst of both worlds.
To add to it, writing by hand enhances learning and memory, even if you use e-ink. I love having notebooks, plus knowing the medium has an end to it, a limit set of pages is a different mentality
22:47 - A better question than this is: How can we ever hope to as an industry do better than our ancestors before us who had to JUST DO in order to get things done? How could we ever continue improving without the means or the opportunity to?
The reason people don't want their name on a whiteboard is that they have been inculcated with the notion that anything that makes your uncomfortable or anxious is an *ATTACK*. And let's be clear, being attacked can make you uncomfortable. But the problem is, when you invert cause and effect, and conflate all discomfort with abuse, you have manufactured a minset which is antithetical to accountability and professionalism.
Its interesting how this video can be applicable to any software field and not just game dev. The work culture shift has been insane, you can't push for ideas anymore or you'll lose your job.
9:40 I worked on a project where I estimated a change would take 5 minutes. My senior argued about it for over half an hour. Then the person junior to me completed it in 5 minutes. It took longer to argue it couldn't be done than to do it The same senior plus a second resource were tasked with a small project. I spent a few hours documenting how I thought they could do it and what code existed to make it easier. Two months later, they had virtually nothing to show for their efforts. Before tearing them apart, I took an hour on the weekend and built exactly what was expected. An hour; I timed it. They were permanently removed from the project.
if you liked that one, I liked his take on generalist programmers vs specialists. Pretty great insight and really shaped how I focus on getting better.
yeah, when you write it down is almost like talking it outloud. Dfifferent parts of your brain sync, and things that are not so clear start to get more and more "visual". I do feel the same way!
Tim Cain rules. When I got my Troika Games logo tattoo, I messaged him on facebook to ask if he had a high res picture of it, he responded and said he didn't but he checked with the two other founders. One of them had a vector version, so I got a high quality reference for my tattoo as long as I promised to send a picture of the finished thing. :)
That's just plain awesome!
Bro i wanna see that!!!
Cool
without pictures it did not happen
He has some pretty hot takes in my opinion. I don't agree with much of what he says.
“Writing is nature's way of telling us how lousy our thinking is" - Leslie Lamport
Nature's way? We invented writing
@@CrunchyBuncherAre we not part of nature? Welcome to epistemology 101.
@matisek, o e of my all time favorites, paraphrased by many famous writers, or many internet lies.
@@CrunchyBuncher human nature is nature, we are nature.
stupid dualism
🥰
Back in high school my robotics team had 2/3 of a whiteboard to work with.
The other 1/3 was for the afternoon robotics class.
At some point someone moved the dividing line.
Then someone drew a tank.
By the end of the competition a whole fourth of the whiteboard was a battleground of crudely drawn planes, tanks, bombs and troops fighting for planning territory.
It must be such a privilege having a whole whiteboard to work with.
I can’t imagine having 2.
LMAO!
White board war games for the win. 😂
That 4 week estimate, tells me there is no room for failure. You want people to take risks (managers, designers, developers, writers), then give them the room to try and fail (ideally fast, then fix it). If you blame people for trying and failing, they would be insane to take risks, to put their name on the whiteboard, or to even push themselves to attempt something they aren’t confident in. You want some risk which gives you creativity and liveliness, “empower” your people by only blaming them for breaking rules, not for trying and failing to achieve an outcome. Many many times I’ve had devs fail at something and come back the next week and knock it out of the park.
Still my favorite wasteful meeting about something was kinda like an hour of talking about a thing which was basically decided at the 10 minute mark and at roughly 50 minutes in, i had the feature done and tested.
So i ended the meeting by asking "It's done, can i finally leave the meeting now?".
That's such a power move! 😂
Only downside is that they'll expect it more often.
In videogames, this happens frequently. I've been in meetings discussing issues which were finished, but because not everyone is a software engineer in the project, some people just "cannot do tech" and had improperly imported stuff.
Like, this huge meeting gets called up because three people "cannot access our so-called working project" and the answer is "Oh, yes, you have to click "build" in the assets package there before you run it. Can us grown-ups go back to work?"
@@DudeWatIsThis those kinds of instructions should be better documented, or ideally, not something they need to do themselves at all
@@thekwoka4707 In my opinion, all game designers should be software engineers. All producers/project managers should be software engineers as well.
This way, we can have artists and musicians send us their stuff, and we'd implement it all ourselves on the technical side, with people who understand what they're doing.
@@thekwoka4707 I work with a lot of artistic people in audiobook production.
Anything I do, I have to be like, "Can a 5 year old do this?" If not, I need to try and make it more foolproof.
Had a VA have an issue with some text, and I showed her how to open up a different file, and told her to copy the text out and paste it into a word processor. She didn't know how to open one on her Mac, and since I don't know what the Mac default word processor is even called, I asked her to open her email and dump the text in there LOL.
So ya, a good amount of effort is spent making sure I don't have to have more such conversations lol.
OK so creating a test AI for an unreleased game... get it wrong?... nothing happens. It goes into production. some imaginary cars disappear from imaginary garages and "people lose their minds". Whereas if you trash the medical data of 120,000 customers; an aircaft altitude control system out by 100ft; A UI that doesn't update as fast as the radiotherapy hardware it controls; you think everyone should be like "caution meh... couldn't be helped" . It is clear these are not the same thing. A single unified "software industry" is a mirage. Hacking, programming and engineering - everyone needs a little bit of all of them, but some jobs definitely skew one way or another.
For real. I don't care if a web page takes ages to load or if my xbox crashes, but there are if statements between the brake pedal and the actual brakes in every modern car, and I think we'd all rather they didn't have untested corner cases or UB hiding in them.
Tim is right on this, the total time working on the code will still be the same but it's better to get something working first and refactor or add to it then it is to just build something once and never look at it again.
@@CivilizedWasteland Poor code is often unfixable... more and more effort and cost is sunk into papering over ever more ever smaller cracks. By the time the rewrite happens no-one can derive the requirements from the code. I'm all in favour of POCs and prototypes, but 90% working code never makes it beyond 95% working code. Don't aim to write poor quality code to fix later because that is all you will ever have.
Idk if this was deliberate but the UI radiotherapy example is an actual incident that ended up giving someone cancer . I think low level programming made a video about it titled something like "This but killed 6 people".
It's a product manager problem. Business wants predictability, which for small things is fine, but for entire projects isn't possible. Then if you miss a deadline you've been pressured into creating, you're on the hook.
In my experience in AAA as an engineer - the caution also comes from the fact that we really don’t actually have the “time to go back” and make something better.
Games, especially live service titles, require a treadmill of content which means a treadmill of tech, so while I am a huge fan of rapid iteration and try my best to practice it, it is hard to not feel the Caution ™️ looming over you telling you that youve only got one shot to do this right before you have to move on to the next thing.
Great explanation. I'd also add that in many cutthroat corp environments the manager pressuring you to just ship it, and telling you that "perfect is the enemy of good enough" will then send the blame your way when the not perfect parts of your cause issues down the road.
I've had good managers that I trust to defend me in a "move fast and break things" environment, but when that trust isn't there you learn coping mechanisms like padding estimates to ensure you're not risking your professional credibility.
That is true most of the time but with Warframe you basically only have thinga to grind and almosg all the temporary events are just repeating alerts. And its the game the devs actualy make time to rework significnat parts of it all the time. Imo only the "one and done" type solo games really cannot afford redo it later because they just wont fet touched until rework decade+ later.
And when a dev house does try to set Caution aside, they quickly acquire the 'scam' label: Star Citizen
They won't even let you clean up the code? With this way of working, no wonder most AAA games end up being a buggy, unoptimized mess.
@@yuichikita6018 It isn't even about being "let". You just don't have actual time to go back and do it. And if it's anything major, you also need to do enough testing to ensure you didn't cause a regression and chances are your QA org is minuscule if it exists at all, and the iteration times for some of these test scenarios are long... it does suck.
Tim Cain is like your chill game dev grandpa with all kinds of actually helpful wisdom
Love his videos. Great story teller. Great explainer of things.
As a game dev and lead, I agree with sometimes people being to cautious. However, here are some things that can make a task that seems simple way more than a 45 minute task. I have seen designers or programmers who don't know the code base go into the code and then have to spend weeks identifying and fixing the issues they caused.
- Building and testing. Often, particularly as games get more complex building the game and then testing it can take way longer than the change itself... hours or longer depending on the task. I have had builds+cooks that take over an hour after getting latest.
- Memory. On some platforms memory available becomes so small that before implementing a task you have to go on a treasure hunt. It might include negotiating with other developers, designers or artists to claw some memory back.
- Performance. Sorting a list for one character. Not likly a problem. Sorting nxn characters... now you may have to find a more efficient approach. Also early in a project maybe perf is not so much of a concern. Some projects later on, if you push the framerate under 60/120 fps on a particular platform, it's your job to fix it immediately.
- Game state save. If the state needs to be saved... maybe that is hard if the save system that's not designed well.
- Metrics requirements that all systems be tracked.
- networking. If you have to deal with list migration over servers in real-time and handle rollback, reduced data sends, compression etc... things might get harder. I'm not sure if this version of fallout has networking but it makes everything harder.
- Building UI to allow the code to be data driven (may vary depending on the engine). Doesn't sound like this was needed in this case.
- Streaming in and out data of disk for things that go out of view.
- extra stuff mostly for live issues like the ability to rollback code, logging.
Anyway I have also had developers tell me the solution I designed would take them years and I have implemented it in a few weeks. I have also seen devs try to refactor and spend 12 months on it... when they could have incrementally introduced the change and had less bugs and done it quicker because they spent 6 months of their time trying to fix all the bugs their first 6 month refactor caused.
Maybe its the people who are afraid to ask and raher waste time figuring everything themselves. The perpetual soloers
"Pre-mature optimization is the root of all evil." and all that.
@635574 could be but very often, no one knows.
@@635574it is also because today's stacks and platform have this complex abstraction code that you are never quite sure of feasibility as if you were coding things from scratch. E.g. currently no one codes a game from scratch, u must use unity or sth, hence to implement any feature you must know if unity api fully supports it, how and why.
Yep, all of these ran through my head as good reasons for actually following the process as opposed to just cowboy-coding it and submitting. Even though "it takes 45 minutes to code," that completely ignores all the other considerations, including things as simple as "now it has to be tested" and performance profiled, and all the rest.
Being given the ownership, space, and time to get the work done is so huge. The best and most enjoyable work I've done in games was either something I self published, something I made during a jam, or something I went "gremlin mode" on and made in secret, so the only other person who knew about it before I presented the finished feature to the company was one very trusting supervisor.
I complete get his point on padding and caution. But this is the by-product of poor managers not protecting their team members when they take those risks and someone ends up getting fired. They don't do it because the company doesn't make them feel its safe to do so.
imo it's about managing productivity in jira metrics or lines of code rather than just looking at someone's abilities and/or drive holistically
it’s so common everywhere in our modern society that the measures of success becomes something that is quantifiably measurable just because it’s measurable, so all the things that aren’t easily measured gets completely ignored
this, I got shit a few times for this because I thought "it's gonna be a few hours of work!" and 3 days later after vastly underestimated the task, I have my manager on my ass, demanding why is it not done yet.
That 4 weeks estimate one is absolutely wild. I am painfully familiar with tasks that take 8 hours for 30 minutes of coding because of paperwork, bullshit process, difficult systems or insane build processes, etc.
However 4 weeks is something else.
4 weeks is then saying they don't want to spend 30 minutes on it now because they need to be agile in their sprints.
Instead of going to the team and asking "hey, anyone wanna do this simple thing?"
I’m curious what would’ve happened if he just let them take 4 weeks to do it. Would it have actually been completed “on time”?
probably had a different task and with existing glitches took him a month, so he decided to be safe this time
@@ferinzz Yanno, I thought about this more, and I think 4 weeks kind of makes sense depending on the org if they mean it will take 4 weeks to get that change merged into your main branch, and not it will take 4 weeks to work on.
For example, I work at a corporation that has major issues with being obsessed with process that massively slow us down, hence my own example of 30 minute tasks expanding to 6-8 hours for me commonly.
Plus a lot of tech debt, legacy kludge, etc. The classics.
Hypothetical worst case scenario, I get someone important from marketing coming to me and directly asking me to do X request. It's 45 minutes to code it.
Well they aren't allowed to do that, I need a ticket to be converted to a user story or **I** will be getting in trouble even if nothing goes wrong, let alone if something does.
That user story has to be reviewed and prioritized by our scrum master/supervisor and it won't go directly to them, the BA's go through those tickets first.
So that'll make it to me in somewhere under 48 hours **if** they directly hassle my boss's boss about it.
Okay now it's to me, but tomorrow is the code freeze, and QA has no capacity.
If I shove this out without testing, I will personally get in trouble if anything goes wrong or even if someone notices to bring it up later in any way, because I'd be breaking process to get shit done.
Code freeze lasts two days, the next sprint starts after, and this story still hasn't been groomed yet.
Now at this point finally if I'm feeling nice and want to go out of my way, I can slam those code changes back, force a task into the sprint for it, and then sit on it until next sprint.
Next Sprint rolls around, I pass the task over to QA for testing, it's been 5 work days at this point, maybe 6.
QA takes a full day to test it, don't ask me why I ain't opening that can of worms.
It's been at least 6 full work days, I set this up for a code review and with some nudging in the DMs, I get this done in 7 work days. 9 if I and the BSAs don't prioritize it above and beyond what we're actually required to do.
Okay, 9 days isn't bad right? But the next deploy/push to prod is 2 weeks from day 6 in this process, so it's going to have taken roughly 3 weeks to complete.
Suppose I actually had higher priority work demanded by *other* important people in the company too eh? Easily could have been 5 weeks if we missed that second deploy window.
I also am required to test my work not just shit it out, so 45 minutes of dev work with our build times and requirements is realistically 1-2 hours minimum real work, then probably 4 hours of bullshit that still constitutes "real work" in the corporate agile scrum world, plus QA, so it's probably 10 labor hours from the dev and QA, 1-2 from our BSAs and the scrum master.
So suffice it to say I **am** pretty black pilled on agile scrum at this point but I actually sympathize with this random dev assuming they were referring to the time until this feature could be in whatever internal live/prod equivalent build in their process and not the time to actually work on it.
I'm still halfway through the video watching bit by bit over my work day, but I hope this isn't going in the direction of, "actually devs are just too timid these days, back in my day. . . . " because I'd bet dollars to donuts any such change is the result of how organizations choose at a systemic level to do development, and how to punish failure and reward success.
Personally, I would *love* to do a lot more "get shit done" type activity, but if I decided to be the change I want to see in the world and acted that way, I would rapidly get fired and become someone's "10x longer to accomplish anything" developer story on medium.
@@aza1209 He literally wrote them the code
(Im not a game dev). When management gets uptight with rigid deadlines and lots of followup/micromanagement, thats when I start to pad estimates to give myself wiggle room and to not stress out.
If they are more relaxed, I will just do my work and get stuff done in a efficient way.
I'm with prime. Whenever I brainstorm, I use pen and paper. Not even pencil. It's down to how smooth a good pen feels on paper
I usually brainstorm in a separate draft project, opened in my IDE of choice.
That draft will contain the most jank-code, known in the entire universe...
I then refactor it and copy paste it into the real project, bit by bit...
Pencil guy pens make me feel dumb it's hard to explain.
Mechanical pencil is where it’s at for me
That's exactly why I have a e-reader that can take notes. It's small enough to be able to carry around like a tablet, and it feels like I'm writing on paper. A lot of my colleagues think I'm a bit nuts but it's really a good way to work through your workflow.
For brainstorming sure, but i try to also have a note app like Notion or Onenote handy at all times(on my phone for ex) so i can write down whenever i get a good idea(which is usually when i'm not coding at all)
I'm a teacher, and manually writing things absolutely does things to the brain. There's a reason why many teachers who teach younger kids (I'm at the high school level) are trying to get away from only using digital tools. Forming letters with your hand and your arm unlocks something. I'm doodling a lot myself, regardless of whether I'm coding or designing an RPG scenario or whatever; quick sketches on paper or whiteboard are hard to beat.
I've been told this my whole life, but it's never done anything for me. Just takes me 6 minutes to get my thoughts out instead of 1.
@@Hwyadylaw Well, there are no universal solutions, just things that seem to work for "most people" and "it general". There are always exceptions! I'd know, I'm pretty used to being the exception when it comes to a lot of things =)
I found this when I was younger and typing couldn't hold a torch to handwriting in terms of absorption and I went along time not enjoying handwriting(hand pains/limititation of paper) and only last year when I went back to school and decided to impulsively buy a tablet did I find how it was the best of both worlds . And digital handwriting is something I think isn't considered or mentioned atleast as much as it should. I think I really would've found my stride if I had this piece of tech in my grade school years, and I'm just slightly surprised the conversation seems to be purely typing vs paper n pen
@@Hwyadylaw Same. I find most of the value from writing comes from the review/editing process rather than the initial draft process. My memory is already good, and writing doesn't help it any. The problem is when my thinking is super screwed up and needs the de-fragging that happens in the editing process. Editing is sooo painful on paper, and soo easy on a computer.
I was once a bicycle courier, and back I the day we had a pad of paper to write our deliveries out on. You never needed to look at it, because once you wrote it down you would remember it. If you didn't, you would ALWAYS miss one. You could have given us a pen with no ink and we would have probably been fine
Best ventriloquist act I've ever seen. You can't even see his lips move when the puppet is ranting about coding practices.
MVP
Great video!
Two points:
1) I used to have a hard time remembering/processing anything that I typed, versus anything I wrote down by hand.
I made a conscious effort to record, and save, everything via digital files (if possible).
It took several years, but now I function better with typing than I do with writing things by hand. I think it's just a matter of your brain (for those of us from older generations) needing time to rewire itself.
2) Shortly after college, the general manager of a hotel I was working for introduced the concept of diminishing returns to me. It was really an eye opener, because I have a tendency to be a perfectionist.
He helped me realize that you eventually get to a point where any additional effort will only produce smaller and smaller results. At that point you have to honestly ask yourself if the additional work is worth the miniscule gain.
Finishing returns or diminishing returns?
@@stevenrosscarpenter😆 I meant diminishing returns. I didn't even notice that typo. Thank you!
@@lawrencefitzgerald4744 no worries. And i definitely agree with your points
When it comes to writing I'm the opposite. I've always disliked writing by hand. I find it extremely tedious, ugly, slow, and hard to read. If I must take notes by hand they will always be terse to the point of being useless in about 1 week since I won't understand what the note was about and if I must write more than a few short phrases or words it will be scrawled so poorly even I will struggle to read my own handwriting.
Typing is a godsend for me. *shrug*
Also yes I have even more trouble reading other people's writing. If you hand me your hand written notes unless you printed them nice and clean it will be difficult to the extreme for me to decipher your handwriting.
I have a feeling that these guys rarely worked in an environment where they had their schedules planned for them and code bases where there was never time for tech / code quality improvements, but always time for management-mandated features and meetings. There's little ownership if you don't own your time. You're simply onto the next task without looking back.
The context here is key: is the dev saying it's going to take 4 weeks sitting at a keyboard focused on the specific problem or is it because they have other higher priority tasks and meetings before sneaking in unscheduled work? When you bandwidth is fully maxed out, the scheduled completion takes a lot longer.
That is what i was thinking. No matter how bad he is there is no way he needs 4 weeks to do an hour of job.
4 weeks is enough for someone that does not know how to do it to learn it and do it.
It seems he needs 4 weeks because he was doing other things that needed weeks to do and he just put it on the back of the list.
If he needed 4 weeks to do just that then what is he even doing there? why are you paying him or employe him?
We broke new ground! On top of the "butt avatar" bots, we now also have a "crotch avatar" bot commenting! Prime moving up in the world!!!
he's so growing
they are weakening. I had to scroll down to get to the butt and crotch avatars. Step up your game, bots!
Most concerning part is.... that they are sometimes literally full nude.. and youtube isn't able to see that
@@Sakrosankt-Bierstube but it removes totally normal comments no problem
@@formbi Brooo.. don't get me satrted on that. Everytime i actually take time and write a response to a ridicilous statement with a huge amount of facts and sources... youtube decides to randomly hide it. No insults, no direspect, just (atm) proven facts and answering all the questions...
It just comes down to ownership and incentives. If you're an owner, you're incentivised to do things as quickly as possible. If things go wrong, you'll certainly give yourself the benefit of the doubt because you know why they went wrong. You're also able to bypass all processes to get your code into production, drop everything else to focus on the task you want to focus on, and perfectly understand the requirements since you created them.
If you're a developer at a large company, your manager evaluates you based on your sprint velocity. So, a task that requires 1 hour of hands-on keyboard coding, if you tell your manager it will take 1 hour and it ends up taking 2 hours for whatever reason, that's a negative mark on your next review. Instead, you add a couple of hours for understanding and probably going back and forth on requirements, a couple of hours for whatever your build/review process is. You're probably not as experienced as the owner who has been in the industry for decades, so what takes him an hour might actually take you a day. You also have to fit it in between all your other work, so you end up with a week's estimate. After all that, you know any step in that process can go wrong for any number of reasons, so you double that to two weeks to give yourself breathing room. At this point, you think it will take a maximum of 2 weeks to deliver, so you tell your manager 4 weeks. When it gets done quicker, that's a positive mark on your next review.
There's probably also just some general pissing about with estimates thrown in there too, but the point is that as an employee in a large company, you are actively incentivised to piss about.
“You can always go back and change it” don’t forget that, doesn’t have to be perfect
But mostly, the crap you wrote is going to prod, immediately, forever.
@@JeremyAndersonBoise That's more of a problem with how easy it is to replace. If it's hard to replace then it'll stay. If it's easy to replace then it'll be gone.
@@CottidaeSEA Nah, corporations are averse to paying back any sort of debt - technical debt included. Even things that can be updated easily have to be justified by how much they "move the needle." The response from managers is always "if you can spend another 15 minutes updating something that doesn't matter then you can spend it updating something that does."
@@dissident1337 exactly. If it's hard to replace, it might be worth replacing eventually. If it's easy to replace, it might never be worth replacing at all.
@@dissident1337 Yeah, but it all depends on if the code needs to be changed. The manager shouldn't care about the code, that's not their job.
That comment about Confluence came up as I'm writing documentation in Confluence. I felt that in my soul as it leaves me
Fyi: there are plugins that let you convert markdown into whatever confluence is using. If only confluence used actual markdown, so you wouldn't need to convert.
@@NostraDavid2 Speaking from experience as a former Confluence admin, round trip conversion between Confluence and other markup languages doesn’t work well at all. Heck, you can paste markup from Confluence directly back into where you copied it from and it will render differently after you save it.
I don't know why he hates on Confluence. What's there to hate?
"Because it's theirs" is so real. Working on your startup/game/website is 10 times more motivating and if there are rewards you're the one who gets them
Tim Cain would be a great guest for your podcast!
Tim is a gift, such an incredible developer and game designer.
The combat AI problem is the difference between someone who loves their work vs someone who loves their perks. I had a friend who wasted three years on "4 week" people and never got anything done, they left when they found something with more perks. When he met me, we published a game in two weeks. Sometimes a 45min problem, really is just a 45 min problem and you've been sold a lit for three years. Other times, that 45min problem is a 4 week problem. The important is learning to tell the difference.
Estimates baloon when there are bad insentives. What happens if a developer misses an estimate? Who needs to get out of bed to fix the incident? Yeah, maybe there are some people that are genuinely too risk averse. At the same time it's easy for someone that doesn't bear the personal consequences to have a high risk appetite.
100 times this.
You know what's more painful than confluence?
Being the on call engineer for a customer facing error, opening docs to find out the failing service isn't even mentioned in the team's docs - because confluence takes too much time.
I'm given 30 minutes to recover a system - devs get to ignore tech debt because "move fast and break things" (aka throw caution to the wind) because they aren't holding the bag.
@@krityaan I think the solution to this is that every team must have a member on call, ready to help out when things blow up in prod. You should only be allowed to move fast and break things if you can fix things just as fast as you break them.
@@brettmurphy7588 this happened in Amazon - where oncalls rotate within team members 😂
It doesn't really work if everyone is afraid of PIP and on-time features are the only metric mgmt cares abt.
@@krityaan Devs don't "get to" ignore tech debt, they're often told that addressing it is forbidden. "Move fast and break things" is a management decision.
Proabaly senior devs arent at a risk of being fired or at all under scrutiny.
You don't reap the rewards of risk as an employee. You get laid off, over worked, reprimanded, and the public hates you regardless of the outcome.
"Plans are worthless, planning is everything." - Dwight D. Eisenhower
Quotes are worthless. Quoting is everything.
@@balijosu “The wisdom of the wise, and the experience of ages, may be preserved by quotation.” - Issac D’Israeli
@@jeffreyhymas6803 "I never said that." - Albert Einstein
Been watching Tim for ages; his content is so brilliant and I've learned so much from him about the dev industry and how to keep proper mindset. Glad to see you boosting him.
I also write my notes with pen and paper.
I never remember any notes that i type, nor do i ever look at them
in 17:25 where you talked about blame avoidance , i myself hate most meetings and am a tell me what to do and i make it guy but when the architecture is not discussed and last minute changes are told(which they are often told where i work at) the amount of steps i need to go back in order to accommodate said changes just breaks me so i generally make sure to tell others what exactly i will do so that they can spew their creative garbage in the beginning itself so the "just build it " approach dosent work always .
Im graduating as an aerospace engineer here soon, and from my experience in internships its very much thee same in other forms of engineering... I talk about it with people all the time, its as if the industry has lost its passion... I remember having a conversation with one of the grey hairs at one of my jobs, and he would tell me how engineers used to get into yelling fits with each other because they would literally be willing to go to war for their projects, and so much stuff got done, and how now everyone would tip toe around because HR might bash your head in for showing the slightest bit of energy. This isn't just CS, its the whole corporate culture.
Well yelling can lose you your job if HR gets wind of it. Why show your passion at work where you'll be punished for it vs doing your own personal project with the boys where HR won't stop the fun
At my internship with a (then) up-and-coming company, one of the grey hairs who was there from the start said that he loved working at the company up until it got big enough that the HR department was formed. After that, it became just another job.
The corporate culture of buzzwords and HR-compliant passive aggression seems absolutely soul draining, idk how anyone could define that as a good work environment
@@NihongoWakannai how did the corporates become like this?
Love his channel. If you are interested in everything game design, he is basically a college course.
1000% , if there is a niche issue, just hand it off and say yolo, the final product will satisfy the need assuming someone doesn't suck. I came back to a company and they were still using the same damn app after 18 years. More surprising to me
I fully agree with the corporate vs indie take.
A baker that owns his own bakery can take the risk of creating an interesting new recipe, because it's his bakery.
But a worker in a white bread factory can't just add a bit of extra sugar just cuz he felt it would taste better. He needs to propose it to his higher ups, they will test it, balance it, market it, all the good stuff before it is created. Among all the things that are required to do, this idea by the worker is no longer just his work, and it's not "his".
As a side note, this whole "no whiteboard" thing is not happening only in tech companies. I used to work in the sales department for retail smartphones company. We didn't produce anything, just import and resell in big retailers. So purely business corporate. This sort of caution is permeating all corporate culture. This lack of interaction is becoming the norm for many companies.
I also like to work in the old fashion way. I like going to the office, talk to my coworkers, my boss, my clients, and come up with very interesting discussions. I think 90% of what I learned came from those "unproductive" discussions that "could have been an email". I think the sale campaigns we came up while taking coffee or hanging out in our boss' office room were some of the best things we ever came up with. While all the crap we made during the pandemic lockdowns, through "productivity" pipelines, were just so fucking lifeless and riskless.
Around 2:30 when prime talks about using a paper and pencil to write things down--my mother wrote her master's thesis on the connection between movement and learning (got my degree in English, so I read the whole paper while I edited).
One of her most interesting findings was that people retain information better when they're performing some sort of movement alongside whatever the learning objective is for the exact reason he mentions here: it's kinetic. It's engaging more than one sense to recall information. That means more synapses firing, more ways to engage the body in the act of learning. Combine that with spaced repetition, and you have a great method for learning.
It's also why a lot of children's songs have choreography and motion to go with them: you're associating a motion, a tune, and a word together and repeat it over and over and over. It's why neumonic devices work so well. And it works double-time with kids, because they have so much energy that they get to literally expend extra energy into the learning of those things while they're not even consciously aware that they're learning (there's a lesson somewhere in here about learning being tied to games as well, but that's for a different post).
So in regards to writing things down, you get to 'feel' each stroke of the pen, the tactile press of pen against paper, and it kinda slows things down in a way for the brain to process a little more clearly, as opposed to repeatedly striking keys in a way that feels semi-homogenous.
Though a lot of kids who participate in spelling bees will often do a similar thing where they type on an air keyboard to recall the spelling of a word because they're mapping the placement of a letter to their mental keyboard, so there's definitely room to further explore there too.
sounds interesting, is the thesis available anywhere?
@@user-sl6gn1ss8p I'll have to ask my mom. I know her thesis supervisor was trying to get her to publish, but I don't know if she ever did
When we write something down, it's like we focus more and depends on the mnemonic you've been using during life
I've been in a similar 45 min vs 4 weeks situation.
I was a senior proposing a rewrite of the most bug ridden system in our software. It was a system that no other dev wanted to work on. It was large, complex, and a bit of a hydra (fix one big, three more pop out).
I was constantly told no for the same reasons no one wanted to work on it. Plus, the original implementation took something in the region of 5,000 hours.
Thing is, I had a clear vision in my head of how to fix it. So I spent my hour lunch break for a week building an 85%. I presented it and was given the green light on the rewrite.
Finished and polished it in two months of full work. I don't work there anymore, but in the year since it was deployed there were no bug reports. I can't claim the code is perfect. It is roughly 6,500 lines, so I'm sure there's something. I did put a lot of effort into making sure it worked properly though.
Just for context, the old system was 80,000 lines of code. The devs that wrote it were extremely abstraction happy, and went full on into the SOLD principles. No method was more than 5 lines of code.
I hate abstraction, specially when it's used only at a single place.
@@DavidMorales-s8d Abstraction is an extremely powerful tool. But, as we learned from Uncle Ben: with great power, comes great responsibility.
My approach to this is basically write the code inline and the right abstractions will reveal themselves.
The wrong abstraction can hurt more than no abstraction.
That feeling that you're trying to describe with writing on physical paper reminds me of the vague, indescribable feeling i have with a PDF vs a physical magazine. It has all the same information, but there's something about having the physical paper in front of me that makes it so much easier to absorb the information.
did not finish the vid yet but i think it has a lot to do with management running you into the ground if you let them
before everyone had more of an understanding of why things can take longer or need to be cleaned up
Furiosa was amazing, anyone who said it’s bad can’t enjoy fun and I pity them
the 4 deep function creation is the modern hell from all nodejs backend devs ( as myself ). This is what I like to call "The wrong level of abstraction".
I love the way you describe writing things down!
I still write down almost everything important into a notebook with a ballpoint pen, be it a subject I need to bring up in a meeting or me just tracking down some nasty bug. Writing things down on a paper by hand makes you compress ideas into more concise forms. Ballpoint pen forces you to admit your mistakes, either you live with them or you have to rip out an entire page full of useful information. If you've made a mistake you have a high chance of remembering it and finding the important things just by browsing few pages back in the notebook...
As an 18 year old still in education, I always reach for a pen and paper when working through a problem. I have tried using online tools but it is simply not the same
Perfect is the enemy of good enough. But telling the difference between good enough and almost good enough can be hard
34 minutes in and we find out he gave up Whiteboards for Confluence. Imma head out.
Whiteboards and gay little systems for PMs aren’t even interchangeable. One is a charade and the other has solved real, important problems.
Thank you!
Ewwww confluence.
Just use markdown files and feel nirvana
@@tropicaljupiter gay is not even a ad-hominem anymore, its not even offensive. I read gay and my mind equates it to "mediocre"
@@monad_tcphonestly I saw it and translated it into the old (pre 1930s) definition of "happy". I read a lot of really old books as a child.
I'm basically the solo dev data guy at my company and the Caution is insane, I only graduated 2 years ago and I've gotten so locked down from people's feelings being hurt over changes I try to make that I now have to make sure I go about implementing change in ways that make everyone happy while actually getting the thing done. It's incredibly stressful and if left to my own devices it'd have been done to the same degree of success in half the time.
Personal experience taught me that relying on whiteboarding to conceptualize ideas is a crutch that weakens us in situations where it's not available. It's perfectly valid to continue relying on it since we have many options to digital whiteboard these days, but just know that those sitations where you can't use it will still arise.
That went deep, I see you, 🎉
Drawing boxes and lines on a whiteboard is the most enjoyable part of being a software engineer. Starting a new project filled with hope and optimism, it’s great
doing tim dirty using a nuka world screenshot in the thumbnail
😂 fair
"I dont wanna know why, I wanna think about it" is the most relatable shit ever. At first I though this mentality is wasting my time but it really is the only way to grow
Timothy Cain is a treasure trove of wisdom when it comes to software development
I would love to meet Mr. Cain if I was Abel.
I agree so much with your take on how bad when everything needs to be discussed and planned with everyone where nobody has any ownership. Just switched teams recently where they do this. Everything needs to be thoroughly decided, almost every line of code must be described in the damn task. It comes to the point where they panic when they need to make some decision alone without the opinion of everyone. It’s ridiculous
About the "good ownership": i want to discuss HOW to implement a feature because i know they are going to do it with language features 15 years old and take quadruple the time it would take me to do it. And i just cannot review EVERY work AND refactor it AND build features on my own AND not upsetting my colleagues because i always call their work bad implicitly this way...
I'm with you, any time I need to actually design something complicated I draw out the parts, if I have to erase something I kind of recursively think about how I came to that original idea because I might have just been dumb
The purpose of Jira is more than just tracking tickets like stickies. They have Trello for that. How would you track tickets for an entire team of engineers on a single whiteboard? Or prioritize a massive backlog? Or include screenshots in bugs? Or links to Figma? Or comments from customers and discussions on problems? Or track which stage of development a current task is in? I don't see how a whiteboard could solve that.
this was 2005-2007 dude
@@ethanwasme4307 Yeah, it just sounded like Prime was saying that he still doesn't see the point of Jira even now, like whiteboarding is more favorable to track a team's work than Jira.
Yeah, I don't get the hate for Jira and Confluence.
@@EdmondDantèsDE I think Ayn Rand's novel "Atlassian Shrugged" really changed peoples perception of Jira.
Jira is shit.. because it is away from the code. Github issues are better, because they're closer to the code.
Ownership YES! But I would also like to add that with ownership comes accountability, a lot of people are afraid of being accountable for the quality of their work. Sometimes for good reason, in case they work in a bad organization.
I suspect his age being the problem.
Our education system has pre-programmed younger generations, to not argue with older people. The older person has usually the last word anyways, and many seniors abuse set power to the fullest. Them pushing their will through, regardless of being correct or wrong...
Then there is the other developer, who refused to write a quick 45 min mock-up. Ask the same question to a junior developer, and they will do it without a doubt. The developer he asked was probably a medior, who had done such request in the past as a junior. He most likely got bashed afterward for his jank code, which is why he now refuses to even start working on a so called mock-up...
Human behavior isn't all that difficult to understand, if you just look at the problem from the other persons perspective.
lol - data scientist here. We have a public log and we discuss what we work on every morning. All our work gets reviewed by another analyst before it goes out. The virtual white board, hey we would be told "there is a fire, can you put it out today?" and the next thing after putting it out, that analyst would publicly call out "Can anyone review this real quick?"
As soon as I got to the part about the original Doom, I opened it up in Dosbox, quit, then counted the names in the credits. 9 people were employed by Id at release, with only one that was credited as "BIZ", and that's offset by not listing the guy who wrote the music and also no Tom Hall (I forget if he did anything besides the initial design doc though). If you meant just the engine, 3 people are listed as programmers, and 2 are listed as "Tech Support". Also remember that Doom was something like Id's 6th game (depending on how you count the episodic ones and the ones for Softdisk that were basically Id).
_ohhhh MAN!_ Prime and Thor are going to start a pod? Hell yes! There is actually such a lack of real quality podcast of software development by people who really know the industry. It's mainly a bunch of undergrads who started a podcast - not a bad thing, but not really on this sort of FANG level that Prime speaks at. Super excited for that
45 minutes to write any code is an eternity. I write most of my things in couple of minutes. There just has to be a) 25 years of experience b) already solved this last week c) two weeks of fucking around with prototypes and thinking about it
When people say "dear game devs" it's almost always a fundamental misunderstanding of who influences what people are concerned about
ThePrimeTime is definitely doing Boomer Mentality. There was a shift in schools that to call out bad behavior is to write the students name on the board in school. Things have changed. This explains the reaction.
I can see how can one need so much time to get little done, specifically with legacy codebases. I've had a friend of mine who landed his first job as a junior Unity dev, and he had to deal with basically yandere dev level of legacy code. So, doing anything took him a lotta time, and eventually he had to rewrite the entire project from scratch (but left the company before he finished)
When most of your coding errors come from accidentally hitting Undo. Its like taking a written test and skipping questions on the flipside.
Dear Mr. ThePrimeTimeagen, I think there's definitely some good material here for a pod. Where will we be able to find such a pod when available? Warm regards
Damn, I really like it when the different channels I'm subscribed to start referencing each other and do collabs and stuff!
I've had group projects where I've asked the others in the group how they wanted stuff done. Either got "does not matter" back or no answer at all. Decides to do thing on my own, shows the others my finished thing later. "Why did you do it like this? It should be like this instead!". But I did the thing the way I thought was best because nobody had anything to say about it?
That group project also taught me that having one leader to direct the group is essential. If all people in the group have equal power over the project, nothing will get decided in a good way and a lot will be done in a wishy-washy way. Especially later on when multiple people in the group started losing faith in the project, while I was actually believing that we could do it, was when I felt that someone that could be the center pillar was important. One single person can have utterly terrible ideas, but can also have fantastic ones. Multiple people will together compromise and find ideas that will never be bad, but will often never be that good either.
this is very anime-esque
A well defined and respected leader is most definitely a requirement of any project.
You took a paragraph to write "a camel is a horse designed by committee"
The comment about "I don't want to know why, I want to think about it" is very so true. I get so much crap from my friends when say stuff like "I wonder if/how..." and immediately get smacked with "stop guessing and look it up." Critically thinking about a thing seems to be highly discouraged in favor of just "let the magic box tell me the answer."
Depends on what you're thinking about is. You can critically think about something, and still look up sources to get you the general idea. I think it's best to do both. Don't just blindly search, but also don't just guess and assume.
This is highly dependent on what the topic is though. Development versus geopolitics for example.
@@some_lurker There is little in life without nuance.
Even when there's a consensus, there are things left unconsidered. It takes people willing to think on their own to change the status quo. In development, and geopolitics.
Truth is not a boolean, it's a float.
My recommendation for discovery is to make your best guess and approximation, accepting you are likely uneducated, and use the black box as a proof (argument against yourself) for your initial theory. Then, if your idea is still held true, find out where it differs from the consensus.
Now you can compare two known quality positions: your own tested intuition and the populous solution.
Usually this type of comparison is what brings the best ideation.
I do this all the time in UI/UX and coding patterns, as well as my geopolitical views 😅
It often positions me in nuanced yet easily defended places. Other times, it makes accepting the status quo easier, as I've realized my proposition falls short.
7:50 Sounds like a 1 day task to me. Time for someone to understand it, write it, write some tests, accounting for the fact that this guy's experience level is almost certainly greater than most of the team, plus some wiggle room just in case. Maybe add a few days if there is a significant degree of integration/E2E testing/manual testing involved since inter-system testing is usually where stuff like this gets hard, especially if you're handing stuff off to different people like QA, since they need to learn the changes too. I don't get 4 weeks though.
> Pausing to guess what the statement will be before they say it
Prime literally training himself like an LLM, with twitch chat as RLHF. GENIUS!
I agree, the workers should own the means of production.
is this a communism mentioned?
@@ThePrimeTimeagen maybe accidental on your part but I would say definitely
Reminds me of when socialists think that any program that helps people is socialism in action, even when it is fully powered, designed, and executed on capitalism. The point being, owning your job is not strictly isolated to only existing in communism, rather, being a business owner is extremely popular and accessible in capitalism. Some markets are tougher to break into than others, but that's natural, and oddly enough the counter-balance is forcing industry leaders to compete instead of cooperating.
When I'm asked how long something will take --- I give a really good answer of how long it SHOULD take... the realities are things rarely go the way they SHOULD.
If you take that best guess time and multiply it by 3, you'll pretty much be right on the money every time.
Someone in chat has a 6' whiteboard in his bedroom??? :D For what, planning bed moves? smh
yes
@@ThePrimeTimeagen dropping spontaneity like a hot potato :D
You're right on writing stuff helps with memory (there are definitely studies on that) and creativity (not sure if it's science-backed but a piece of paper is definitely a better canvas for *drafts* than computer tools)
Unironically, ThePrimagen here makes an argument for workers owned companies, which I think is rather compelling. Socialist Prime, LOL
Worker owned companies with the management replaced by LLMs
I still remember applying to colleges and trusting the text entry web forms as my editor to write answers to the plethora of questions, short essays etc. I also remember learning why I should never, ever trust text entry web forms to store anything important as I retyped everything.
I hate the phrase "ownership of code". Am I getting dividends on this code? Do I "own" the copywrite? If the answer to both these questions are "no" then I do not "own" the code. The company does. I get people should feel a sense of responsibility when things goes wrong - learning from it, and when you are on the clock fixing it. That responsibility doesn't extend to me being phoned at 3 am to fix an issue on some code I wrote.
Never been on rota eh? Volunteering for the on call rota and fixing shit at 3am will put you on the fast track bruv. No need to do it if you don't want to, but most places will require it at some level of seniority. git gud and be a team player and own your shit, it's got your name on it.
@@seannewell397 I specifically mentioned "when you are on the clock fixing it". I'm talking about getting phonecalls on *my time*. Being a team player != being a slave.
What he's talking about is the plain-mid result that comes from "design by committee." But it's challenging to run and gun---to just go and make it--when it costs time and (big) money.
"... Games have gone from being an expression of an idea [...] artwork of a particular person or group of people, into a corporate driven, money seeking instrument..." hey, there is a name for it. It is called Late Capitalism. And is happening as stated by some crazy dude dressed in red... Lenin if i'm not mistaken. Curious, isn't it?
Well, seeing the flaws of capitalism doesn't take much. Coming up with something better is the hard part.
@@sealsharp Just a rewind to a version of capitalism which isn't as horrifically corrupt and putrid would be amazing in the short term.
@@dragonx3085 Also actually following the concept of capitalism would help too. Companies need to stop getting handouts and actually have the free market decide their value, the only non capitalist thing I think that should be forced is that employees are actually paid a fair wage to how much a company makes.
Fucking love Tim Cain's channel, I'm glad he's getting more exposure
TL;DW: Unionize.
gross
@@alexgabriel5877 some people think licking boots is gross, but I guess opinions are diverse.
@plumbingphase yeah. the new halo was such a hit.
@plumbingphase"there's no way for everyone to be well off, so you must go at it alone". If you really believed that, would it not make sense for you to NOT tell people that? So that they fail and you win?
Be the one that doesn't join the group, and receive head pats from your supposed betters, but in silence please.
@plumbingphase Right, lets be a cuck for corporations because the worker wants more respect and power in the workplace lol. Maybe the country should punish businesses that "offshore". And if it is feasible to automate it should be done regardless depending on the job. Keep simping for those billionaires. One day you will get yours...surely!
I think it is not only about ownership, but also you can't expect things to grow exponentially in cost and scale and that not have a big impact on what risk is acceptable to take. Its easy to not do long planning sessions and just sit and do it when a 0.01% outage doesn't cost 20 years of your salary.
Not a game dev here, but was a game journalist (actually owned the site). We never had an issue with publishers having problems with negative reviews. As long as they felt the coverage was fundamentally honest they were fine with negative reviews.
It is scientifically proven that writing by hand works differently than writing in a computer.
My alternative? Having a blackboard (ew, whiteboards) with chalk at home and a webcam so that my team can see it as if they were in the room.
I have managed to reconcile the worst of both worlds.
Okay that bit about make the code work, then make it work well thing you said just landed in my brain like a cinderblock.
Writing is a very primal act. It's literally magic.
I appreciate this video. Its really interesting. I'm a solo dev, but it's a good look into the corporate side.
Nothing better than sitting in the backyard with a notepad writing down ideas and actually considering them in real time.
CHRONICALLY UNDERESTIMATING TASKS IS HOW I FEEL ALIVE
Real talk that's the realest thing I've ever heard
To add to it, writing by hand enhances learning and memory, even if you use e-ink. I love having notebooks, plus knowing the medium has an end to it, a limit set of pages is a different mentality
22:47 - A better question than this is:
How can we ever hope to as an industry do better than our ancestors before us who had to JUST DO in order to get things done? How could we ever continue improving without the means or the opportunity to?
The reason people don't want their name on a whiteboard is that they have been inculcated with the notion that anything that makes your uncomfortable or anxious is an *ATTACK*. And let's be clear, being attacked can make you uncomfortable. But the problem is, when you invert cause and effect, and conflate all discomfort with abuse, you have manufactured a minset which is antithetical to accountability and professionalism.
Its interesting how this video can be applicable to any software field and not just game dev. The work culture shift has been insane, you can't push for ideas anymore or you'll lose your job.
9:40 I worked on a project where I estimated a change would take 5 minutes. My senior argued about it for over half an hour. Then the person junior to me completed it in 5 minutes. It took longer to argue it couldn't be done than to do it
The same senior plus a second resource were tasked with a small project. I spent a few hours documenting how I thought they could do it and what code existed to make it easier. Two months later, they had virtually nothing to show for their efforts. Before tearing them apart, I took an hour on the weekend and built exactly what was expected. An hour; I timed it. They were permanently removed from the project.
if you liked that one, I liked his take on generalist programmers vs specialists. Pretty great insight and really shaped how I focus on getting better.
yeah, when you write it down is almost like talking it outloud. Dfifferent parts of your brain sync, and things that are not so clear start to get more and more "visual". I do feel the same way!
Tims videos are amazing, I sent this video to people I know who have problems in the office.