day in the life of a software engineer | 4 hour productivity | our full-scale app is close to MVP

This is a YouTube meeting-style transcript of Phil Choi and teammates (Song, Jocelyn, others) discussing day-to-day development of Skillsphere. Key points: Song implemented a login screen on a branch ('Song login screen') using React Native Elements; the Android build is failing due to a vector-icons linking/ambiguous package error; Phil guides debugging steps (run 'npx react-native doctor', check MainApplication.java, Android app build.gradle), suggests using hooks for UI (useKeyboardAvoidingView), and plans to teach aggregate+lookup for skills matching. Team aims to reach an MVP with additional features like chat and an admin panel.
Chapters
You know, everyone's afraid, like, these AI is going to take over some developer job. AI is going to take over every job. All right, let's get started. I'm telling you, you know, like, if you, if you hide your kid from like playgrounds and shit too much. Yeah, yeah. When they're older, they're gonna get sick and you know what I mean? Just like, programmers are resilient, you know. Yeah. So, like, we were the first ones exposed to AI trying to take our jobs and shit. Since you're the first one attacking and the most exposed, we're gonna be able to make the most defenses. And you know, I don't know how it is yet, but the defense is probably just like more jobs being created anyways. So just AI is going to take every single job anyways. And then UBI is going to happen. Universal base income. And the only jobs there are are programming jobs, data, data gathering jobs. Dude, there's this really good show that I watched not too long ago. Let's go get coffee. The call we hyped up. No, I played video games for like, dude, AI is going to take over every job once these robots. You guys heard robots coming out, bro, A robot can fix your car. A robot can clean your house. Robot vacuum. Here's. Yeah, dude, here's what I have to say, dude. I sat in a massage chair for 36 minutes the other day. They're still in masseuses, bro. It's insensitive to your feelings. Like if you have like a, like a special spot that you need to get rid of on your shoulders or something. Massage chair is not going to do it, bro. Only a person can do that shit. This case for like jobs being taken over. Yes. Like, I think it'll create more market rather than take away market. Before programmers were for like big enterprises and stuff, but more like small, medium enterprises will need more programmers and because they need to hop on the trend too. You know how many jobs there are? Like, how many businesses there are. They're doing everything on paper and pen. Joe Rogan's never gonna die, dude. Like, there will be a podcast AI doing it, bro. There's gonna be two AIs talking to each other soon. If you just put a script in, make a podcast about this for like 3 hours and then it just uses voice, start talking about, like, get rid of, getting rid of humans. And it could happen. Skynet with all this tech, dude, somehow it's gonna regulate and people are gonna start getting off, start getting off their phone. So my name is Phil. I Became a senior developer after the age of 30. If you have any kind of worries about how AI will take your job, like in a non technical field, or if you have an idea of how, what jobs it could take and how, let me know and let's get that conversation started. Leave a comment below, like comment and share. It'll help me a lot. You know, if I can do it, you can do it too. Coding saves a lot of money.
Lives there now.
We're moving him. We're moving him out here soon. I saw Song, you and Booty were working for a while yesterday and the Android is still broken. Is it?
Yeah, the Android's broken.
Okay, let's fix that first. All right, let's just get started real quick. All right. So Song, you want to tell me what you did yesterday and what you're doing today? Yeah.
So yesterday Bri and I, we were working on the design for the the app. I was also tasked with doing the login screen. I finished it. I did a basic layout using some of the REACT native element components. And for next time I think I would be working on trying to combine all the screens together.
Okay, we can do that together for sure. What branch did you work on?
I create a new one so it's under Song login screen.
Okay, cool, cool. And you just worked on ui, right?
Yes.
Okay. And cool. What are you, what are you gonna do today?
Today try to get the Android working.
Okay.
And maybe research some other web frameworks for the ui.
Okay. We just have to keep on studying REACT native elements and kind of just kind of mold it into what we want to use it for. And it's quite popular, so there should be a lot of documentation for it. Any blockers?
No blockers.
Ok. Just the Android build. Oh, this is Dylan, by the way. He's just going to sit in and listen. He's one of the mentees. He's a very nice guy, but I think there's some office work going on, so he's not. I think he's just listening in and he might. I want him to join on the web stuff when he can.
Okay.
All right. Paradoso, what did you do yesterday? What are you doing today? Any blockers? Can you guys see my screen?
Yeah.
All right. REACT native Android, REACT native vector icons bug. Just going to add it. Whenever you guys find a bug, just add it here and then add the. There's a bugs label. So login screen is ready for qa. Right. And register screen is ready for qa. Dot, dot, slash, dot, dot, slash, projects Song, did you diverge from team react native elements or did you. How did you do that?
Yeah, I created a new branch from the team react native elements branch.
Okay, cool. This is all connected. I want to check the Yarn Android. And the error message was sending vector icons when you're building the Android.
Yes.
Is that correct? Okay, okay, okay.
From yesterday when we were doing the setup, we tried. I think you tried doing the link, like the MPX link, but it didn't go through.
I'm not quite sure what's going on with my Android build. I have to fix that on my own.
I.
Can you try to build. Okay, okay. Song, actually, can you share your screen and try to build the Yarn Android yourself, please?
No.
Okay, can you type in MPX react native doctor and see if everything checks out? Can you just copy. Can you copy it all the way to error colon reference to vector icon packages ambiguous. Can you check your main application Java, please? Really quick. All right, can you go to your Android app, build gradle and on the bottom, I think I added some UI things. Can you switch that so we include all the icons? I mean, this is just an example of a hook you can make, but you should really put all your logic and stuff like this into a hook. And then later on, like in your index, you have your export default as use keyboard avoiding view like this. And then in your login screen, instead of importing this like here, you can. You can just import it all in one line here, use keyboard avoiding view. And then when we use it, we can be like, okay, const keyboard avoiding view equals use keyboard avoiding view. And then we pass in maybe padding. And I want to pass like 200, 200.
How did you convert it from not having to pass in as a JSX to a component?
Because this is just a function call right in jsx. So I just turned into an anonymous function that returns this jsx. Because before I was passing a static value right like this. So that means that it's just a variable. But if I want the calling signature, I can just do this. And inside of jsx. The funny thing is, like, if I ever like think about this is that's just the JSX way to call a function. But actually this is the same thing, right? But this is like, I think this, this is like better for performance inside of the JSX when you put it in text. I think once we get past all this setup stuff, it'll be a lot funner. But this is, this is what you have to Go through, dude. Right?
How are you guys?
A little tired, but happy to see you.
Yeah?
Yeah. Can't believe you're coming soon. That's crazy. Yeah. That is insane. But.
I know a few more days.
Few more days, you're gonna be on a flight.
Yeah.
So wait, do you have a layover or anything? Or is it straight up? What is the first thing you want to eat when you're in Korea?
In Korea, I want, like, some homemade food.
Homemade food, whatever that is. Okay.
Like, more like authentic than just like. I don't know. You know what I mean?
Yeah. Well, we can do that. Not like home. Like, I can go somewhere that's.
Oh, yeah, yeah. Just kind of like more like authentic type of place.
I see. Okay, we can do that.
So it's fun.
You know, one time, my friend, he got an Airbnb his birthday.
Yeah.
And I remember I left early. Yeah. With my wife at the time, my girlfriend at the time. But I left, and then she left her umbrella at the Airbnb. So I went back to get the umbrella, but they already left. So I started banging on the window, thinking. And I was really drunk. Yeah, I punched straight through the window, bro. Dude, I did. And I had, like, cuts all over my head.
Holy.
It was like when I was first dating my girlfriend or my wife at the time. Yeah, dude. I was trying to get her umbrella back so hard. Get impressed? No, dude. Girls don't get impressed by that kind of shit. She probably was like, you're a fucking idiot. Yeah, she was probably like, you're an idiot, bro. You hurt yourself?
You know?
No, I think the umbrella ended up being in her purse. Holy. That's the word, bro. You follow me down onto where this map is on the touchable opacity. I'm going to comment all this out for a second, and then I'm going to return this card. How do we do this? So right now we get back in a bunch of IDs, right? An array of IDs. Right. So ID. ID. And we need to basically look inside of the skills Skill and transform this ID to name, I guess a string. Can you pass in the find matches?
What's a broker.com?
It'S the message broker. So if you need to call other services inside of your code, use the broker, and then you use this string to call the other server from your microservice. So, as you can see, we have a V1 skills service. Right. And a lot of his actions are posted into the API gateway. So we use this broker call to call, let's say, other. Other functions within other servers.
Okay, okay. Okay.
Do you see how there's an ID there, Right?
Yep.
So we have to query it and we have to get the ones that match. We have to look up something called aggregate and we have to use something called lookup. And this is how we have to do it. Because this was a lot of work that I didn't expect. So this code can be simplified down a lot. So let me. Let's meet up tomorrow. Basically, we got this. We got all the skills that people need, right? The skills wanted, skills provided we got all the skills. And then we knew that that's the only skills that's going to be there, right?
Yeah.
So then we got. We ran on the matches. This might want to work. And then we return the matches map. And then we got. And then, because that's an array with. Of objects with the key of the value, that is an array as well, we had to map and. And match all the skills because we had all the references to the skills here. So I was just referencing and matching them here, but.
Crap.
I'm going to teach you the kind of correct way to do it tomorrow with aggregate and lookup. It's going to be a lot easier. You'll know why these aggregations pipelines are there and we'll get that done tomorrow.
The admin panel, or you want to just discuss that tomorrow?
Let's discuss that tomorrow. But I think we can kind of use like your knowledge of Harmony Hive on the admin panel because we use that, you know, the drawer and all that kind of stuff. So kind of want to do that. So this one, I want you to just look at this code and kind of play around with it and. Yeah, well, yeah, we'll keep on. We'll keep on chugging along. This is a big app, but we're almost done, I think, because once we have fine matches, we just need to send the request and then respond. And then I think Skillsphere will be, you know, at a point where it's like an mvp, but you can add more. So I think we need to add chatting too. So. Yeah, I'll take a screenshot.
Have a good day.
Bye.
Take care.
Gill Sphere. I think we're almost done. Just. Just a little bit more and we'll be done for the mvp and then. Yeah, but I think we're going to bring Jocelyn onto the. The app and I think that would be. That would be cool. And like, have her kind of like, get it to a state where she can keep working on Skillsphere on her own, but I think I want to kind of focus our time onto the next number one app.
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






