You asked -- I responded!
I was asked about what a day in the life looks like for a software engineer.
While I'm an engineering manager now, I still wanted to share what I've observed and what I've experienced.
The twist: I'll talk about it from my startup and Big Tech experience.
📄 Auto-Generated Transcript ▾
Transcript is auto-generated and may contain errors.
all right it's Wednesday just leaving the office says 50 minutes to get home I hope not it is freezing I'm tired it's cold it's wet outside it's all it's all the good things um let me get this turned on a little bit I just see some some air coming in here cuz it is freezing feel like nothing's coming out of the vents but anyway it's a good start okay so this morning's video I mentioned I had a couple of topics that were sent in I'm going to try to keep reminding people in the start these videos um definitely um feel free to send in topics write them in the comments message me on social media if you want me to go over different things I'll try my best um but otherwise I'll try to jump into topics a little bit more quickly because I realize
the beginning of YouTube videos because I make them on my other channel I know that people want to see me jump into topics right away but uh at the same time like I like to ramble a lot and this is a nice opportunity to do it but anyway topics that I'm going to start going into so today like this drive I'm going to talk about a day in the life of a software engineer and then I will do another flavor of this which is as an engineering manager um so the disclaimer that I need to provide uh obviously as I go into this is that like I guess a couple one is like this is going to be absolutely different everywhere for every person so if you listen to what I'm about to say and you're like that's not what it's like to be a
software engineer like yeah I can't I can't do a talk on this and have it represent everyone so I hope you realize that that's the first thing and then the second thing is that like uh I'm actually not a software engineer um so I I've been an engineering manager for like 12 years now so um for going back four years I had finished up basically being a Sofer engineer and an engineering manager at the same time for 8 years so I do have some idea what it's like uh I manage engineering teams I know what my Engineers are doing on a regular basis um so and like I build software outside of work so I have a rough idea what's going on but uh typical day right so um I want to start by kind of going between a couple things um one is that
like I have time uh like most of my career is actually at uh smartups and smartups startups and small companies I combined the startup and small it's great smartups um startups and small companies and uh only recently right like the last 4 and a half years is at Microsoft so uh disproportionately more experienc at startups um so I want to talk about like some some differences uh at least from my own experience what I've observed and something else I need to mention too is like my experience prior to so coming it to Microsoft was during the pandemic and also everything is remote or a large majority of it is remote still not recovered from this morning and uh prior to that like at the startup that I was at and literally all of my other work experience was in person uh so that is a
detail that's important because as I explain these things I need to have you know where I'm coming from on this stuff so if we think about a typical day that I would have experienced or that I had seen people experience um at uh like a startup or small company um we followed What would be considered like something sort of agile is I think many companies try doing something sort of agile is so um typical day you would come in uh most teams are pretty flexible in terms of the start time but there's usually like core hours right so you might say like your core hours are going to be between like 10 and 3 or 10 and 4 or something like that and you know you're able to start uh later and you're able to leave uh earlier whatever like or later whatever you want
to do you can shift your day around but as long as you're there for like the core hours on your team because like otherwise it's pretty difficult to like schedule meetings or like have conversations with people to work on stuff so some set of core hours um uh that would be available to people and then and then people would roll in right so you'd have come in start your day and I think a lot of the time for me at the startup it was like we weren't even that heavy on email which is it's almost like crazy to say because like Microsoft like my my inbox is constantly like overflowing like I constantly have a reminder it's like you need to empty your inbox um and it's because I work in Office 365 and literally everything that's done is email so uh as an engineer
like a software engineer I might not even be coming in and checking email if I had to it was like one email or something so uh it was pretty light for me um and then more often than not it was like I could really get in and get some Focus time right at the start of the day and that's because if I came in like an hour earlier let's say uh and for me unfortunately uh I would work a lot so sometimes I was in even earlier than an hour um but I could crush some good Focus time uh as people were getting like rolled in so um that was something I like to take advantage of and what Focus time for me looked like was headphones on I would listen to music and program uh I generally had a handful of different things that
I was working on at the same time um not literally in parallel but like a couple of top of Mind things and uh you know we would work on the team to make sure that because it was mostly agile like we flip-flop between like uh some type of scrum and some type of can B um but like there was all like it's a startup there's always stuff that has to get done right so I would have like something core that I'm working on and if I needed to Pivot cuz I'm waiting for like a code review or something else I could go jump to something else but day would start off with some really good Focus time usually and then from there um we did daily standups so um one of the things that like early on in this startup like we had few teams
but they were very big and we were not like we were bad at doing like air quotes again here like bad at agile um like a a 15 to 20 person standup meeting would take like an hour like like biggest biggest waste of time and doing that like every day was just like a absolute nightmare but by the time like I was managing teams and they were smaller and stuff um I got to pass this bus um whoa that person was switching lanes across all three lanes didn't put a signal on and almost merged into me and now they're weaving in and out of traffic so must be nice to be stupid um anyway what was I saying before I almost got hit um oh like kind of moving to like canb style and again like not not following it like perfectly or whatever but
we we were trying to implement some things to see if we could like optimize our workflow so I think some people get so caught up on like just hating agile that like they forget that some of us were trying to do these things and and look at how we could work effectively without just putting rules in place so we started off with lots of rules and then like I said as time was going on company was growing we started to realize that like it's just not not the way for us so with can ban we generally had like some amount of like work in progress limit um and that meant that you know I wouldn't necessarily go pick up like 15 work items to go code up and like throw them over to QA kind of thing but that's worth mentioning too depending where you're
working your team set up might have something like uh programmers and testers or programmers in QA and you could go write your feature as a programmer and then like what we did that was really bad in the beginning because we had dedicated like QA team was programmers would like write a feature and then we would like send it over to testers and then we go start working on something else and like two seconds in the tester would be like this doesn't work and then they give it back to us and then we'd go like try fixing it and then give it back and the same thing would happen so there was this like outrageous amount of wasted time so um on the teams that I managed we moved away from having testers at all uh we had a team of like four to six people
depending on the time and we had a test strategist and that test strategist worked with us to develop testing plans that we would automate and that for us was a significantly more effective approach so again starting the day Focus time then we'd have like a standup meeting again when things were a little bit more streamlined for us at least uh the teams that I was on uh the standups sometimes were so fast because like we sat in a small area together and we were so collaborative like to the point it almost felt like the standup offered zero value because we were like we know what person X is going to say like we were just talking about it anyway we've been talking about it and seeing the progress for like the past week like we know what's up but I think where the value was
really good was uh our product owner at this point in time didn't sit with us so it was a really good opportunity to get on the same page and in fact we switched product owners um more than once so being able to have someone that we like say that was newer to the company we didn't work like super closely with up to that point just being able to have like give them a space where like we know what up cuz we're talking with each other but let's give this person the opportunity to like kind of see uh how things are progressing and small team so we could go off the rails a little bit in our start or not our startups in our standups and uh and still not waste a ton of time so we just did it ad hoc sometimes you know the
the product owner would come around and we're like honestly like there's no updates so if you if you don't have anything to share today like we'll just skip it so um we just tried to like be respectful of our time so after that you usually get back into some Focus time um so unless you have other meetings that are sort of um like team ceremonies or rituals and that kind of thing that sounds very sounds very um special I don't know um sounds like more sorcery than programming but um if you're not doing those types of things honestly the rest of the time for me was like was Focus um it shifted though because and I'm I guess I'm I'm exaggerating a little bit because it wasn't peer Focus for me even early on it was intended to be like Focus time but something that
happened to me and it will happen to a lot of people that are gaining seniority at a small company is like you get disrupted a lot because um because you're able to help other people what I mean by that is you'll have people coming by or messaging you and saying like hey I know you have experience in this area can you help me and uh I remember I don't want to say like wasting time that's not the right word cuz it was helpful um but having a lot of my time be consumed by just just going around and helping people in fact just prior to leaving like I would say the last year that I was at that company I probably coded very little and uh I would spend most of my days just going around like helping other teams like teams I didn't even
manage but I'm trying to give you this perspective as like a software engineer but so the the point is that when you build up the expertise in an area and then you have the to go with it um like you become you become a resource for other people and uh you have to be careful about how you balance your time or else you can you can lose a lot of it so that's like a I know that's like kind of like super rushed high level but just to layer in some of the other things that would happen right like I talked about like ceremonies or rituals um depending on the day like for us we did um bi-weekly Sprints so we would have like a retrospective on top of that so we'd have a regular retrospective that was like an hour long again that's coming
from like uh like agile uh but uh I always thought the retrospectives were like arguably the most important thing we did um at different points in time and there were still other teams that did this like they had like a Sprint planning meeting and they would have conversations and estimate things you know the stuff that everyone hates to do and I did this early on too um but like it just it felt like it was such an enormous waste because people were debating like the arguments that would go into like if something's a threo story or like a fivepoint it was like we could waste so much time on it and you literally could have built the thing in the time that you were like debating it so like that kind of stuff like when I was managing my teams like we just didn't do
that we found other ways to try and work through like prioritizing and stuff like that so um sorry there's an accident I just want to pay attention here or someone just speeding naughty naughty don't do that um so you get at least for us these two other types of rituals right which were like a Sprint planning like I said I tried to drop those out because they weren't super effective at least from an estimation perspective um but we might use uh the other ceremony which is our retrospective to talk about some upcoming things so the retrospective was important for looking back uh I always felt like this was the most important meeting we could run ever and uh that's just because like we focused on continuous Improvement so we would talk about things that like didn't go well did go well what we want to
try like experimenting with and we would go run these experiments with our team and then reflect on the ones that we were trying from last time so uh I like that those could be uh heated conversations uh not because we're like fighting each other but like we're just passionate about the topics we're talking about I think I've talked about this before but we once had um we once had this is great we had someone that like joined our our retrospective and uh our te like the team I had was was pretty special and I mean that like a really good way uh you know just love the people I work with but we were all very similar and that like we would get heed about stuff that bothered us but we used it as fuel because we were like look this stuff makes us so
like upset so uncomfortable like we need to do something to change it like that has to happen so it was always fuel to drive change Always now we had this person uh and I'm not like not going to say names or roles or anything like that but we had this person come in to watch be like a spectator in our in our retrospective I think that they had worked a little bit with our team during that time and we just did what we always did which was like we talked about stuff that pissed us off that we were angry about that was bothering us slowing us down and in our heads we were like this is good like we're we're venting but we're not stopping there like we're not just saying that all sucks end of story it was like cool like what are we
doing about it how are we making this better and I remember after that Sprint planning meeting my boss at the time had called me into chat like a oneon-one meeting it was like so like we're concerned like the team uh has like a lot of negative energy and I was like where is this coming from like why are we having this conversation and then I realized oh crap like we had a guest come in and I I guess I mean the different role that came in to like do this retro with our team and they thought they thought that we were just like angry at everyone else in the company like that was their takeaway um so anyway I'm sharing this because the the Retro for us was this very important time to like be honest with each other be like let's talk about the
stuff that's really driving us nuts so that we can go make it better and then we would but this person um no fault of theirs right like uh I guess we were just too passionate and didn't really realize but um you know they don't they don't realize that we're trying to take action on all these things to make it better so I just thought it was hilarious but anyway those are like two types of Ceremonies that come up uh and not every day obviously but there those are things that happen in like a regular Sprint um I think that's mostly it the reality is too like for me at a startup like if I put my own personal spin on this I worked a lot um like many many hours a day for for years and like I would start work pretty early um depending
like basically I was just looking to minimize sleep right so so it was kind of silly but like I could get into the office say like different times like 7:30 in the morning uh I would I would stay until I needed to go home to eat dinner so I could go to the gym and then I would work uh like at my computer after the gym until like midnight to 2:00 in the morning kind of thing and I did that for years um often on weekends and stuff um so like I spent a lot of time working and I I want to share this again not like I'm trying to not trying to brag about how much I worked because it's not healthy um but I share that because I I want you to have awareness of it so um because this is like a
day in the life for a software engineer if you're at a startup company like this might be something that you find yourself doing I think many companies are trying to be better around work life balance honestly I think people are trying but um like that that my company never forced me to do that they never said Nick like we need you to work later that was all like self-inflicted I did that to me so again that's a reminder that it doesn't matter necessarily like what the company's saying and their expectations if you're the kind of person that will work yourself into the ground like you need to be careful about that stuff okay now my experience at Big tech for software Engineers because I have not been a software engineer in big Tech just an engineering manager so when I switched from the startup where
I was being a software engineer and managing teams uh like by the end of that I was managing two teams and I guess like they my role was called a technical manager so there's some expectation that I'm coding coming to Microsoft I'm a principal level engineering manager I don't write code at all at work um it's just not a requirement for me specifically um but the engineers I have on the team like let me chat through like what that looks like now for us I mentioned we're all remote um there are some people that come into the office and stuff like I was doing today but uh consider us like a remote team right so we need to treat everyone such that they are working remote so we're trying to be inclusive that way but um that means that you get a lot different startup
times so for example we have people on the East Coast they might want to start their day a little earlier so they're not starting work at like noon um some people will start their day at noon like when I started at Microsoft uh and I was on the East Coast still um I shifted my entire day around it was really really bizarre cuz I went from being like I'm already we're not now I guess but I was a night owl and um I was like great like I just I can sleep in and like I have to work at noon like not a big deal but um it's I couldn't really sustain it it was kind of just too weird for me cuz like working till 8:00 at night was like not really cool um especially cuz like uh my wife now girlfriend at the
time um like what does that mean for our relationship it's like every day uh you know she'll have work in the morning or something and then she comes home but I like still have to be working for another few hours like kind of kind of crap um so you'll get different start times for people uh different time zones and everyone's remote so these are some some factors to consider um now you might work at a place that's completely different that's cool I'm just sharing some experience with you give you different perspective on how these things can look so the way that we're organized is that I have several small feature Crews within my team and a feature crew just works on a product or service area so it's literally just like having a handful of small teams so I have four feature Crews four and
like a half I guess because I have a shared feature crew for a v team uh so that's just multiple teams coming together we have um this V team and sorry I'm just trying to check CU there's a lot of brake lights here and so there's four core uh feature Crews plus this V team and like I don't want to talk about the management coordination of that but on each feature crew um you you would treat it just like its own little team so we don't do standups um not in the traditional sense like it's not like we get our a 10-minute phone call in the morning and kind of go through that as like a feature crew but we do generally have like a weekly sync meeting instead which is supposed to be like kind of like a mix of like a standup uh
like a once a week standup situation um plus like a bit of planning depending on what's going on at the time I want to get my water Where's My Water oh no oh no come on oh it's literally right there I'm just dumb okay um let me drink this for a sec sorry my mouth gets too dry and then I feel like I'm battling myself trying to just like talk about really basic stuff okay so no traditional standup kind of thing right so that means someone could start their day and if they don't have meetings they could really get into Focus time and what's nice about that too is that when people are working remote you can do things with your notifications to basically not get distracted if you are comfortable tuning that kind of stuff um and then you don't have people coming by
your desk right so um you can really do some work to carve out time and be productive uh I often recommend to people like set calendar blocks too so you have like dedicated Focus time but traditionally be like Focus time and then uh depending on the day of the week you might have like a like a sync meeting some teams I'm on we'll do like two sync meetings a week so you'll have that kind of thing come up and then Focus time again but what's unique for my experience here is like there's there's a lot more meetings and I don't just think it's because it's like big Tech uh I think it's also the nature of the work we're doing so for example it's a live service and the forensic company was like uh shipped products like shipped digital products so the live service we
also have like a weekly service review so there's a meeting to go over that um we'll talk about like incidents we'll talk about like whatever is top of Mind related to like just the health of the service overall so that's a meeting that gets layered in um we all have I'm trying to think what what another like common one is so outside of the team there's also like a weekly service review for like the larger uh organization I guess um so like depending on what what things you need to be talking about you might be talking at both of those like uh presenting like uh for incident reviews right so an incident happened you're there to kind of share the learnings and stuff like that with the the wider audience so that could be a thing that you have to do on a given day
um I would say there's like design dock reviews there's uh planning meetings like there's a lot more just meetings that come up um so part of that I think is because of everyone being remote or most people so you might otherwise be having conversations like that just in the office like in passing but you don't really have that luxury when everyone is not home or everyone is not at the office because they're at home so something to think about um but that I think chews up a lot of time and that's probably why people talk about you know like Engineers hate meetings and stuff I felt I felt like before it wasn't such a big deal like there weren't so many but I can totally get why you know at Microsoft at least from my experience why people are like man like meetings suck we
have so many um and I don't blame Microsoft I don't think it's like a oh Microsoft is doing a bad thing I just think that there there are a lot more things that you need coordination and you need people on a call to talk about it and then trying to schedule that and get the right people looped in like that just chews up time so um now another thing too life service so a day we talking day in the life right that means on call so um myself included but my team members will have to do on call shifts for us uh those are 12-h hour shifts and uh previous team I was on they were 16 hours so you'll get uh four days as like a backup on call so when your primary on call person is paged um you don't have to do
anything unless they need some support and then you go primary after that and you have your own backup so um on call is definitely like a draining thing for people it's like nerve-racking it's not easy um there's going to be like stuff that you're not exposed to right so I talked about the feature Crews I have I didn't say what they were cuz it doesn't matter but um the different feature Crews work on different product and service areas but when you're on call you're on call for the whole like service footprint that we have which is a a combination of all these other feature Crews what they're working on so makes it really interesting because you go on call and you're like oh I know this other feature crew works on this thing but like I'm the on call person so you do a little
bit of work to like try and diagnose things get stuff unblocked if you can but then you would be looping in the experts from the the feature area so on call is pretty cool because again this another thing I can't believe I said out loud today uh first one was like Career Pro would I say like career planning or something is cool career prog progression is cool um yeah but what I mean by that is like it's cool because you get this forced learning opportunity and I think if you can frame it that way then like it can make it more enjoyable um and so on call for us like you're not expected to like have to know and go fix everything like that's not the case um the expectations are that you're acknowledging the partner that's raised the uh the incident um so they've
been acknowledged uh you might you know lead the investigation on the first steps to make sure does our team own it like can I see where something's going wrong uh owning some mitigation perhaps and then um the fix might not be something that you're responsible for so you would work with the other members of the team to try and find out who is uh the owner in that space and get things resolved so I think there's a little bit more room for randomization so the startup randomization was pretty rampant um but it was it always felt like like big pivots I guess um I don't mean big as in like a totally different business idea but I mean like we would have stuff where we just finished talking about the priorities and then someone like the founder would say like but like hold on like
I had this really good idea like we should we should put this into the plan and it's like ah like okay but like what else is coming out and that's a really difficult conversation for someone um to say like hey look you just added more work so like what do you not want done because we don't just have more people working more effectively so kind of interesting but uh the randomization I would say with a live service is a lot more around um the stuff that's coming up from On Call right like you're or you're watching dashboards yourself and you see some of these things coming up where um you kind of have to stop what you're doing to help put out a fire so that can be very derailing so remember that Focus time I was talking about um it ends up getting chewed
up a lot now not for every person but again the more uh I would say the more experienced people have this happen um because they're experts in the area right so lots of different reasons for it but ultimately that Focus time that I was talking about goes um goes quickly so a recommendation I have for folks if you're regardless of big Tech or not I would say like schedule some time in your calendar to block it off I think think without that um or without even being able to say no to meetings like I talk about this too right if you get invited to a meeting and you're like I don't even know why I'm supposed to be there like ask not many like not many to SL no one does this but like literally ask ask why if you're not sure and say to
that person like hey like I saw that you invited me like one do you know what you need me there for number two like um like what's the goal of the meeting and like make decisions about going because if if you're like well I don't think I'm going to be a value there I'm going to opt out if they really need you there then they'll try to make sure that they get you there right um maybe it's a different time or something but they'll make sure so yeah it's it's challenging the the time management stuff is nuts so time flies so carve out time in your calendar try to get some some Focus time blocked off but yeah honestly I think that's mostly it um it's probably worth mentioning too I kind of touched on it but like because we have folks across the world
in different time zones um like that might mean on some days working later or starting earlier um so that's something to consider like for me I had uh recently we just switched them up but I had a meeting on Thursdays at like 8:30 at night and then you might say that's a really dumb time to have a meeting I'm like yeah okay but it was with people in China and uh that worked really well for them and then you might say okay like that only works I guess when there's one person that's outstanding and that's unic and uh otherwise sorry one second I got to turn and otherwise it's not really feasible because like how are you going to coordinate an 8:30 meeting with other people is literally four of us so just under half that were okay uh on the North American side of
that meeting uh totally cool at that time right so it works you find the time that works um and that's part of being a global team right like when you have that kind of support across different geographies like it's it's basically impossible to find a convenient time for for everyone um so it's all about finding ways that you can work effectively still so that's something else I would say like that didn't really come up with me at the startup there's a couple of times where like we might have like trainers or support staff in different areas of the world but uh honestly like like we use slack a lot at the startup um I was already up a lot so sometimes or like up working so sometimes I get a message and it's like I can respond to this right now I'm already working kind
of thing um but the the work life balancing gets pretty tricky sorry I wanted to get through that light um and that's another thing that maybe I'll close I'm almost home here but I I want to I want to talk about this because it's it's not going to matter if you're at a startup or big Tech so um I think one of the big factors here uh it's not the only Factor but I think something that's affected it a lot is work from home so um like I I enjoy working from home uh not that I don't love being here with you guys on on code community but like if I didn't have to drive into work then I wouldn't have to make these videos um but uh in all seriousness like I can be productive from home I can save time on the commute
like it's just a better setup for me uh what's challenging though for some people and I think this is important to think about when you're having discussions about you know is work from home better worse and everyone has different opinions like they they have different opinions because literally different things matter to different people and their scenarios are different so for me I'm good to work from home right I don't like to commute I'm good to work from home for other people they might say like I have a really difficult time with time management and when the day is over like the Day airor quotes over from work like I don't actually get to know like it doesn't feel like it's done and then I end up working more and now I'm working like an extra two hours every day so like I'm not commuting but
now I'm still working extra because like there is no segregation right um so I just want people to to keep that in mind right I don't have a solution for it necessarily but um when you're thinking about a day in the life of a software engineer it's true that like for many people you'll end up working lots of extra hours but um I think if you're doing that consciously and you're making decisions to do that that's great like make an informed decision but if it's just happening and you're not putting thought into it like you should like set some boundaries right maybe like for me I set a a block in my calendar that after a certain time of night it just says out of office and then people won't schedule me for meetings during that time and if they do usually they'll reach out
to me and they'll say hey like I noticed that you're out like uh is there any way that you could make this meeting and because it's a very rare thing the answer is almost yep I can do that right now it's the exception it's not the hey I noticed your calendar was free like every day this week at 900 p.m. so I'm going to schedule a meeting with you so little Pro tip but yeah folks I think that's it I'm pulling in here I hope I hope that's some perspective on a day the life of a software engineer uh those are some of my experiences from Big Tech and startup land I definitely think that like being in the office was nice um for just like being around people and like like especially at a startup I really felt like a lot really a lot
better connection I guess but um it's all like this way is wrong or anything so okay that's it you'll get the manager one the next time until then I don't have a fancy sign off or anything I'll see you later
Frequently Asked Questions
These Q&A summaries are AI-generated from the video transcript and may not reflect my exact wording. Watch the video for the full context.
- What does a typical day look like for a software engineer at a startup?
- At a startup, a typical day often starts with flexible core hours where I can begin early and get some focused programming time with headphones on. We usually have daily standups that are short and collaborative, followed by more focus time unless there are team ceremonies or meetings. I also often help other team members with their issues, which can take up a significant part of the day as I gain seniority and expertise.
- How does the workday of a software engineer at a big tech company like Microsoft differ from a startup?
- At Microsoft, the workday is mostly remote with flexible start times depending on time zones, and we don't do traditional daily standups but rather weekly sync meetings. There are significantly more meetings, including service reviews, incident reviews, and design discussions, which can reduce focus time. On-call duties are also part of the job, requiring 12-hour shifts to manage live service incidents, which adds to the complexity and interruptions during the day.
- What strategies do you recommend for managing time and focus as a software engineer in big tech?
- I recommend scheduling dedicated focus time blocks in your calendar to protect your productivity. It's important to question meeting invitations by asking if your presence is necessary and what the meeting goals are, so you can opt out if you're not adding value. Managing time zones and remote work requires flexibility, and being intentional about when and how you work helps balance meetings, on-call duties, and focused programming time.