Week 1 of Fractal Tech's AI Accelerator & Engineering Bootcamp
This week was the longest hours I've ever worked - I somehow flipped the expected 9am-7pm into a daily 7am-9pm, plus a solid 8 hours on Saturday and Sunday too. But here's the thing - while 8 straight hours of social media or video games makes returning to reality grueling, 14 hours of coding has made me feel more connected to myself and the world and I feel more rejuvenated than ever.
My brain usually thrives on novelty, so I try to be cautious when starting something new to avoid burning out or overcommitting before finding a sustainable flow. Most people can muster an 80-hour week when something's new and exciting, but since my goal is landing a job while maintaining work-life balance, I don't know how long I can rely on this approach.
Crashing
It was on Wednesday, day 3 of the bootcamp, that I got my first taste of burnout, and I'm glad it happened early. I let myself sink deeper with every error message, every new concept I didn't understand, every intrusive thought: "I don't belong here," "I'm not good enough," "I'm paying all this money to sit around and Google stuff all day!"
I'm already too hard on myself, have a below-average distress tolerance, and had doubts about succeeding in the bootcamp without a CS background, so introducing something even moderately stressful would cause me to burn out and spiral into hopelessness pretty easily.
But now, just three days later, I see that I needed to go through that; I needed to shut myself off, sink into my frustration and self-doubt, let the intrusive thoughts flow freely - so that I could leave them behind and move forward.
Confrontation
A few months ago, my friend Parth (a first cohort grad, groomsman in my wedding, and now roommate at McKibbin) told me that the bootcamp forces you to confront yourself. If you have insecurities lurking just under the surface, committing yourself to something this difficult will surely expose them. There's just no way to get beaten down by error messages and failed code for 10+ hours a day and still manage to keep any insecurities regarding self-confidence locked up safe and sound.
I believe this principle applies beyond coding too. I first met my wife on a study abroad trip in London - two months spent 4,000 miles away from home, building medical devices by day, exploring Europe by night - and the "pressure" of the trip inevitably brought out who we truly were, giving us a rock-solid foundation to build a relationship upon. (Sources: 7 years together, 1 year married as of tomorrow!) (This article seems to support my hypothesis)
The thing about confronting yourself is you can usually just walk away. Insecurity pops up, you ignore it. You don't want to talk about your bad day so you say "it was good" and escape upstairs. Or as Jack Kent puts it, you insist the dragon in your house is not real.
But there wasn't an easy escape this time. I came here specifically for the bootcamp, away from my wife, and invested quite a bit of money to be here. Throwing all of that away wasn't an option, even in the mental state I was in.
Support
I've come to accept that my mental state often operates like a switch I don't control. I'm quick to excite and learn new things, but also quick to anger and become overwhelmed (Here are some more eloquent words on the subject). I've also come to realize just how many things are like this in life, lacking an "ideal" state and instead always involve tradeoffs. In this case, I may have lost a couple of days' work, but I now know that this was just a mental and emotional hurdle, that "not being good enough" was NOT reality, and that I am stronger today than I was yesterday.
Much of the "credit" for that turnaround goes to the instructors and Parth. Andrew was crucial in helping me come to my senses and unpack everything, taking on both roles as the good cop delivering a confidence boost and the bad cop delivering tough love and a reality check.
Parth (and the instructors) practices radical honesty better than anyone I know. There's no "how was school?" "it was good" with him. If he senses something's off, he'll chase you down until you tell the truth - never annoyed or judgemental either, just genuinely caring and knowing that telling the truth is cathartic.
He's been encouraging me to journal, tweet, reflect, take videos - knowing just how transformative this bootcamp can be and that one day I will look back on who I used to be and what I thought was possible and impossible, and I'll see just how far I've come.
Potential
I obviously believed the bootcamp could be transformative, but now I feel it. I'm reminded of a mindset that I have for tough workouts: openness to being changed while acknowledging that you can't necessarily prepare for how you'll need to change". These 3 months demand confrontation with myself - there's no escaping it, and I don't know how much I can prepare in advance for it either.
Seeing how far I've already come at the end of week one, it's pretty mind boggling to think about the amount of potential and opportunity over the next 3 months. Imagine if I hadn't had this "confrontation" until week 2, week 5, week 10! Instead, I feel confident now in bringing my full self to this bootcamp and accepting the challenges that lie ahead.
Curriculum
I really enjoyed the technical aspects of the curriculum this week. I'm starting to see the true value of React and learning to really harness it, like breaking lots of code into components and building a solid mental model. Tailwind is dope and I'm feeling much more confident in CSS now.
The multiplayer game concepts finally clicked Friday and I feel like I now have a solid fullstack foundation - at least in terms of multiplayer games. I noticed my mindset shifting from task-oriented - "need game logic and a styled frontend, need to make it multiplayer with servers and databases, make good APIs and routing, add live updates and deploy" - to more comprehensive and creative - "wow there are so many cool features I can build into this game now, and I can imagine multiple ways of accomplishing them; I could also probably tackle Connect4, Checkers, maybe I could even build Chess now! Now I see why we did ABC this way and not another way; could we do XYZ if we approached it like ABC instead?" and so on...
Of course, it's not that easy - I'm sure the increase in game logic complexity is enough of a challenge already. Aaaaand of course, all these ideas were quickly followed by the realization that our week on game development is now over. But that hasn't stopped me from dreaming and being super excited for what's to come, especially with the added certainty that I'm absolutely in the right place doing the right thing.
Beyond
While part of me wants to just keep building games, I'm equally excited to move on because I know that the world of SWE is a LOT bigger than just making multiplayer games. I'm excited to do user authentication, payment processing, AI integration, real time streaming, algorithms and data structures, generative AI, advanced backend, database modeling, API design, and much more.
It also reminds me of my drive to build things that provide real value to real people, which I hope to do in my next job; as well as working with NYC startups during the bootcamp, which I would hate to miss out on.
I'm ready to confront myself, to be challenged and changed. I'm ready to be okay asking for help and for radical honesty; ready to be uncomfortable and to push my limits.
See you Monday.