Connect Four or Blackjack
After 3 short weeks of frontend (JavaScript, HTML, CSS, and jQuery), our instructors decided we were ready to strike out on our own and create something from scratch. How kind of them :) We had the choice between creating blackjack or connect four, and I chose connect four, mainly because I had already created a blackjack game and felt it would be dishonest to do that again.
Planning
Following the instructors’ advice, I used Trello to manage the project, and wireframe.cc to create the wireframe. I spent a few hours doing some market research, seeing how others had created connect four, before planning out my own. I created spec sheets for the different components of the app, as well as a detailed reademe. Doing those two steps really helped me walk through how I wanted the app to behave, step-by-step, and make sure I had thought of everything. I also created some pseudocode and user stories, which further helped me understand what the app should do.
Missteps
I’d like to say that once I had all of that in place, it was smooth sailing. However, this being one of the first apps I created from scratch, that was not the case. I had to revisit those files a few times throughout the course of the week, after I realized I had forgotten yet another thing. But eventually I accounted for everything and was moving forward.
The biggest barrier to successfully deploying this app was my lack of focus. I would begin working on a small goal (such as getting the game board image to display), and would see an issue with some other code, and begin working on that. But before I had solved that issue, I saw some code that should be refactored, so I began work on that, and so on, so that when I finally completed something, I didn’t know where I was or what I was originally working on. That was not good.
Deploying
Long story short, I did not have a successfully deployed app at the end of the week. The second anniversary of my dad’s sudden death happened to fall on that Friday, but I expected I would be able to continue working through Friday, Saturday, and Sunday. Boy was I wrong. I got about 2 hours of work done on Friday, and that was all. The rest of the weekend I was a mess from grief, but also (I realize in hindsight) fear and shame that I wasn’t going to complete this project, which I should be able to complete.
Lessons Learned
I learned a lot from this project, but the thing I learned the deepest was to focus. Focus on one small goal and complete it, ignoring everything else. Another lesson, very closely related to focus, is to get something working without too much regard for perfect code. You need to comment things, make your code clean, use best practices, etc, all the time, but sometimes, despite your best effort, there are issues in your code even though it works. Ignore those issues until they either break something, or you’re finished and have time to clean up things.
I realize now that if I had focused on one small goal at a time, and focused on creating something that worked first and looked good second, I would have had a working app by Friday morning. Then I could have mourned Friday, and I probably would have been able to get back to work on Saturday since I wouldn’t have had the fear and shame intermingled with my grief, pulling me down further. But we live and we learn, and largely, that’s what this bootcamp is all about.
Love you bro. And guess what? You are NOT defined by your successes or failures! :)
Pingback: My Fullstack Project with General Assembly | TECHibid
Working on my own Connect Four project for GA right now. Appreciate the thoughtfulness of this post! Fixing to up my planning game now