how to start when starting is hard

all too often i feel like we get stuck in mind ruts. the example i typically use to refer to this is imagine you're in the mood to attempt to read the count of monte cristo.  you're stoked, you've got your coffee or whatever, and you're ready.  then you open the book to the first page, and make the quick realization that the unabridged version of this book is 3000 pages or something like that.

you immediately realize that you have to make a commitment. and not just any commitment, but a time commitiment, and those are the toughest kinds to make these days since things come and go so quickly. in any case, it can be so daunting to realize how much time it going to take to finish the damn thing that you just close the book back up and continue to play Faaast Penguin the rest of the night.

im getting off topic, even though thats a really fun game.

we do this a lot in engineering i think. especially if you're a thought leader, or in the innovative space. you know to make things right, and to try to check every tiny box that you know will help in the future because you've seen how things actually work in reality. this sounds confusing.  here is an example.

i want to create an app. awesome, what does it do? wait, that doesn't really matter. is it scalable? is it highly available or fault tolerant? are its endpoints and communications protocols secure? how are you going to store credentials securely? sso? the framework, is it current and supported? what kind of ci/cd are you going to have, github actions? jenkins? do you have access to needed GPU? how long can it realistically be a monolith before we have to break it up into services? should we plan for that now?

... ok what does the app do?

so you see the issue. and its not without warrant. all the points above are valid and should be implemented correctly if the application calls for them. but even beginning to think about applications in the age of AI, we're not just thinking about single programming languages or frameworks. were thinking about entire encapsolated environments acting as applications. its no longer adequate to just have a preferred language or operating system. you have to stay current. you have to stay ahead of the LLMs.

thats another entire thought stream within itself.

regardless, what i really wanted to say is that if you havent yet you should incorporate https://excalidraw.com into your workflow. its very easy to get started diagramming thoughts and vomitting up tech patterns here. when you're implementing and connected platforms of applications together, it can seem a bit light start with page one of the count of monte christo.  excalidraw helps reduce the anxiety of that a bit.  🤘

This article was updated on September 30, 2024