"I Just Can't" Log #1
Published by tarikceylan on Aug 7, 2026
Sooooo....
I decided to take on a new shiny project after learning Docker basics for the first time in my life (I know, 2014 says hi). It's just a side project to keep my hands dirty, nothing big or important BUT...
Starting anew
It's crazy how overwhelming it can get to start a new project. Especially if it's been a long time since your last.
All of your configurations for your development environment, system design, tech stack that makes sense with the project and all architectural decisions you need to make beforehand, as long as it's not blocking you, of course. It can get a bit overwhelming, and that's exactly what I've struggled with today. Not because I didn't have started any projects lately (let's face it, we all love that fresh project smell) but the road I wanted to take was a bit different this time. Especially since I got myself familiar with containerization recently, specifically Docker
Decisions, decisions...
Problem is, focusing prematurely about architecture or system design can be a huge blocker both technically and mentally. It's especially tricky in the very beginning because you want your project to be a clean, maintainable and expandable masterpiece while not having a firm grasp on your project's full scope or even on how exactly you want to deploy. Maybe you'll be satisfied at a minimal level or maybe you'll want to expand it into something greater.
And that's exactly why we have planning. That's why we have architectural diagrams, entity relationship diagrams, design documents and architecture decision documents. It might sound a bit overkill or even waste of time to some people, if you have ever worked on a large project within a team or tried to build something bit bigger than your personal blog (I know, the irony), or the next super-duper todo app, you know what I mean!
Obviously, I'm not encouraging anyone to document every step, every decision, every relation between your system components extensively for your new simple CRUD app, but the importance of "paperwork" for mid-to-large scaled projects, is undeniable. Deny it at your own risk, but believe me you, you'll start feeling the need soon enough. Especially when multiple domains need to talk to each other. You'll find yourself fighting against the urge to wipe it clean and start anew.
Oh, well
Long story short, all I'm saying is that:
Plan ahead but don't let it block you. Lay out your plan properly before even writing a single line of code. Decide early but don't take those decisions as universal truths. Know that things will change as you go and be ready to embrace those changes.