Skip to content

Hammock thoughts

Learn as you go

domain driven frontend, Architecting UI2 min read

After over engineering my solution and create a plan so robust there's no chance it would see daylight, I turned around and tried something different. I tried to plan an MVP of my grand plan, but maintain a vision in place that hopefully we will reach one day.

In retrospect this reminded me of the way I traveled in China. After a bit of struggling, I realized that without a goal, a plan, I would become a sad sack of potatoes that rots in the hostel. So I started building a plan of places I want to go and things I would like to see.

Then came phase two of my travels - the disappointed overachiever. As I set a goal, I had to accomplish it, and I found myself in many situations where I couldn't. The place was closed, my friend suddenly didn't want to, or even just a party I wanted to go to which led to a late morning and we missed the train. Any time I missed something I had planned I felt bad.

So then came phase three - plan and adapt. This time I actually built a road-map - a list of things I hope to achieve. With this in hand I had a reason to wake up in the morning. But more importantly, this also enabled me to change the plan whenever I wanted to. If we heard about something cool which wasn't in the plan, we changed it.

Once written down this sounds obvious, but there's an interesting caveat here - the plan isn't just to get me up in the morning and make me do stuff, it makes sure I do what I want and avoid FOMO. Once you know you were planning to hike a mountain, and someone offers you to go to a party you can now compare and decide. If I would ask you if you want to go to a party, I'd say (assuming we are friends) that 9 times of 10 you'd say yes. The only time you would say no is if you know what the cost of going to the party is - you won't see the amazing mountain.

When we approach our code I try to use a similar technique. I have a plan - although many things have changed I still strive for a domain driven app, but I'm not sure we will necessarily get there. The plan is there for times when we aren't sure where we are going - some sort of compass. However, if at any point we realize that it isn't the right direction anymore, we can always change. I keep my plan as a general direction indicator, not a goal we must reach at all costs.

We must remember that the journey is the destination - set a destination so you can embark on a journey, but remember to enjoy the journey as well!

© 2022 by Hammock thoughts. All rights reserved.
Theme by LekoArts