BrandGhost

Programming At School vs Work - Principal Software Engineering Manager AMA

So you're learning to program at college or university, but is it the same as what you'll be doing on the job? Let's discuss what might look the same and what might be different so you can be better prepared! As with all livestreams, I'm looking forward to answering YOUR questions! So join me live and ask in the chat, or you can comment now and I can try to get it answered while I stream.
View Transcript
okay we're getting things going here just got to get all the stream software kicked off I wish it just happened like all at once and I didn't have to make small talk here while I wait for it to go there's Instagram there we go I think that's it um substack still connecting I don't know why it's like that there we go substacks on Tik tok's on chat we'll see if chat's on um but yeah I'm excited for today's topic I think um this is one that came from was it from Reddit I can't remember if it was from Reddit but I think it's a good conversation so for folks that are joining um if you're new to my live streams definitely you know leave like comment in the chat I'm happy to answer questions it is an AMA format if you're watching the recorded version of this just a reminder like this is why I put the amas on um hey Alan thanks for letting me know linkedin's working I appreciate it um yeah if you're watching the recordings like I do the amas so that I can answer stuff in the chat and engage with folks um otherwise I would just record YouTube videos so uh happy to do that hello Natalie uh yeah you're back awesome thanks for being here again uh I appreciate it so yeah I'm going to put a link to the article and for folks that don't know um this article won't go everywhere unfortunately um it just goes to YouTube twitch and Facebook but um I always kind of mention to people that the topics for the live streams are like 99% of the time they're going to be my newsletter article uh it's at weekly. deev leader.com [Music] a Blog right so if you're like hey the live streams are kind of cool I want to see what's going to be discussed definitely just go to weekly. D.C I put out the newsletter on a Saturday like I said you don't want the email no sweat head there you can see what the Topic's going to be and um something else that I'm trying to do is I'm noticing that it's uh it's more effective for me to be able to use content from code commute which is my Vlog Channel that I do for software engineering um I'm I've been recently taking the topics from code commute and on code commute it's kind of like this live stream where I'm just kind of blabbing but I'm not live streaming from my car because that would be kind of dangerous to go to the chat and drive uh so instead I just kind of record myself talking about software engineering topics and answering people's questions that come in ahead of time and uh I've been finding that to make my newsletter article about that and to make these live streams on the same topic has been working really well at least for keeping me like uh focused on what I you know would like to be making content on so I'm going to keep doing that so if you're you know you don't want the newsletter that's cool you can check out code commute um I've been I think I've been putting out two videos a day on code commute which is pretty wild uh during the week at least so it's at least 10 videos a week um so it's been really fun to do that so anyway the topic for today it's enough blabbing right um topic for today is going to be programming at school versus coding at work and I think this one came from Reddit but I can't remember someone might have asked about it and um yeah the reason I I like this as a topic is because I think it's actually applicable to a lot of people and um when I say that it's applicable to a lot of people whether they whether they're thinking about it or not um which is maybe kind of funny but the idea here is that there is going to be in my opinion a big difference between programming at school versus coding at work and uh I think understanding the differences and sort of the intention behind them is really valuable I had a couple people commenting on the original YouTube video and they were saying like hey I never thought about it this way like thanks I think I needed to hear that so we'll we'll dive into that and uh kind of go uh look at the differences now I should call out this is from my perspective um if you have different thoughts feel free to chime in in the chat and as I'm blabbing away here feel free to chime in in the chat and ask questions um as a heads up because I know there's a you can't see what I'm seeing right now but there is the shared chat which is a bunch of platforms but then Tik Tok is separate Instagram is separate and substack is down here and it's separate so thanks for joining on the substack Liv stream folks I am eager for them to make substack streaming uh not just on the mobile app and then that way I can look at you at the same time yeah feel free to ask questions I will try to monitor the chat as best I can okay let's dive into it so coding at school um so for a little bit of background I went to the University of waterl for computer engineering and uh I would say that my experience with school is like I didn't I didn't enjoy the school part I felt a lot of school for me was a bit of a waste of time um that's how it felt going through it and it meant that assignments and stuff like I wasn't really into but I had a lot of courses that just like weren't programming at all now I went for computer engineering so I would have kind of expected you know I'm going to get like half Hardware courses half software courses but it was like I don't know like four years of like math chemistry physics like just stuff that I like I don't know um I understand that there's an importance there but it just felt like I was spending a lot of time doing stuff that like you know I'm kind of getting towards the end of my degree here and like it would be kind of nice if I was learning about stuff that felt uh applicable um but when I did have programming classes uh they were it just felt like they were like very much like small scenarios and when I when I think about how other people are going through school by the way your mileage like not only can vary like will vary uh hey mrar good to see you on Tik Tok um I just wanted to mention that like for me it was very much like these these smaller scenarios so the way that I I talk about this from the perspective of what you're learning in school is that there is a purpose for for what like why this stuff is set up this way in school hey Dylan good to see you thanks for joining Dylan participates in code commute so uh I've appreciated his question coming in I've answered a couple of them so thanks for being here um when we're looking at stuff in school assignments right so if we think about like how school is structured um a lot of the time what's happening is that we're being presented Concepts right so and I can't say this uh in in Canada I would say like college and university are different things more often structur that College is very much uh handson and university is much more more like theoretical in general uh Amar is asking what my major is I went for uh Computer Engineering so uh honors Bachelor of Science in computer engineering um and when we're getting presented these Concepts in University the idea is that you'll have someone like basically instructing the class they're introducing these Concepts to you and generally what's happening is they're presenting some information high level to you in a couple of different ways right so they might be talking to you about it they're going to be writing it on the board or projecting it I don't know things are different these days I guess putting slides up who knows right um and then the idea hey Brax good to see you um the idea is that you are going to be taking notes and all of this sounds very simple but what's happening is that information is being processed in different ways right and this is very like overly simplified way of looking at like how we start to learn things you have some auditory cues you have some visual cues and then you also have the fact that you are writing things down so you kind of have to process the information cuz I don't know for people that have gone through this right if you're just writing down the notes word for word like yes that will help reinforce what's happening but sometimes like what's more efficient is that you have this whole wall of notes that are put up in a lecture and like what are you going to do just like you could just take a picture of it now right and then say good I have my notes or maybe they just pass out the notes but the whole idea of taking notes in my opinion the benefit is not just to have something to study from like I said this is probably changing for a lot of folks these days but it's that you actually have this additional opportunity to process what you're think like being presented to you and that means that you have this extra pass of like how do I understand this or how maybe I don't understand it but the idea is that you get that extra processing and that's another opportunity to reinforce what's going on but it doesn't stop there right because if you're like me and you're sitting in a lecture hall and you're taking notes or I guess if you're like me you're in a lecture hall and you're just asleep um odds are that's not going to be sufficient for like understanding the concepts now in school for me the way that it worked was that my exams were very much like uh the heavy component of my of my grades I had like calculus classes that were like 95% of my grade would be the exam and like that's kind of ridiculous but it meant that I had to get good at writing exams and for other classes where I felt like I actually like had to learn Concepts this goes back to like what we would do more of in like elementary school and high school and I wanton tying this all back to programming right so you would get projects and assignments and what they would do is like for math classes right you'd get all these word problems you'd have to go doing all these crappy word problems or when you were a lot younger you might have to do like you know multiplication tables and stuff but you're practicing doing these things and it's reinforcing what's going on and I found in school and a lot of the way that programming is structured in school is to reinforce the concept in isolation which is a key point so without I'm not going to be able to make up an example off the top of my head but if you're thinking about an assignment that you would get in school they're trying to introduce let's you know some data structure some algorithm and what would happen is that they're like going through the lesson here's how it works right you're writing the notes on it you're making your own example cool okay this is all great and then you get the homework assignment and it's like now you have to go implement this in C because we all know what's the best language C that's right um sarcasm a little bit kind of serious but um so you would go home and do this um and you'd work on these assignments but they're very much in like isolation to go practice the concept so when I go to talk about coding at work I want you to remember this part when I'm talking about what it looks like to do school assignments um the LinkedIn usernames aren't coming through let me go back this is from Yan um cuz I saw Allan's name I saw Natalie's name and then I see LinkedIn user but if I jump over to LinkedIn uh did you have assembler Pascal VB dely programming in school we had what did we have so I learned in high school it was VB6 and then vb.net and then I think my very first it was like my first programming class in University that I had in first semester they introduced us to C which is awesome because I had just learned vb.net and C is also in.net at the framework is.net so I remember they were teaching us C and I was like hey this is it's it's close to vbnet so I like understood it and I like I did really well in that class because I could already program in vb.net and it was similar enough like obviously some differences but um that helped a lot but then we had what did we have we had Java at some point we had C++ at some point there was a couple of like like yak and bison what are those like is are those I can't even remember I'm I'm trying to search Yak bison uh it's not I don't think that was the language right that was like the it's a parser that's right yeah so we had like we worked with that but I can't remember what we were what we were building with it like sorry a parser for what I mean uh and maybe it was contrived um but anyway yeah we had like some some weird stuff like that but we didn't have we did a little bit of assembly like a tiny bit uh no Pascal no VB in University no dely uh C C++ I don't think we use Python for anything but I think there was a class with Java and I want to say there was something else else um there was something we used for like for embedded programming and I can't remember what it was um one sec I'm just I'm not sharing my screen so you can't see oh I'm thinking of vhdl but that's for for like circuits so yeah it was it was pretty limited um and I think like they didn't for us they didn't spend much time aside from that like programming 101 or 100 course whatever like that was the only time they were really teaching us about a specific programming language and then otherwise it was more like like low-level concepts for the most part like the fact that we were writing parsers like I don't know that felt like a weird use of time in my opinion but anyway that's that hopefully hopefully that answers your question um pardon me um what was I saying I'm all over the place I can't remember now the um I think the last thing I was saying was that in school these things are like Concepts mostly in isolation so that's a a key point because like I said the goal is very different in school than in work the goal in school is to reinforce Concepts so that you learn them and I mean I'm saying that out loud I realize that sounds like very obvious duh that's why we go to school so yes that's what you're doing but um the the structure of how you're given assignments the purpose of those assignments they're different so if I jump over to my newsletter article I put down a couple of like sort of key differentiating characteristics of these things that we have so um so let me start by saying the focus of the um the school assignments is that you're um that you're kind of isol the topic I wrote down like eliminating the distractions or noise from the topic you're looking at so if it's to go Implement a data structure you're going to be able to focus on building that data structure it's not build the data structure and then like integrate it with all these other things it's like no just build the data structure or here's a like a graph traval algorithm go Implement that you're not building a web service and stuff on top of it it's it's very purposeful and I found a lot of my assignments were like that and I feel like when I see people posting about their assignments and stuff it's basically like that but they might be phrased in like a word problem but you're still like going to go implement the graph traversal algorithm or whatever you happen to be doing so um eliminating noise and distraction so you can focus on the thing um I said that you get to practice the implementation so you have a better understanding of the mechanics right so if you were taking notes before like that's one way but when you actually go to write it and you're getting stuck on stuff like in my opinion you're learning more in depth about the mechanics of how it works especially because the next part I said uh troubleshooting and seeing when things work you get to see the concept in action so you might be doing your graph reversal algorithm and you wrote the program and you're now running it you're like I'm getting a different result and it's weird and then you understand like as you go through it like what's going on right so you to debug this thing and you're like oh like that's what's up here so just gives you a better understanding with your more handson Harry good to see you I think that you sent me a message last week and I still haven't responded to it so I'm saying that out loud because I did see it and I just don't think that I got to it I've had a couple of super busy weeks uh last week in particular I think Thursday night maybe not even Friday might have been the first day last week where I felt like I wasn't like under water with everything else going on so apologies for not getting back to you um and I will uh I'll try to go check your message if it's not tonight I'll try to get to it tomorrow so I apologize um Mauricio good to see you as well thanks for being here so I'm going to talk about the constraints that we generally see with school projects and again this isn't like a rule I'm not saying this is universally how everything works this is a generalization I hope um I try to say this a lot but I hope when folks are like watching my videos or listening what I'm saying I hope that you understand that I'm like essentially I'm never trying to communicate like you know things are always this way or never this way I'm trying to just give you different perspectives on things so if you have different opinions like that's great like let's talk about them I'm not here to tell you it's only one way or some other way so the constraints I said uh time constraints are essentially your due dates right so every like time is a thing and it's not like there's no time constraints with school assignments but the time constraint is really you know the the Prof or the TA or whoever like they set a deadline and they're like that's the due date get it done by then okay so there is a time constraint I said there are often uh there often aren't real dependencies for your code uh for you to code your project and what I mean by that is like they've given you the instruction and they've given you you know the the assignment and Off to the Races you have your deadline go get it done you're often not like oh like this other project from this other class or um you know we have some other team of students in the class they're working on a project we need to wait for them to get their project done before we can do ours unless you're copying it but like the idea is like you don't have other dependencies right it's just the material from the course um I said you're at least in my experience like you're almost always starting from a fresh slate which is interesting this is another like all of these points I'm making by the way I want you to keep in mind when we go to the next part of this conversation but you know go build this graph rval algorithm in Java okay so you go into whatever IDE you're using Eclipse people use that I don't know I don't like Java but you go into your IDE uh and then you start your new Java project and you start coding your graph reversal algorithm almost all of your school projects kind of start like that right or they'll give you like a here's a couple of method names like the signatures I mean and like go take that and run with it and you're like okay but it's it's a very unique situation because you're you're starting from scratch almost always and then I said the other thing here is the priorities you need to balance when you're doing this kind of stuff are this project and your other assignments like that's how you're prioritizing things now the caveat here is like sure yes you might have a part-time job you want to have a social life on top of just going to school like these are sure there are other things you need to balance but when it comes to your schoolwork you're balancing between this assignment in your programming class or classes and other projects you got going on or other assignments other homework or studying so there are priorities there is balancing things but it's still very kind of specific there's often not dependencies between these things it's just you trying to balance your your sort of allotted time uh Allan saying yeah the classwork tended to emphasize the concept and philosophies professional work has been more about collaboration and integration of applicable skills and tooling and more meetings w w yeah exactly so um it's a good opportunity for us to Pivot over to the other side of this which is going to be talking about the work aspects and Allan's kind of hinted at uh a handful of things here right there's other stuff going on at work and to kind of pause for a moment before I jump over to talking about stuff at work the I just want to remind people I guess the chat it was weird there were people talking in the chat earlier but the the counter for the chat wasn't updating at all so it was like zero people are here and then people were talking and I'm like which one is it um so now that I see that people have actually joined in the counters going up and it's not all in my mind um I just wanted to remind people the reason that I wanted to talk about this was because I have seen uh in my experience there's a discrepancy between what people expect when they're in in College University I can't speak on behalf of boot camps cuz I just don't have that much experience with that many uh students coming out of that um just personally but um how work has been structured before they get into their first fulltime role and because of that discrepancy I think that it's worth kind of like providing a little bit of guidance and insight because like I said at the very beginning of the stream this stuff is applicable for many people and they might not even realize it and they might have a bit of a surprise when they kind of switch over they graduate and they go get their first time uh first full-time job so what does work look like well um let me start with a couple of examples of like some patterns I've seen and then we can kind of dive into uh some of these characteristics so um again these are just like highle examples of of things I've seen where I want to say like it's not optimal and like I don't blame people right I'm just I want to present these examples to you so you can say oh like that I can see why that's happening so I have seen people come from uh you know I'm not trying to these are generalizations so I don't mean to like sound like I'm picking on groups of people but like um Masters PhD students I have seen people uh join so this is going back to when I was working in a startup before Microsoft and what would happen is we would you know Works getting assigned people have to go do their work so they're working through different features or bug fixes and stuff and then uh there was a pattern sometimes where people and I again the pattern I noticed was like the more time spent in school like going for Masters going for PhD the more that it seemed that people had this idea of like code is theoretical which sounds I mean it's kind of a weird statement I don't know a better way to say but the idea seem to be that like I need to get this code made and I need to make it perfect because what's going to happen is like it's not done until it's not done until it's perfect right if I were to go hand this assignment in If This Were an assignment someone's going to grade it so like let me go spend the time making this code the most perfect it can be and the side effect of that was that I often had challenges with people that were again Master's PhD where it's like hey man like we gota we got to get this going like you're I think your code's probably been ready for like two weeks now like what are we doing and I'm exaggerating a little bit but the idea was just that there was so much emphasis put on like how do I how do I make this code perfect that's how it seemed right so that's one kind of example to think about another example that I I noticed a lot was that um what's a good way to put this uh the the focus on like why we're doing things seem to be kind of missed and this is another thing like I don't blame people for this so I hope that as I'm talking about these I'm not like trying to to pick on people or anything like that these are just observations but it's almost like um okay let's say we have to go build this feature for users to be able to navigate this part of the product and I don't know uh be able to view this important data that they couldn't otherwise see before in this format and it's really going to help them simplify their workflow because otherwise theyd have to go to these five other screens and spend an extra 30 minutes like every day when they go to use this it's a pain in the ass so we're going to build this thing it's going to be awesome and what would like kind of happen is that people didn't really get the why so they would go build things and like so they're like okay I got got the code checked out I'm going to go start building these things and then they're kind of poking around and they oh well this this code's kind of gross like let me I got to go touch this and they're they're they're over here they're over there and what ends up happening is like this um this mindset of like we have to I don't know it's a weird thing to explain but it's almost like the goal is to go make to go improve the code which is nice it is nice but that's not the reason that you're employed which is a it's a weird thing to say right yes as you're working code will get improved but you weren't hired just to go make code prettier you hired to deliver value to customers that's how businesses work and this is I think one core thing that I think really gets missed and it's a really difficult lesson for people this is by the way uh this point here is like arguably one of like the takeaways that I want people to have from this uh this uh little dialogue here but um I think one of the big things that people miss when they compare how they're working in school versus like in their first job is that they're missing the fact that you are not hired just to to go make code because I could sit at my desk all day and go make some code I could make things do other stuff I could go adding a million tests I could have 300% code coverage I could go refactor everything 10 times I could you could do all of this stuff coding and I'm not saying those are bad things but what gets missed is that you are hired because you need to be able to ship value to customers it's how a business Works businesses will provide value to customers that are willing to pay for that value so the customers pay the business and then the business pays you if the value is not getting shipped to the customers the customers do not pay and then the business cannot pay you and I realize I realize what I'm saying it sounds very obvious um but I think the reality is that I think a lot of people miss that and um the reason that this stands out to me for a couple of reasons and and why I'm trying to emphasize it is because not only have I noticed this kind of thing happen where people you know join a company and they don't it's almost like like I said they're missing the why they're doing it it's because you're trying to get value out to customer customers and they focus so much on just what code is which is one part but the other part is because it's it's almost like because of the my journey to where I am now um I kind of shared this at the beginning and I've shared this on other live streams but like I worked at a startup for eight years before Microsoft I was there since essentially the beginning when they started building out their engineering team and so we started with the you know the first version of the product from the founder they and yes the founder already had you know paying customers but we basically took that and started building everything and we had to scale everything and we had to go through all these growing pains and the only reason it worked is because we were constantly trying to ship value to customers there was no time to go make everything perfect which I think like I said the examples I'm trying to give you are to try and illustrate this idea of like I know like I'm an engineering manager now I've been doing that for 12 and a half years but like honestly I understand like I love writing code I love this is weird maybe I love refactoring code I like making code better but we don't have infinite time to do that we need to be shipping value to customers yeah it sucks there's going to be times where you're like that means we have to in uh incur I can't speak we have to incur some tech debt here like consciously going yep like that's not the the most best architecture we could have here and the best way would take us another five months it might even just take us an extra two weeks too bad we don't have the time right now there were many situations like this where we had to make decisions and the end of the day I can say this with a a lot of confidence we would not have achieved success if we didn't constantly have hard conversations like that we could have sat there refactoring code forever and then shipped less often right we could have said no we're not incurring any other Tech debt we can't move forward we could have sat on things and we would have missed out on opportunities there was code I'm sure that we said we have to refactor this we must it's so bad and then we would said but yeah it's working and we're not Landing features there so do we have to go refactor that now okay fine like we can wait we can wait and then three years would go by and like it didn't have to get touched right so my point is that I think that a lot of people miss out on the idea that you need to be sh shipping value to customers and it means hard decisions I realize people hearing this whether it's live right now or in the recording when people are going to jump in the comments they're going to say this guy's an idiot he's saying just like you know write spaghetti code no one like you don't care about like good software engineering practices I'm not saying any of that I'll be the first person to tell you that I think you should be writing tests for your code on my YouTube channel I talk a lot about testing and my my thoughts on testing I think it's incredibly important but I also think it's important to get value out to customers and I would agree that if you incur tons of tech debt or you don't write automated tests for your code your ability to ship value to customers dramatically slows down I would say that 100% but there's a balance to these things and so I think that from some of my experience I observe that people were joining to the company later once it was already suc uccessful and um not really they didn't kind of have to live through that of like hey we have to ship value to customers we have to like we're trying to survive it's a startup startups a like most startups fail right so I think a lot of people just assume like paychecks are coming company's doing fine like just doesn't matter but I think there was a lot of us that were there early on where we were like we understood that like that's how we got to where we were was like we need to be shipping value um League of Lego boy 99 you ever wake up and you're like I'm the man at Subway that would make the best sandwich I'm not sure actually I don't know if I've ever um I don't know if I've ever woken up and thought that I don't know if I've ever woken up and thought about Subway no I can't say I've ever done that uh but now that you've mentioned it I suppose tomorrow could be the first day of my entire life and maybe not the last day where I do wake up and I say you know what I'm the man at Subway and I could make the best sandwich but I'm not sure we'll have to see tomorrow maybe maybe next week on the live stream I could I could see if that's what happened thank you I I like that you appreciate the confidence and I hope it is inspirational but now that you've mentioned it I think that I'm going to have dreams about Subway sandwiches speaking of Subway bit of a tangent but since it was brought up in the chat what's this deal with this foot long cookie what what is that like that is something that I think that I require like I shouldn't eat it but I think that but I think I need it so so if anyone wants to do a little bit of research on that and let me know for science I think that would be appreciated um yeah I think I think I'm G to have dreams about Subway now okay so that was my bit of rant about uh the coding at work part but let's kind of dive into some more specific aspects about this I realize I I do a little bit of ranting if you watch code commute you'll probably hear me rant a lot more but um so I kind of um Natalie it's great if you have kids who will obliterate most of it for you if I had kids and they obliterated most of that cookie I think that I would not have kids I would say get out um yeah I have I actually have like a problem with like baked goods i' my wife and I were just talking about this the other day so she baked banana bread and she was like you like banana bread right and I was like yeah I banana bread and she's like okay and I said well you're going to if you're making it you're going to have to bring it to work and she's like oh cuz uh cuz you're going to eat it all and I said yeah I'm going to eat it all and she said oh don't worry I'll help you and I looked at her and I said that's bold of you to assume that you're going to have a chance to eat any of that banana bread I have absolutely no self-control if there's like cookies brownies um anything like that at home I cannot stop myself at all it's bad if it's in the store like I could walk by like cakes brownies cookies they could be awesome I won't buy them like all my all my willpower is like at the store if I have to exchange money for it I'm like no but if someone just like showed up at my house with a chocolate cake I would eat the entire thing all at once cannot control myself if it's in the house so uh there's half a loaf of banana bread right now there's probably going to be none by the time I go to bed um league league of Lego boy what's your experience working with CEOs [Music] um so limited I guess um in my experience I had internships where I basically worked right under the CEO at a small company it's more like a consulting company um but uh I've talked about him before his name's Peter Hansen of Ingenuity Corporation that was my first internship and second internship um absolute genius um he was incredible to work for and like this I don't I feel like I don't have like a lot of regrets but like if I could go back into my internships I would have um I think I would have tried to like I don't know like ex this is g to it's a weird kind of thing to say but like extract more value from that because in hindsight like he was a you know great leader great mentor like so smart um and I just feel like in hindsight I probably could have learned a lot more from him but I've also shared this before that like when I was going through my internships my work ethic was very different like I I can I was a I have been a very good programmer throughout my my career and in my internships I could demonstrate that and I was like hey it's 9: to5 I'm done like I'm out of here like I don't care I'm going to go play video games I'm going to go hang out with my friends you know I'm in University I want to go party with my friends on the weekend I haven't seen them like my you know friends from high school and stuff so I just like didn't care and I really regret that because once I it was weird once I started working full-time completely changed I went from like not caring to like I could not leave work and just like overworked for like eight years straight um and then so that was one CEO um another internship I didn't work directly under the CEO but that was another startup um they were Executives from uh Nvidia which I'm sure in hindsight man they're probably probably doing great uh but yeah I think the you know this the the founder and the CEO they were both like serial entrepreneurs um so you know they've they've done amazing in their life but it the CEO there uh again they they had an engineering background and uh yeah absolute you know gem to work for I again I wish I would have worked more closely with him and like extracted more value from that like I don't like to say that I regret it but like it probably could have done a better job and then um when I worked magnet forensics um the uh the founder was the CTO and he he was a police officer with a bit of a technical background enough to go make the first version of the product and and have customers and that was awesome the CEO was non-technical um but he was an executive from Blackberry um and he like we're talking specifically about the CEO um he was uh they had very different leadership styles the I felt like the CTO was and who was the founder was very much like more chill more laidback um he was I don't know a good way to describe it like I felt like he gave me a lot of autonomy and a lot of trust and that worked really well for me uh and I would say that the CEO I didn't work directly for but in passing and stuff like I think he was a bit more I don't I don't mean this in a bad way because I think it worked really well for his leadership style I think he was a bit more of a hard ass and had like high expectations of people but but people understood that like that was his leadership style and I think it actually worked very well for him like he wasn't people might say like oh he was definitely unrealistic but I think that like I don't know I think that he had a way of making that work uh so for both of them I was very much like uh you know very happy to work for um I'm just going to jump over to to Tik Tok because there's a question that came in there um this is from Marson on Tik Tok sorry that it's not showing in the share chat Marson says any insights into the job market future of it will AI create the expectation that all Engineers become more productive t0x Engineers or will it actually phase out devs um so Marson if you haven't already uh on if you go to my YouTube channel well the second YouTube channel it's called code commute uh actually it's on my main Channel Dev leader so go to Dev leader or go to code commute um some of my recent videos on either of those channels I literally talk about this exact topic so if you haven't if you didn't know I have a YouTube channel um check that out um you can watch that in 2x speed so you have to put up with me just blabbing um but that's where I would say you want the best Insight that's most recent um that's what I'd recommend but my my own personal take just to give you a brief rundown um my take is that in terms of physically replacing human beings I don't see that happening anytime soon the reason that I say that is because in practice like as an engineering manager I cannot comprehend someone coming to me and saying by the way you're getting rid of like this many people on your team and they're just replaced by AI what does that mean like who who's prompting the AI like someone's still got to do the work um and I think like when people talk about this kind of stuff they're not thinking about how that works in practice this and I think what's more realistic is that yes uh in terms of enhancing um productivity like I absolutely see that being the case there's still people that are like doesn't help me at all so I think there's a lot of room to go um I think that when we hear people talking about AI like the if you again if you go on the YouTube channel I I specifically talk about Mark Zuckerberg on on Rogan and kind of try to critique what he's saying because everyone was like freaking out like a lot of fearmongering and my interpretation of what he said was literally not like we're taking your jobs it was very much he said like I absolutely believe it's going to enhance productivity and it will yes he said later he's like it might eliminate jobs but he's like I think it will create new jobs as well and I think that's what we've seen with technology throughout history and so I'm not personally I'm not fearful of it um and then people will say sure like that's in your best interest you're just an engineering manager like you know you're just trying to keep your job and I'm like sure but okay so replace my whole team replace me right at that point you don't need a people manager to go lead a bunch of AI replace me then you know what I'm doing I'm going to go build software because I know how to build software and I'm going to use AI to help me build software by the time we're in my opinion by the time we're all replaced we don't even need software companies you just have customers that go prompt AI to have stuff get built for them I think we're a long way off from that will it happen someday maybe I'm just going to keep doing what I do and staying on top of Trends because the reality is I think in terms of phasing people out completely the the the the people that will be phased out sooner are the ones that aren't staying on top of anything and I feel like that's like any technology so um that's my my thoughts on it marison but I think yeah if you want to check out the YouTube channel um either code commute or Dev leader code commute has more they're all Vlog style and Dev leader is like edited videos more like tutorials and Polished so either one uh and yeah would love to see around on on either channel so so thanks for the question um hammer oh man I got to go back up in the chat Hammer 8 hello welcome architect's here again yes it is live you know it's Live come on um Natalie with molasses equals Pro yes um I don't know what she put in the banana bread to be honest it was good but I got half a loaf to eat so I'm going back to it um why is it that I can identify with the problem uh of me eating everything yeah uh I have no self-control of the foods in the house um League of uh Lego boy 99 uh the CEO sorry I kind of jumping back to your question co did not know how to program at the last company at the other two that I mentioned they did know how to program um and very well um hammer 88 sorry was your question about the CEOs uh are they handson or more management role um and to answer that if it was for the CEOs sorry that I might have been jumping around too much um the first one was very Hands-On the second one was Hands-On but not uh in an area that I was working on so management role from my perspective and the last one uh management role but in the early days like the CEO worked on sales and marketing so he would have been Hands-On with that so in terms of the technical ones two of them would have been Hands-On um Krishna School programming focus on learning Concepts and writing code for practice yes uh while job programming emphasizes solving real world problems efficiently with teamwork deadlines and maintainability absolutely Krishna said the entire thing in basically one sentence and summarize everything so we're done no but that's I think that's the meta Point here so thanks Christian I think that's spot onto my my thoughts on this topic uh if I jump back to the article to kind of wrap things up I don't see any other questions lingering right now um so the list I wrote out because I if you're if you are reading this I'll put it back in the chat if you haven't seen it let me just paste it in if you're on substack I think you know how to find the article if you are on Tik Tok or Instagram uh it's at weekly. deev leader.com but weekly. deev leer.com goal different when we're programming at work as Krishna pointed out but I said the constraints look different as well so I went on a bit of a tangent and a rant talking about the goal being delivering value to customers that is your goal number one um so I said there may be different time constraints so when I talked about time constraints before it was like your your Prof saying here's a deadline get it done um but I said that in The Real World um it's not like it's not like an arbitrary deadline right that a Prov sets it's like you might be blocking other people's development you might have uh delivery cycles that you need to go land features for you have other stakeholders like sales and marketing that are waiting for these things to be delivered you might have critical bug fixes that have to go in production right now um because you have things that are on fire so the time straints are absolutely different both situations have time constraints but they are different so I think that's important to look at um architect I have not watched your estimating projects in software engineering yet yeah that's okay there's still time and there'll be more more videos um and then we talked about dependencies for school projects and I said really there's not there isn't like it's just not really a thing right um but in work pro projects dependencies are like the name of the game um when you're more Junior developer odds are you're giving something with more constraints it's like more well understood it's very confined uh generalization here and then the more senior you become the bigger more complex projects you're working on dependencies are like things that come up all the time like not only will you have dependencies right you're waiting on other teams or other team members to get stuff landed um you will be a dependency to someone else's work right so it's an ongoing thing that you have to try and navigate so I think getting good at understanding dependencies um is uh is really important and it's a skill right this is something again when we talk about being in school versus in the real world so to speak if you haven't practiced working through dependencies like this and trying to navigate it yeah you might find that it's challenging and frustrating and like why why do I have to think about this or why is this so much harder it's because there's just different sets of constraints um we talked about school projects one of the thing I one can't I just today is not a day for speaking one of the things I said for school projects was that you're often starting with a fresh slate right so go make your graph reversal algorithm program or take these method signatures go fill them out but you're not jumping into a code basee that's 10 years old that's deployed to production that has a million users on it like you don't do that in school but guess what in the real world when you're working for a company odds are you're going to be working in a codebase that already exists um in many cases I think for most of our careers we spend the majority of the time working in what you might argue is a legacy code base the word legacy you can assign your own definition to that but I just mean something that you're not starting from scratch um ham radiate says school as spaghetti code coding as far as I remember yeah but um that might be the case you might have been writing spaghetti code but when you're in the workplace you're jumping into someone else's spaghetti so that's kind of the the The Meta Point here is that we have to it's again it's a skill to be able to get into a code base right if you're not used to doing this kind of thing because your assignment is basically make a new project in visual studio and get coding or whatever IDE you're using right that's going to be different than hey go clone down 20 repositories get this build system like get your builds running locally on your machine understand the cloud builds like um you know like there is so much more going on and that can be extremely over overwhelming for people um the shock uh what advice do you have for an incoming intern slne grad good news for you that I literally just put out a video on code commute I'm just going to link it uh in the chat um let me copy it in so this literally went out this afternoon so that video is advice for junior devs who aren't quitting because AI um Alan Johnson on the job there's a big gray area between make it perfect and ship it uhhuh navigating the Nuance takes practice 100% And I think this is kind of the the mini rant I was going on earlier is that I understand as people that like to write code like I'm an engineering manager I code every day outside of work I love to write code I understand that feeling of wanting to make code better I get it but we have to keep shipping code so if you're if you're getting frustrated by this I have some advice on this in just a moment um if you're feeling frustrated by this I think you need to have conversations with product owners let me take a brief moment to explain what I mean here if you're feeling like hey look okay we made that sacrifice we introduced the tech debt and now we're not getting the chance to go fix it like what the hell man that's not fair or this code has grown over time it wasn't uh conscious Tech dead it's kind of just something that's been building up over time and now you're like oh no like we need to go rewrite this code the reality is if you have a product owner who is the one prioritizing the work to get done I'm using the uh the term product owner by the way to be very generic because maybe that's your engineering manager maybe that's a product manager whatever um the person who's setting priorities if they're thinking about things from a business perspective and you're saying we have to go clean up this code because it's messy how how much business value does that have for them like part of my language they don't give a and that's hard for people to hear because you're like but the code's messy like we need to go clean it up but it's the wrong message like they don't care how messy the code is if you find ways to convey the impact of what that means on the business then you can start having a better more meaningful conversation hey the code is messy that doesn't mean much so that means that those other features that you want us to focus on in the upcoming Sprint they're all in that area of the code so a couple of things could happen if we don't take time to address the tech debt that's there one is that it's going to take much longer for us to get those things done if you want us to deliver on this schedule and do that consistently we're going to have a problem because the estimates we have are just going to be pushed out it will take much longer the other thing is because that code is messy we're not able to test effectively that code is very brittle that means that not only is it going to take us longer to do because we have to navigate this it also means we're going to leave that code and not be very confident that it works because we can't write tests on it and there aren't tests we're probably going to break more stuff so you're going to have a longer timeline and you're going to have code that we're not confident in and you want us to ship that I think we should propose trying to refactor some of this up front you see the difference is like you can tell the stakeholder what they care about so for people getting frustrated by not getting time to do Tech debt change your message if at the end of the day you are conveying what the business value is to the people that make decisions about business value and they're not prioritizing it either you need to communicate better or they need to communicate better or maybe it isn't as important as you think again that's hard for a lot of people to hear so um architect but my boss both perfect code and ship it on time while the budget is low yeah well Devon AI is coming for you then watch out um Marson on Tik Tok is saying I find lack of communication is off to my biggest peve of working in Enterprise software development co-workers not uh not messaging everyone's remote not updating not going beyond their assigned ticket in terms of responsibility SL accountability um yeah like Marson thanks for joining I appreciate the comments and glad you could be here on on the stream uh hammer says I normally spend a few days cleaning up after two months of coding but I start mostly clean coding it's easier down the line and this so this is a really good point from from Hammer 88 here so I know that when I sometimes I talk about these scenarios and I I try to present it to you in a way that's like I don't know I'm trying to be a little bit like sarcastic and factious and get the point across right but I think that um what Hammer is saying here is is really helpful so they're saying spend a few days cleaning up after two months of cating but the next part if I start mostly clean coating it's easier down the line what I would like you to take away from this point is that you will find with more experience and going through more situations like this that like you're saying okay like we went through that project and we we took these shortcuts we Inc incurred this Tech debt uh we didn't have opportunities for this like how could I write code in a way that enables me to do this more effectively next time it's never going to be perfect so don't don't aim for Perfection how can I do it better next time one example from my career was that I used to have people saying like we don't we don't have time for tests it's going to double the work because we would go this is literally what used to happen we would go write a feature and then we would go send it for like testing like the like people would would manually test stuff and then it would be broken and then we would have to go rewrite it to fix it and then and then later we would be like oh but like we don't want to keep sending it to testing like we need regression tests on it and then people would be like but if you want me to write the test on it I have to go rewrite it again it's what and like I was part of this by the way I'm not blaming other people I was literally in that mess creating it and it was like why don't we just write code that can be tested and like you pick up on patterns that enable you to write code that is more easily testable and then you have this cool opportunity where you can say do I need to test every single line of code to have some confidence or can I prioritize which which areas of code I should test because now I can because I wrote code in a testable way I'm not making double the work but these types of things take practice and you're going to have your own examples of things that work very well for you then I would right like when I talk about writing stuff in C I love slapping interfaces on many things and a lot of people would say oh it's Overkill you don't need interfaces on everything and I'm like yeah but the way I test that works really well for me it's no extra work from my perspective I'm talking about it my own code basis on teams I will do what people agree with but that's how I operate it lets me write unit tests I like mocking things in my unit tests I write integration test for different purposes but I have come up with systems and practices that work really well for me your systems and practices may look very different the point is that you identify these things and you can start using them and leveraging them so that you get less frustrated when you have these types of situations in real life um Natalie says some companies claim that everything is on fire all the time and uh and and at the end of the day work is consistently an Eed work is consistent requested at 2 p.m. does the day end at 2 p.m. um yeah no I understand there's you'll have situations where depending on where you're working there's uh I'm not trying to defend people where there's like completely unreasonable timelines or like micromanagement um from when I talk about this from like a leadership perspective one of the things that I I try to remind people is that I want to make sure that everyone feels they have like a healthy work balance where they're busy they're challenged they're learning they're working on important things but not to the point where they're overwhelmed and when I couple that with trying to build trust with them I want people to to trust in me I want them to I need to build trust and respect with them you can't just ask for these things you have to be able to demonstrate so I need I need them to know that I'm invested in them if I can do those things then what I find is that if I need teams to be able to stretch then they will but the problem is that when you expect it all the time that erodes the trust that erodes the respect and then people are much less willing to go do that stuff and even if they do it they're going to burn out so fast so this is something from a leadership perspective I think that like that needs to be addressed and people need to try and create a culture that's like that from my perspective um what was the one thing that made you interested in code um I don't know to be honest I I started in grade nine um how this worked for me was that I was in I had this situation where in like grade eight so I was in ele school they let me FastTrack math so I got to go to high school and do grade n and 10 math and then and when I started high school so I entered grade n they were enrolling me in grade 11 math and they were saying by the way like I think to my parents like seems like your son is interested in like science and math and stuff like you know what about these other courses and they they said there's a computer programming class but it's only for the grade 11 students but they said like he seems to be good at math like maybe he wants to try this and I was like yeah I like computers I was like a I was a computer nerd without programming I just like I guess that means I played computer games so I I picked that up and I think the way to the most succinct way to answer this question is like when I started playing with code it to me it felt like I have an infinite number of Lego bricks in any shape I want and that framing of like I can go build anything was like fascinating for me and I think that's just how it's always been so I I think that's how I would answer that the most succinct way I've just loved being able to say like you can build anything you want with software uh architect just completed a project for a client half a year I can tell reviewing and cleaning it is tough spending personal time doing this yep the cleaning process might break the existing code yeah like that's a that's a thing and people this would happen in in the real world people want to clean things up and it's like okay you want to clean it but there's no tests on it are you sure it's a good time to clean this you understand that by cleaning it you're potentially incurring other costs like things being broken we have to go discover these things right it's it's interesting it's not trivial it sounds like it might be trivial on the surface but like we have to think that like it's literally a business and your time costs so it needs to be as much as possible going going towards delivering value to customers or ensuring that you're not grinding to a halt because there's so much Tech debt incurred um architect so cleaning code during development is probably the way to do yeah and I would say like like that's why I was saying finding ways to build things along the way in in an effective way I think is the best there is always going to reach a point or you're like holy crap like how did we get here um I don't care how much time people spend on architecting things and whatever clean code thing you want to follow if software if you don't believe me and you want to like believe some other content creator do you know who the primagen is he had a video on this and I did a little cover of it and he talks about like if software lives long enough like basically expect it to crash and burn and you should be amazed like if it's living beyond this certain point because basically it keeps getting crappier and cier and we don't really have that many options but to try and keep it afloat until it crashes and burns so it's a it's a pretty cool cool video I'm not really doing it justice but he talks about it so believe him um Allan yeah hero culture is typically a bad idea policy of praising firefighting encourages a culture of arsonist yeah that's a cool um I think that's a cool way to put it um and coding Mountain Man like the Lego example it should be fun yes um to Alan's point this is a bit of a tangent but I wanted to to mention it because it's uh it's come up in in other conversations I know Allan's talking about hero culture here um and he's saying a policy of praising firefighting encourages a culture of arsonist another another thing that I wanted to mention that's not on the surface doesn't look bad because I think the way Allan's pointed it out here is like it's a very obvious kind of analogy right like you don't want to be doing this it's it's interesting to think of a hero saving the day but like you know they're just going to be the person that keeps doing this to put out the fires um another example that I wanted to give you is like when I talk to senior engineers and I talk to how they spend their time this is especially apparent on teams I've had where I have a very uh obvious dichotomy of like very Junior developers and very senior ones there there comes this point where there's either this feeling of like man like I keep putting out the fires and it would be so nice if other people could put out the fires but no one seems to be able to know how to put out the fires and do you know why it's because you keep putting them out so at some point we have to slow down a little bit we have to kind of like yeah it sucks but some of the new people they got to try and it might be hard it might be slow right you might be able to do it like that but they got to try they got got to be in the driver's seat they got to go debug it they got to go investigate and they're going to learn and it's going to be crappy the first time it's going to feel slow not all the time sometimes people will get it quick but expect it's going to be slow and the next time it might be slow but it's probably faster and the time after that maybe slow but it's going to be faster and if we don't spread this out and have other people trying to put out the fires or do investigations or do other things the reality is that this load is not shared by others so again it's a bit of a tangent from what Allan was saying I just wanted to give it in another context of of not necessarily like encouraging the firefighting but just this idea that it's hard for people to ramp up if you don't give them an opportunity to do so when the same people keep taking the same challenges you're not letting others learn so just a different example uh architect I really wish the company I work in embed cleaning Cod V process is part of the software development time estimation why don't you talk about it I don't know what it's like where you work so I don't mean to like I don't know like uh trivialize that minimize that experience I just realized a cat came in there's two cats in here you guys didn't say anything about the cats you see them that's the fat one his name is Vinnie and this one is veto there you go um yeah you guys come on there's cats um so oh yeah so I was saying you might want to consider like how you propose this right um have a conversation about it see if there's an appetite for it you could take on triing something perhaps um like I said don't mean to minimize it but uh I encourage people to to try you know you're working in an environment and you're part of that environment if you are passively waiting for things to just get better I would say assume they're not so be part of trying to improve it my recommendation um what is the onboarding process for a developer I know it's different for every kind of developer but is there a specific process I can I can talk about this a little bit um so what's a good way to to dive into this um it's going to yeah it's going to be different everywhere um generally there's some period of like um you know get your get your environment set up like you basically have to make sure you have a machine working that might mean getting some software installed depending on how much comes on the machine for you getting credentials for different things like there's there's that period of like like I'm not really doing work but I'm getting set up to be able to do work um you have that and then I think beyond that what's usually the case that I've seen is like someone will guide you through how some of the the tooling works so hey like you want to make a poll request okay like here's how we actually do that so we'll go make like a small change in the code like something trivial right like literally add a log line and I'll explain why diog line is sometimes kind of interesting so you go do that you push it up for code review so now then the other engineer who's guiding you through this can show you the poll request and show you like here's how the system works by the way not every place does this but I mean this is a general kind of approach so you see how this is working you see what a pull request is going to look like un and they'll explain like we need people to sign off on this you'll get comments people ask for tests then what happens is they'll show you any AUD that's running so you know it's going to go run the build it's going to go run the tests that are there um we didn't add tests because it's only a log line whatever and then great everything passed I'll approve it and then they can show you your uh the deployment mechanism so again depending on the software type where you're working I work in substrate we deploy to computers across the planet um that's the previous team I used to work on was actually the deployment team so they would show you like here's what you should expect for deployment here's where these changes are going to go here's how you can validate your change which is why a log line could be interesting because if you're deploying to the cloud on different infrastructure they can say we want to go pull this log line if you have like aggregated logging somewhere like here's where we would go for us sometimes it's like the logs depending on the machines you could go pull logs from a specific machine so they might show you how to go do that but the idea is that they walk you through this like end to end life cycle of like code change build with review and then deploy and then validate then from there usually what happens is you'll get more simple tasks so depending on how your team is structured how they're operating it's very likely there's a backlog of like things that are it's not that there's no value in them it's just they're they might be more well understood less complex like low risk and the reason for that is that people don't want to set you up for failure they want you to be able to like build some momentum with things so you know they would here's a small bug fix and like probably someone knows where to go look to fix it and they can guide you or here's a small feature it's going to be you know it's not that ambiguous you should be able to figure it out I can give you the guidance around it and I would say that's probably a more common way that people get on boarded but there's going to be all these other things on top of that that are maybe more team specific or uh organization culture specific but um Dylan I hope that helps uh to start so yes we have cats we have three dogs and two cats so it's a bit of a zoo um I did for people that know uh on code commute I've been talking people were asking me to get a 360 camera for on top of the car and I filmed with it today so I have two videos and I just realized this that means I'm not going to be able to put out videos tomorrow so I'm going to send them to the editor um in the second video this is a spoiler and this means you have to go watch the second of the two videos they'll probably be out on Wednesday if you can get them done in time at the end of the video and you're going to see more of these which is cool so at the end of the video when I back into the driveway our we have a big bay window in our driveway and um the dogs sit there and they wait so one is an Alaskan Malamute her name's Arya she's enormous she's like 130 lb and then we have two kons those are my two dogs uh Leah my wife has Arya I guess they're all of ours together and they sit in the bay window and they're just like hell yeah they're home so they get very excited um and then we have two cats veto and Vinnie and you got to see V Vinnie was over here he's gone now obviously and then veto was the one I picked up Vinnie is the the fat one um he is extremely food motivated if you open up food anywhere in the house he is right there instantly and veto is the one that uh he's very vocal so he'll walk around like meowing and it's not like the same meow it's always a different meow it's awesome so veto and Vinnie are the cats um I'm just kind of zooming through some of the questions here sorry um the cats help you on productivity or they're always bothering you know what to be honest um these cats like they don't they don't really bother me at all um what will happen it's like you saw them come in here that's rare if I when I'm getting ready to go to bed and stuff and I go downstairs and I going to brush my teeth um absolutely veto will find me so he'll ignore me the whole day and then he will come find me right before bed and if I close the door if I'm brushing my teeth for example like he's at the door like scratching it for me to open it and then just like wants to sit there when I'm brushing my teeth and then it's like if I go to carry him to bed he's like no man like I'm not no like leave me alone and I'm like I thought you wanted to hang out and he's like no I'm just here for the teeth brushing like get lost pal so he's kind of weird but um they're both awesome um are the cats gangster yeah so what would stand out the most to you when looking at an intern or Junior Dev this is actually another didn't I already send you this um one sec let me see I thought there was another one that I just did on this some someone asked this yeah I think I think in the in the video I linked earlier I'm just going to put it in again for folks that didn't see um and and I'll I'll touch on this very briefly but uh this is the the video it's on code commute it's called advice for junior devs who aren't quitting because of AI um I think the things that stand out to me are um when people are there's a couple things right so being curious I think is very important I think that it's it's too easy to be like in this position where it's like okay like I'm just going to code the things I'm told but the reality is like we need people to be curious like it's not just code like you have to learn about the domain that you're working in you have to understand like why we're trying to do these things like what value is it going to be delivering um so it has to start going beyond the code um I think people that are eager to learn that's helpful the reality is that in our careers we're always going to be put into situations where there's new challenges so being eager to learn I think is helpful um person I I struggle with this right like I I feel like I'm eager I would say I'm eager to learn but if you put me into a new situation I'm like oh I don't like it I don't like it but every single time it's very rewarding so I have to keep reminding myself that but something else um I would say is like one of the the things that I very much recommend to new developers now is like like ask questions um I don't have a better way to say it other than just repeating it over and over and over again but especially when people are remote please ask questions um I talk about this in many of my videos you know if you need Clarity don't wait ask for clarity don't stay blocked on stuff you're not going to bother people get your Clarity so you can move on otherwise if you're clear about what the goal is the advice I would offer you is be ready to answer the question what have you tried so far if you can confidently tell someone I have tried doing something here's what it is and you're still stuck no shame no harm please ask you've done some homework it's going to mean that you're practicing problem solving you're trying to do things you will get better at this over time but try something first right um and then on top of that you can add time boxing and stuff and people want to help you what they don't want is to be doing your work for you that's what they don't want they want you to be productive they want you to be on board to the team be productive because then you're going to be helping them right so uh I think a lot of people especially remote get very concerned that they're going to bother other people but I can tell you that from my experience the new Developers whether they're interns or Junior developers the ones that seem to be the most effective are the ones that don't wait and they don't get blocked it's okay if you get blocked on something but are you going to sit there for a week before you say something or are you going to say you know time time to do something about this right like getting unblocked is something you need to practice that's not what I would recommend um Clark hi Nick just want to ask how do you get yourself uh disciplined when it comes to learning do you have any tipss when it comes to concentrating since I was struggling in that part um it's a good question the I don't know a good way to answer this it's like a a general thing because I think the what what might work for me might be different for you versus someone else um what I would recommend I think is like and this is like it's not just specific for for coding right uh and I know actually in your question you didn't even say anything about coding so I would say I recommend carving out dedicated time so if you're constantly like oh but I have these other priorities I have you know uh have to go to the gym I have to go play Ultimate Frisbee I have to go watch Netflix like I need to go do these things at some point you need to make a decision about what you're prioritizing and like I know it kind of s I'm picking maybe what sounds like silly examples but this kind of thing happens where people are like no but I have these other commitments so I so I can't by the way thank you so much Dylan I I do appreciate that thank you um so people generally make excuses for not being consistent and I think that that's a bit of a trap so my first piece of advice is like if you want to build up that discipline you need to make sure that this is actually something you care about and it sounds kind of funny to say because if you were the one asking me like hey I want to do this I'm like okay I hear you but have you actually convinced yourself that because if you're going to come to me and say but I don't have time I can't make time I would just say well then you're you were literally prioritize by definition it's not it's not an opinion Like You by definition you are prioritizing other things ahead of this I'm not saying that's wrong I'm not I'm just saying that that is what it means by definition so at some point this needs to be a priority over other things I don't know what those things are for you or for other people so Step One is make sure that it's actually a priority have an honest conversation with yourself about that what I need to add into this is that it's not always going to be the same level of commitment if you're like I need to get better at learning I need to practice okay maybe you need to go make a trade for something else you're doing and make the time to dedicate towards this maybe that's for a couple months maybe that's for a year maybe that's for a couple weeks you may have to make a trade it might not be permanent that's part one part two is like once you have that dedicated time um I think for me I would say how you're learning is probably a a big piece of this so I think a lot of people will go cool I carved up the time I'm going to go watch tutorials and I'm going to learn to code and by the way I know you didn't say about code I'm making an assumption here that we're talking about learning to program so um I think for me what works really well is like having a project to go build and it could be literally anything I've talked about this in many other videos pick a project and pick it based on a hobby that you're interested in I always kind of use the half joking example of using something related to Pokemon go build a pokedex build something that you have a interest in the hobby lla just came in oh and she's leaving so there's that no more animals um so the idea behind that is that if you're feeling like you're struggling or you're feeling challenged and it's getting hard like if it's related to a hobby that can try to keep your interest a little bit more so those are just a couple of examples um Allan has a really good uh tip here make the problem as small as possible and then dedicate 30 minutes to solve it yeah that's your entry point because you'll wind up spending more than the 30 minutes you once you get going yeah and that's a so on the make the problem as small as possible part this is another thing that's a bit of a like software engineering tip in general right like decompose things the the half joking example I gave about make a pokedex right you'd be like Nick I have no idea how the hell to make that where do I start like break it into smaller pieces right go go tackle one of those smaller pieces and make progress on that all right but you need to dedicate time towards doing it so uh Clark I hope hope that helps um Power Up play uh I see a couple questions here um it might be the same thing just repeated what's the best way to become software engineer self-learning or college um hard to answer um if you want my honest opinion I think you need all of the above uh so like I went to University and for for background um I would say that like my choice to go to university was for two reasons one is that in Canada if I I'm in the US now in Canada if you legally want to be called a software engineer legally you need to go to an accredited program at University and that might surprise people but this is actually the case for many places in the world people don't realize that to have that title is actually something that's more than just I can work as a software developer so you need to go to an accredited program at a university you need to have I think it's four years of work experience I think it's four under a professional engineer and you have to write an ethics test so if I wanted to be a professional engineer I needed to go to university and I did I'm still not a professional engineer in Canada I didn't get my work hours under a professional engineer and I never wrote my ethics test there's literally Professional Engineers of Ontario will chase companies around and tell them you cannot call your employees software Engineers you can say that they're doing software engineering you can call them software developers but the title is literally protected so my argument for University was number one that number two is I wanted an internship program I had six internships when I went to University I had five straight years of school and in that mix was six internships I didn't have like summer vacation I had internships the whole time so when people are talking about oh like you know one of the dogs is crying lla come here I don't know what she's on about um when people talk about how hard it is and I'm not I understand the job Market's very tough right now but I think some people had this expectation that like they would go spend a year learning and then just be able to land any job like it just it just doesn't it never worked that way or it was if it was it's not like that was the the average thing the job Market's very hard right now but like I had to I went to school for five years and had internships and I think that was the only thing that made it easier for me was to say look I had the work experience from these internships it's not an easy thing though so um when we talk about self-learning or college or university like I I also was programming every day outside of school because I love to do it so the advice I'm trying to give here is like other people will be doing a lot and they will be your competition and if we think about how places are hiring people I understand people are saying it's impossible to get a job like the job requirements are so ridiculous right the intern level or sorry the the junior level positions need three years of experience yeah I mean yeah if you're a company I it's don't get me wrong it's ridiculous that doesn't make any sense right but if you're a company and you have a thousand applicants coming in how do you f out the applicants you keep raising the bar uh sorry on Tik Tok I'm not someone was trying to join the stream sorry I'm not I'm not having guests come on to speak I appreciate it though um so I would just say that like you probably want to expect that other people are doing all of these other things and that's your competition give me one sec I just want to go get my dog because something's weird I think she's stuck at the stairs I think she's just stuck at the top so my one dog lla is getting kind of old um and she I think for the first time I've never seen this before I think she's afraid of walking down the stairs so that's a new one um yeah Power Up play just to kind of wrap that up um you know if you have the means to be able to go to college I would encourage it uh I realize that that's a loaded statement because College in the US would be very very expensive college in other places might be covered um for me in Canada it was I had to pay for University but I had internships that covered most of it like that worked out well um but yeah I think my my point is like um you know employers are going to be in a position where they can they can set the bar high and it sucks it feels unfair but like when I sometimes I talk about this stuff and I'm like I'm just the messenger I'm sorry um but they they they can do that and I realize that feels unfair but like that's not in your control the part that you have control over is what you're putting in on your side so other people if other people are like well I guess I better go build more side projects I guess I better go you know uh participate in robotics Club I guess I got to go you know do like commit to open- Source stuff I guess I got to go volunt like whatever it is people are doing these things because they have control over that they don't have control over what like how many applicants are going for a job how many job openings there are that you don't have control over it so I just it's it's hard to like you know I'm just kind of saying how it is I'm not saying that I think it's good I'm just telling you like that's kind of a reality unfortunately so um okay since recently when I was making API I just got curious about the compiler then I researched about the compil then I lost my focus yeah so Clark yeah hopefully that helps but yeah I think um there's nothing wrong with being curious but I would say maybe another point there is time box your stuff right if you have little windows that you're dedicating set a little milestone for yourself maybe that's another way that you can approach that kind of thing um okay I think there's no more questions um I I mostly got we're over time you guys are awesome um but I think I got through most of my article anyway so this is going to be the advertising part of the live stream sorry I got to do it for folks that if you're on substack we're done here um but you can listen to what I have to say because I appreciate it um and this is probably going to come through pretty crappy on Instagram because it's vertical same thing on substack but here we go um I'm going to go over to the full screen mode so let me start over here this is the newsletter article I already linked it to you folks stev leader weekly um a quick note I changed up my format this time and you'll notice if you've seen my newsletters before uh I like to write so I'll give you a full article every time but what I used to do is I would put at the end um essentially like a a weekly recap of the videos um I don't someone requested like basically they said it's it's too much noise so I'm trying it out a different way and I just wanted to point out I wanted to pull this up on another tab I basically am doing my my weekly digest now on my other substack so if you're like hey like I don't know what videos I missed or I'm going to try writing more blog articles soon um you can oh that's my face I'm so sorry um a lot of these are code commute this is one from Dev leader right so uh you can check out this as well but this is essentially you know I write every every weekend I write a newsletter article that looks like this um with that said for folks this is Free by the way so I know it sounds like I'm about to sell you stuff but this is literally free right now so um Dome train is where I have my courses um and right now I have my two sort of beginner C courses uh they're 11 and 1 half hours in total they're completely free on dome train so let me put that into the chat um boom hey T man good to see you um Harry what do you use to link chats among so many services this is restream.io um it's kind of a pain in the butt because it doesn't link everything but it is what it is uh oh man sorry there's more questions that came in zerox do you think that it's harder to get into the field now yes I do I think there's a lot of competition the thing that I would say just for the record on this because I've someone gave me a bit of for this before I'm not saying that it's not hard for the record I absolutely admit it's hard I think that with a lot of remote work we have a couple things going on let me touch on them super quick we have some companies that are like hey AI is replacing developers then we have people in the field that are like hey AI is going to replace developers I guess I better like give up on what I'm doing I'm not even going to not even going to try so you have these people that are talking about this situation and they're already giving up then you have over hiring from sort of the uh you know the 2020 era to now right there's a there's literally a ton of over hiring it happened um so you have that going on then you have remote work which means if you haven't thought about this before by the way like it makes a lot of sense when you think about it if I were running a company right so I'm running a company out of this room and I want to hire people and I live in the Seattle area so what used to happen is I would put up a job posting and I would say looking for people and you get an office it's right here up at my couch and people be like oh I don't live in Seattle or I'll FAL I guess I'll commute but that would only be people that are around the area or willing to relocate now you put up a job opening people from across the planet across the planet can apply if it's remote so yeah the competition for every job went up then you have people saying well the you know the entry level requirements are higher yeah they're higher but you know what's happening people that don't have those requirements they're still applying like it's there's there's a ton of competition what I will say though is that and this is an important distinction is I'm not saying it's easy now but I never think that it was easy like I think to be I think it's a discredit to say that like some of us that went through a lot of school or internships and whatever else that it was easy for us to go get jobs it was not it took me you know I was programming from 14 and then so that was basically whatever grade n through grade 12 so four years there then 5 years in University I've been programming for 9 years before I got my first full-time job right it's it wasn't trivial before it took me nine years but I did it so not like it was easy before but it's certainly hard now there's a lot of competition um what is your answer about people who say AI will replace developers I don't believe that um Power Up play I mentioned this to someone else to Marson on Tik Tok um and I would say if you go to well I'll just jump over there now but this Dome train uh course package is absolutely free if you want to learn C uh it will teach you from no programming at all to being able to use C I'm going to jump over to code commute um because this is going to answer uh PowerUp plays question as well um if you go to code commute I'll just put the link in the chat the most recent videos I'm see if I can scroll them into view uh Zuckerberg's AI developer Fear Factory Tech or where's the other one look at this my my most watched video on this channel Zuckerberg said no more software Engineers so basically I talked about the Mark Zuckerberg interview on Joe Rogan uh this is based on I hadn't even seen it yet but people were telling me stuff so I made this video then I made a fall follow up and then I made an actual follow up once I watched it which apparently had less views by an order of magnitude but anyway uh this one here is Zuckerberg on Rogan let me just link this in the chat as well this is the one if you want my honest opinion after watching that I think that this probably explains my perspective uh the most succinctly um so I would check that out if you want like you know based on how I talk if you're like Nick that sounds like a long time to have to listen to you watch it in 2x speed I'm not going to be offended um but that's what I'd recommend um and yeah so this is code commute something that I was just sharing with folks depending on when you came on the stream is that people were asking for a 360 camera view so I got a 360 camera I'm going to try to put out some videos the problem is that um it cost me money to get my videos edited and I already lose a bunch of money on my main Channel every month and I don't want to lose more money on code commute so I will figure out a balance I might um you know not do every video that's insta 360 because if it's I'm trying to think on the math I would lose like thousands of dollars a month in editing costs if I had to do this and uh I'll be very honest with you YouTube money not so great so uh um looking for a sponsor if you know one but uh code commute is kind of a stream of Consciousness Vlog Channel I talk about software engineering Concepts and um kind of like this live stream but without the actual chat interaction and then Dev leader is my main YouTube channel so I'll put that in the chat as well I know some folks are coming from there uh but this is where I have more edited polished videos um you can see this is another one I did for AI I'll just link that in the chat as well if you want to see that people love the AI videos um yeah that's my recommendation on this channel but yeah it's mostly tutorials and c and my stupid face on thumbnails but I think that's all I got folks so I wanted to say thanks so much for being here and I will see you next Monday at this exact same time so thanks so much and until next time have a good week well spamming the watch time earn money um no maybe but like it's got to be real so don't uh don't cheat but thanks folks

Frequently Asked Questions

What are the main differences between programming in school and coding at work?

In school, the focus is on reinforcing concepts in isolation, where assignments are designed to help you understand specific topics without the distractions of real-world applications. At work, however, the emphasis shifts to delivering value to customers, which involves collaboration, navigating dependencies, and dealing with existing codebases that may not be perfect. The goals and constraints are fundamentally different.

How can I prepare for the transition from school to a software engineering job?

To prepare for the transition, I recommend gaining practical experience through internships or personal projects that mimic real-world scenarios. Focus on understanding not just the coding aspects, but also the business value of the work you're doing. Being curious, asking questions, and learning to navigate team dynamics will also help you adapt more smoothly.

What skills should I focus on developing as a junior developer?

As a junior developer, focus on being curious and eager to learn. It's important to understand the domain you're working in and the value you're delivering. Additionally, practice problem-solving and don't hesitate to ask questions when you're stuck. Being proactive in seeking clarity and understanding the bigger picture will set you apart.

These FAQs were generated by AI from the video transcript.
An error has occurred. This application may no longer respond until reloaded. Reload