the very first coding project that made me understand software engineering (today’s job market)

Phil Choi built a database search for a board game cafe called Dice Latte, migrating CSV data into MySQL with PHP scripts. He learned that messy early projects teach you more than polished ones, and that the tools change constantly: PHP gave way to React, then newer frameworks, now LLMs.
Chapters
When you first start programming, you really don't know what project to do. Sure, you can go to a bootcamp or you can go to university, or you can get a project idea from your friend, but it really doesn't matter what project to do in the beginning because all you have to do, it's a learning process. So you just need to deep dive, get it done and just learn as much as possible and not really skim over the projects. It's not about completing them, it's really about learning from them. So. So my name is Phil. I became a senior developer after the age of 30. If this video becomes a use to you, comment or share, it helps in the algorithm a lot. And maybe you can comment something about a coding project you've done in the past. And we read all the comments and I'll respond personally to each and every one of them. So at this point, when I first started programming, maybe it was like three or four months in after my bootcamp. So I. I studied for like one, three months. Then I didn't really know what to do. And then so the way my bootcamp worked, it was three months and then it was like two or three months of projects. And during those projects time, I think the bootcamp offered me to do two projects. And the first project I did was a. It was for a board game cafe. So it was pretty fun. I remember, I don't know, I always talk about this all the time, but I was really into Magic the Gathering when I was growing up and it was this. It was this company and they needed. They had a whole bunch of games and they wanted to kind of put it in the system so people could search for them by like language level, how much Korean. They needed to know how difficult it was. And they had a huge CSV file. So I remember having to migrate from a CSV file to PH to MySQL and I will kind of go through that here. So I just cloned the repo. So let's look. It's really old because you can kind of tell the git Git branch is still called master and it's not called main anymore. So it's like really long time ago. Anyways, so here we are. I'll just open in code I have not looked at in a while. So let's take a look. Yes, I trust myself. I remember I didn't even know to name the things. So I make this a little bit bigger. I had extra files for my reference and then I had some files here. So I had some SQL file for what kind of data that we wanted. So drop table if exists basic DL data. So I think DL stood for Dice Latte data. We had some kind of fields like ID name published year, minimum number of players, best number of players, min time and then laying dependence so how much Korean or English they needed to know. And you know, this is just a MySQL database and lock into data tables and this was the first way to do it and obviously this is not the way to do it. Now I'm looking at. I don't, I don't even understand why we did it this way. We just had a huge I guess CSV file that we. Oh yes, now I remember. Yes. We didn't drop straight into the data the database of the file or CSV file. We made this data structure and we copy pasted it into here. Holy. That's pretty funny to think about how far I've come, but that's pretty funny actually. So it says lock tables, basic deal data to that table, right. And. And then insert into it has all this data like you can see here. This one is. What is. This one is the I.D. wait, I don't even know. This seems to be the name 6NIMT came out in 1994 and then it's just a bunch of numbers. So the CSV file was actually this one. Right? It's so you can see that the CSV file, it's a. A whole bunch of headers. So the first object name object ID rating the B average average average weight. So that's like the, I think the difficulty original name in players and it had all these kind of things. You see games like Alien artifacts. Let's see if it has my favorite game, Splendor. Splendor is a great game. If you have not played it, play it. What other games do you have? Rumik Room, Rumi Cube, Roomie Cube is like another great game if you guys have never played. I'm really into board games myself. My wife and I, we play a lot of board games. We have, we have Catan, we have Splendor and a whole bunch of other games. If you guys ever come to Korea, maybe we can play some games. So here we are. So that was The Dice Latte SQL. This was some. This was saving the MySQL to my database. So that's the chat application connection string, the new pdo. And then it didn't have a password and then create. And this was creating all the tables. Remembering, trying to remember all this is like really hard. So Dice Latte game dirt so this meant dirty. So create table dirty Just I was just inserting from the from the database I guess and from the CSV file straight in and then there was no processing load data in file to the xampp I don't remember here. Into table the dirty table create table bgg table so this is some SQL stuff that I was working with Dice latte save to db so let's check this out. This is a connection string I guess. Guess I took this from a different vibe. Some blockchain stuff will come back, it will trend again. So those are kind of things that you can kind of learn to kind of get an extra edge on other employees. Here's a PHP file file get contents then all string trim explode on the all string. And then some other stuff. I guess I was just playing around here but obviously the code is not super done. Well, I would say I would do it way different. But the page is linked from the search pages anchor which is top 10 get data in JSON form from API which is top 10 API php with that data show all information to HTML page. So I guess this is what's going on. The XML HTTP request inside list and then there's some element called top 10 list wrapper and then that's where I was putting in the top 10 kind of stuff. That's pretty cool. So this was kind of extra just files for myself. So I didn't forget what I was doing. And the actual code was actually in the dice latte DL admin. So this is the admin stuff. So here's the PHP scripts to insert into the database. So here's the MySQL here's preparing the string. I remember this. And then executing. I remember this. So preparing, executing. So something sth DB prepare select star from so this is getting all the date rows and I just added some pre to kind of like look at the data I guess. Let's look at this DL DLCSV to MYSQL okay, so maybe this was like one of like the big ones that I was really doing. All strings. So file get contents to the file that was in here. So that's this file here. Collection 2017. When is this? January 19th. Okay, so all string trim echo explode php eol and then it's single table keys insert into just the table keys. That's the first one and then four there's a for loop here. For loop here. And then you get the count of the keys and then it's preparing that string and then it's Trimming and then adding, making that MySQL kind of insert command and then now the try is happening and the raw DL data, dice latte data and then you're just inserting the keys. So I think the dot is some kind of like string templating inside of PHP and yeah, and then there's like some array map stuff. Man, looking back, if you do not use it for a while I feel like you forget. So you definitely have to program like a lot. But I remember PHP was like the first thing I learned, so that was that. You know what, everyone can be embarrassed about their first code. But know what? I'm gonna be shameless. It's all good, some language ID stuff. So if the text is, I think I am changing the text from like a 1 to 2 or 3 or moderate extensive, no sum to a number field. So that's what was happening here. And then there was some scripts here and yeah, there's basically all the data went into MySQL guess that's about it. And I mean sure, PHP was a great skill like in 2016, 2017, but as the kind of job market changed, it went from like, you know, that to react and react is super huge. It's like industry standard now. And I think now maybe something new to learn is like learning these, learning svelte and learning all these new LLM tools, kind of like lane chain or anything like with chatbot related or anything with. I think honestly in 2025 some blockchain stuff will come back, it will trend again. So those are kind of things that you can kind of learn to kind of get an extra edge on other employers or you know, get an edge on some kind of knowledge that other people want to have. But sure, like programming is always like this thing that's always changing and things are always trending and not trending even the way you, you know, code or like name your files is always changing. And anyways everything comes back full circle. Like what goes up must go down and what goes down must go up. So you know, sure you can be afraid about the job market and all that kind of stuff, but you know, as less and less programmers happen or maybe that's when the more opportunities come. So then when those opportunities come, there's gonna be too many opportunities with not enough developers because people dropped out maybe. So just keep studying and I think, you know, you will write some, you know, bad code or code that doesn't work or I wish I could run it right now, but I don't think I have MySQL like on my computer, but there's. Or, you know, get an edge on some kind of knowledge that other people want to have. But, yeah, that's about it. So if I can do it, you can do it, too. Coding saves lives.
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






