One of the greatest joys in life is finding your groove and driving toward a goal. On the other hand, one of the most frustrating aspects of life can be attempting to accomplish a goal while working outside your wheel-house. It can feel aimless, reaching for tools you don’t know exist (or even how to describe them). One could almost compare the feeling to operating a vehicle with one arm tied behind your back. Despite this, it is an inevitability – nobody ever finds their groove without stumbling in the dark for a bit.
Embracing the New
New is uncomfortable and challenging. Every well oiled machine was birthed as a disorganized idea. I have a foggy concept, where do I start? What tools and materials do I reach for? Has somebody already blazed a portion of this trail for me? This doesn’t even begin to capture the cloud of questions that swarm developers at the onset of a new project. It is easy to allow these thoughts to induce analysis paralysis, but it doesn’t have to be. What I’ve found to be a better approach is immediately embracing the discomfort. Don’t know which tool to reach for? That’s alright, reach for a tool. Don’t know what the most efficient approach is? All good, take an approach. We already know beginnings are filled with struggle, so get started working your way out of the beginnings phase. As you tinker, the tools become more familiar and easier to reach for. Before you know it, you might start viewing the tool as fun or convenient. You build mental comparisons to more familiar tools and juxtapose the nuance of the different interfaces (further building intuition). At the end of the day, simply embrace the fact that your rate of learning will never exceed the pace that you experience while you are feeling most uncomfortable.
Embrace the Old
At some point, every tool becomes so familiar that it almost feels like an augmentation of oneself. Reaching for a method feels about as familiar as reaching for an apple with your own hand. When a discussing new applications, you can visualize exactly how you intend to approach the problem and are already cataloging expected barriers. You’re sitting comfortably in the pocket and you’re expecting every punch thrown your way. Now, you can continue riding this high for a long time, but not forever. At some point, you will come in contact with the groove’s evil cousin, boredom. Sure, you’re an absolute world killer, but you’ve already been down this road several times. Folks are lining up to pat you on the back, but they lined up to pat you on the back the last time. Congratulations don’t taste as great when you already knew you were going to kill the assignment. The truly unbelievable feeling manifests from achieving a goal you yourself didn’t anticipate.
Where We Are Now
Three weeks into my capstone project, i’d say I still have my foot in the beginnings phase. I’m far from having all the hacks memorized, but I don’t necessarily feel like I’m trudging through quicksand. As I mentioned before, I’m working on my late appreciation of CSS. I am far from mastery, but I at least feel like I’m starting to understand which tools to reach for and where to look for help. On that note, I am immensely thankful to my teammate for suggesting we use TailwindCSS in styling our project. The tool finds a middle ground between “naked” CSS and Bootstrap/Material. One can’t simply copy and paste canned templates from the website. The framework requires a decent understanding of principles and gives the user more degrees of freedom to work with. Upon having an “ah-ha!” moment working with flexbox, I remembered that awesome breakthrough feeling. Moreover, when I was able to confidently reach into my flexbox toolbelt the next time, my excitement was doubled. Working with React and Next.js has been a bit less of a grind due to the similarities to Flutter (CS492). Regardless, I’m having a blast working through the learning process. Here’s to hoping that integrating our testing and authentication tool bring some head scratchers!