Happiness = Reality – Expectations

jasonleow  •  8 Feb 2021   •    
Screenshot

I’d been working on a sidebar component for Lifelog which features goals that had been set by Lifeloggers here. It’s just a tiny section of the home page, and at first glance, I thought it was simple enough to get it done within a day, or less.

Just fetch data from the API endpoint, and display the goals, I thought. Easy peasy. But noooo. For some reason fetching the data from the endpoint kept giving me problems. I was able to get the entire data payload but “error: undefined” kept haunting me on and off when trying to render the nested data in the template. In the end I had to find a hack-around. Then I thought, okay, finally, I can be done in a bit. BUT now my CSS framework gives me issues. Kept trying to style it a certain way, but it stubbornly refused to yield, and I can’t find the cause (likely some setting hidden deep within the framework). On top of that, I realised I had to do more research on how best to design the UI for it, because this wasn’t the usual listing format that I can fall back on.

And so, the longer I took to make this feature, the more pissed off I got. I could be working on other features already by now! Why is such a simple thing taking such a long time?!

Classic cue for the title quote:

Happiness = Reality – Expectations

I should really write that out in huge bold letters and hang them above my work desk, as a humble reminder every time I begin work on a new feature. Because I’m not as experienced yet, my estimates on development effort required are often way off, from 3x to as much as 10x off. So to preserve my sanity and to enjoy coding more, I got to really dial down my expectations. And safely so, because it wouldn’t reduce my motivation any one bit. In fact, it probably helps me keep going longer since I wouldn’t get unrealistically upset at my progress.

To be honest, is matching expectations with reality even possible, even if you’re super experienced?

Comments

haha this is why i don’t like seperating the front end from the back unless i absolute must

abrahamKim  •  8 Feb 2021, 9:13 pm

@abrahamKim ikr… i look on in envy at how fast and competent you’re going with Adagia using Laravel, and I’m like that meme where the guy standing next to gf (JAMstack, Vue) is looking over his shoulder at another girl (Laravel, Rails).

jasonleow  •  9 Feb 2021, 7:16 am

LMAO.

but i remember you saying you were bored with rails!! Have you thought of incrementally implementing more and more of your features on the backend going forward?

abrahamKim  •  9 Feb 2021, 3:05 pm

Haha the grass is always greener on the other side. I think JAMstack is still something that interests me a lot and where I can to learn more about, and yes am bored of Rails a bit, but I guess when I decided on using JAMstack approach for Lifelog, I wasn’t technically competent enough to see that perhaps Lifelog would work better on a monolith instead of separate front/backend. Oh well. Too late. I’ll make the best of this. I do enjoy coding the Nuxt/Vue part of Lifelog though, so that’s at least something that keeps me going. In fact, since it’s already separate, I don’t foresee moving more features to backend actually… Am trying out the architectural approach of just having a dumb CRUD backend, and a ‘fat’ frontend where I can create rich, reactive experiences… we’ll see.

jasonleow  •  10 Feb 2021, 6:21 am

Discover more

Sourced from other writers across Lifelog

Ooops we couldn't find any related post...