day in the life of a software engineer | 4+ hour productivity | building my software company

Phil Choi documents a day building his software company, from morning routine through team standups to late-night coding. He discusses AI's impact on engineering jobs, walks through architecture decisions like Zustand for state management, and assigns teammates work on login flows and admin panels using Firebase.
Questions this video answers
7:30
February 10, 2025
Around 9:30pm
After the age of 30
Chapters
What do you think? My new jacket. You like it? Yeah, dude, it's the programmer style, bro. I Woke up at 7:30 so I didn't even have time to do push ups or anything, bro. And I get a call while I'm brushing my teeth from the. And they're like I can't, you know, like I can't come up and I'm like okay. And then they're like, can you just take like deliver them to the daycare center? No problem. And like things happen like that, you know what I mean? Unexpected all the time. No, what? Just roll with the punches, bro. You know what I mean? Cuz if I get hung up, I get upset and I'm like no, dude, you know what? My kid's not going to daycare today. I'm just going to keep him at home. Just roll with the punches. Plans change, things get added to sprint. You know what I mean? Things change, bro. But you know, at a company, what you got to know is no matter what happens, right, in programming, say a company ends or something, the programmer is pretty much the one that comes out with the most, right? You come out with learning more, the most skills. Like I always talk about your little treasure chest. I'm sure you write like some cool as functions there. You know, the programmer is the one that comes out like, you know, more skilled, more honed. And I think Minnie and I were talking about it yesterday, right? God damn it, bro. This car is going to come now. Holy, bro. A few minutes later. Just roll with the punches, bro. Dude, I think I say bro too much, dude. I'm not even like young anymore. Roll with the punches, brother. Roll with the punches. B Sigma. And even like yesterday, Mindy and I were talking on the phone. It's like, dude, AI is replacing everything. Lawyers, you know, a judge. We should be happy. Like our professional coders were whatever, like attack first, you know, from A.I. we're not dumb, you know, we'll make our own defenses. We'll make sure, you know. And AI is going to create a whole bunch of other jobs. I mean was prompt Engineer even a job like three years ago? You know, roll the punches. You never know what the weather's gonna be tomorrow. You might think it's something, but all of a sudden it snows out of nowhere. Anything. I'm gonna try to get into it too, but I think I'll get it all wrong and I'll embarrass him like you don't know. Hitmonchop. Stay here. Okay. Are you coming in? Sure. All right. Sorry. It hurts my heart every time when I see him say bye. You know, let's get started. I feel like if I lost in the blizzard, the helicopter, they'll see the out of here. So my name is Phil. I became a student developer after the age of 30. If you have any idea about what AI is going to do in the future, please leave it in the comments. I'll respond. We'll get a conversation started. Like comment or share. It really helps the algorithm and gets us pushed out. And if I can do it, you can do it too. Coding save lives. Okay, Minnie, I'm going to code for 30 more minutes.
Sure.
And then we're going to get. I'm just going to put Jocelyn on the right path. Yeah. And I'm gonna ask her to finish. I guess that. All right, all right, all right.
You say something about less social progress.
We're still setting it up. All right. Like we're trying to. You know, a lot of the code I think is like these code architecture kind of like things, you know, like this, the code setting up to like make it as comfortable as possible to work on. And I feel like the more work you do in the beginning, the less work you do later up how everything works like Async storage and things like that. And next we have to work on Storybook UI and make this like component showcase cool for our building blocks. Are my lips really shiny? Because I put a bunch of CarMax on there.
You're good.
Okay. Basically, when we have everything built like I used to love playing with Legos when I was growing up. And you just put the Legos together and then you have everything streamlined so you don't have to code like that much. And there should be like a pattern that everyone has to follow instead of like a random pattern here. A random pattern here, you know? Yeah. Hey. Hello, everyone. Hey. I sent a zoom link. Can you guys send. Come in there? I think it's a. It's a little bit easier. Gabe, long time to see. Dude. What's up, everyone? Hello. When Jocelyn's here, we haven't seen her in a long time.
Miss you guys.
I don't know. I'm not. Yeah, I think booty. Have you tried building it by chance?
The builder worked for me. Both iOS and Android.
Okay. Awesome. I just don't know where it is on my computer right now, so there's like a big issue. I think it was just the documentation and I think I missed something in the documentation. So my bad, my fault. I just need to. Now we need to Start working on the app because everything's working and there's some server stuff that we need to work on. Anyone know where, which way they want to go? Meaning like which parts you want to work on?
Prefer back in, but I don't mind doing both.
Justin, I think you're the most experienced at the back end. My opinion. Login screen. I think we have to recheck that one to be honest, because we have to add form validation, all that kind of stuff. Set up React native logger got a little bit better. Trello. React native logger is done. Good job, Booty. Amazing. This is ready for qa, so as much as we can. Like why is it so so laggy? All right, that's it, dude. I gotta go get a new computer today. All right, so we gotta follow some kind of design, but can you guys just like not care about design whatsoever for now and work about a thing about functionality, you know what I mean? So I think I in it. I in it. The backend server. Let's. That's ready for qa. Did anybody research into REACT admin? I think Jocelyn and I will work on this one, but it's in this stage. So we finished the on off state change stuff. Young, you said you're going to do async storage, no?
Yeah.
Can you check. Can you try to get that done? It's like local storage but for a phone.
Okay.
And Gabe, can you work on a forgot password screen? Just, just. It's just a screen with one. One input. You know what I mean? Yeah. And I think you've done it before, so I think it's, it's. It should be easy. That too. And I think that if the backend is working, one thing that you. I can ask you to work on is on the admin panel because I think you're pretty good at React and React web, right? Yeah. So like we're gonna need to create like a login page for the admin and basically like a dashboard. Right. And I kind of want to try this React admin NPM package out. Can you research into this REACT admin please? If. If the build does not work, but if the build does work for you and everything is clean, I'm going to pull you into the, into the mobile side. From there we need the forgot password. So that's you, Gabe. And then, and then the don't have an account sign up. We got to work on this stuff. I guess this is a little bit done to this point, but can you just make sure it signs up like when you press sign up and then it creates, it creates a user inside of the Firebase Firebase console. Right. It should, you should be using that method, sign in with user, whatever user with email and password and then the user should come into the authentication panel right here. Right. For the signup form a little bit Part of it is you have to work on react, Hook form, Hook form and react and, and form validation. Can you look into this, please? Okay. We have a video on it. Oh, it's not ready for qa. I'm going to put you on this. Okay. I think it's not too hard. I, I not. It's not a bug, it's a front end thing. Song, this is yours. And then Gabe, this is yours. And then Jocelyn and I will kind of work on the API docs. Is that cool?
I can work with Gabe for the Firebase Auth because I did it for Visme.
Okay. Okay. And I think Gabe is pretty good at it too. Like, I think it's a good thing. Like you guys can both do it and we're using authentication with. Let me put myself in here. Everyone knows what to do and let's just keep it, let's keep this meeting short. Does that make sense?
So the, yeah. So this is like the beauty of encapsulation, right?
Exactly.
So like the main method that you use in other files is going to be the same, but the inner workings are going to be different because you use a different library.
Exactly. So it's like kind of like creating your layer of that library. So then, okay, yeah, so then later on you can just like rip things out and put them back in and stuff like that. So I like to put all my like let's say user email. Right. And I like to use hyphens, to be honest, like this. Would that work? And then in config, let's say I get to take the phone storage and then I say. And then maybe I can say store user email. Right. And then I take, I take some kind of email which is a string. Right. And then I can do, try, catch or handle some error later. This is too much code though. Phone this.phone storage.storage keys. User email. Store email. Let me just block this guy out. I like Zeus 10 a lot more recently. There's no like, there's no wrapper for it and stuff like that. Like with Redux you have to, you have to wrap your whole code in a provider and like if you wrap something and then Redux something changes, your whole app kind of re. Renders But Zustand, I don't know, it does some magic in the background that it doesn't like. One really big problem with like React is it reacts to everything and re renders on everything. So like things like React took form and Zustand kind of help those issues. So I maybe we can kind of use this or Recoil is a new one that people use you. You're probably wondering like, hey, how do I get that value from another screen? Or something like that. So in the background of the app, like let's say you have this like this bank or this store that you can pull values from wherever you are in the code or whatever component you are in. So that's what global state management is. Right. It's kind of like a bank that is universally used throughout your app. But use state is like a locally used piece of state in that file. Right. But you know, you may be like a profile. You don't need to set the state inside of every single screen because profile does not change and it can be shared everywhere. Right. So that is kind of what global state management is. Oh, I've been coding a lot recently. All right. And then now I go to get check out development and now because it's merged, I can run git pull and everything is pulled. And can you guys diverge from development branch now?
Okay, so you're coding at night now?
Yeah, I'm coding at night. So if you want to join too, you can join. I met. I'm like around 9:30 after I put my kid to sleep. What time is it over there?
More from Phil

day in the life of a software engineer | 5 hour productivity | building my dev agency 🔥

day in the life of a software engineer | 3 hour productivity | coding my 6-figure community startup

day in the life of a software engineer | 5 hour productivity | coding our sns startup app LFG

day in the life of a software engineer | 5 hour productivity | creating apps that makes big money






