WILT: Week of 1/26/2024
WILT: Reflecting on a Week of Community, Code, and Best Practices
Community Building and Knowledge Sharing
There's something revitalizing about gathering with a group of individuals intrigued by the same geeky delights that you are. This week kicked off with the Birmingham AI engineering subgroup meeting where a diverse group of data architects and students bonded over the cerebral wonders of Large Language Models (LLMs) and Generative AI. Breaking down the complex logic of these models probably felt like group therapy for the AI-obsessed. It's not every day you find folks excited about vectorizing relational data, let alone implementing it in real-estate applications with Weaviate and PostgreSQL. There's something to be said for establishing a community where best practices are exchanged – it's like open-source but for gray matter.
Wrestling with APIs and Embracing New Stacks
Most software engineers can resonate with the struggles of working with APIs that offer you as much guidance as a broken compass. Strapi and I had our bouts, particularly with the sparse documentation during bootstrapping, which makes you feel like you're trying to assemble a jigsaw puzzle in the dark. But persistence has its rewards. Progress is personified through our hasura.io/learn site migration utility. Updating this stack is the kind of work that makes the tortuous API battles worthwhile because it transforms a website from a mere repository into an interactive learning platform. It's like building your own digital dojo for developers.
A Learning Curve: Acronyms and Adaptable Technologies
TOFU may sound delicious, but in the tech world, it's all sweetness for security protocols. It stands for Trust on First Use, and it's the welcome mat we lay out for public-private key validation without realizing we've been doing it all along. This nugget of knowledge cropped up while brainstorming for Hasura v3 engagement strategies, which served as a catalyst for broader ideas like language-specific hooks. Imagine the allure for a developer knowing they can wield their chosen coding language within a GraphQL API we host. It's like being a wizard and finding a magic shop that sells wands tailored to your personal spell-casting style.
Shift Left Philosophy
This week, I also embraced the Shift Left mantra, courtesy of one of Robert Martin's Clean books. Shifting left doesn't mean becoming a political radical; it's about dragging the testing phase as close to the ideation stage of development as possible. It's not just about preempting code failure; it's about preempting idea failure through early and frequent validation, which is essentially peer review on steroids. Breaking out of the developer's proverbial shell and sharing thoughts for critique might feel like skinny dipping in the Arctic, but it's all in the name of better outcomes.
Testament to Testing: Mocks and Coverage
Lastly, my tango with the Jest testing library reminds me of a ballet danced in a world of pretend where I script the hoops through which my code jumps. Running mock tests might give you that 100% coverage glow, but it's like mistaking a light bulb for the sun – good enough to guide you but not indicative of daylight. Still, with testing at the helm, two days sufficed to wrap core functionality for our migration utility. If that's not a nod to the power of test-driven development, I don't know what is.
It's been a week of collecting acronyms, rallying the local AI die-hards, wrestling APIs, and letting tests take the wheel. Sometimes, you have to throw your code to the lions early to save yourself the late-game circus. Sharing ideas and getting feedback: that's my kind of social networking. And while I'm far from having all the answers, this week has reminded me that neither Rome nor robust applications were built in a day. Looking forward to next week's learnings with all the eagerness of a debugger at the scent of fresh code.