# Goal for 2020: Deliver

<Callout icon="✍️" unwrapChildP>
  **Epistemic Status:** Personal blogging, craft-related conclusions.
</Callout>

The guy sitting next to me at the office has a&nbsp;wallpaper saying "ALWAYS
FUCKING DELIVER." This dude thinks I'm a good developer. He sometimes asks me
for tips or opinions on code-related stuff. Little does he know, I am a
developer-disappointment. When it comes to delivering, I ain't close to Jesus.
I'm actually closer to the [Polish Post].

[polish post]:
  https://www.reddit.com/r/poland/comments/9hf0oq/why_is_poczta_polska_so_bad/

I've started numerous side projects, which I didn't ship. A startup idea I was
working on with my close friend didn't get [sherlocked], which is hardly a good
thing, because we hadn't even started to ship when it was already too late.

[sherlocked]:
  https://www.howtogeek.com/297651/what-does-it-mean-when-a-company-sherlocks-an-app/

<figure sx={{ '> p': { textAlign: 'center' } }}>

![MVP of a car is not a rolling chassis. It's a skateboard.](https://blog.crisp.se/wp-content/uploads/2016/01/Making-sense-of-MVP-.jpg)

<figcaption>

Illustration by [Henrik Kniberg]. I've managed to build a bike or maybe even a
motorbike once. The rest is a garage full of rolling chassis.

[henrik kniberg]:
  https://blog.crisp.se/2016/01/25/henrikkniberg/making-sense-of-mvp

</figcaption>

</figure>

I wanted to build a perfect product, with fantastic user experience, the newest
tech&nbsp;stack, and the&nbsp;cleanest code, while maintaining some degree of
personal life, passing exams, and completing a thesis. The thesis included an
app, which isn't&nbsp;production-ready (of course), but took more than five
hundred hours of work of&nbsp;my partner and me combined.

**Obviously, I was an idiot.** I bit off more than I could chew. I started
drinking way too much coffee. My, once thick and bushy hair started falling off,
and I'm probably skinnier than I ever was. I don't remember how to prove a thing
about Van&nbsp;Emde&nbsp;Boas trees or Fibonacci heaps.\
I can probably do a simple amortized analysis, nothing fancy, though.

On the flip side, I learned. I don't mean computer science. I got really good at
starting&nbsp;projects. I learned GraphQL, got a good grasp of the JavaScript
ecosystem with bundlers, React metaframeworks, and the like, but this isn't the
most valuable piece&nbsp;of knowledge I acquired.

I learned that **communication is key**. Unfortunately, in a hard way.

I learned that a good chunk of Medium software gurus and best practices prophets
spend more time marketing themselves than actually building software. Any
blogpost claiming that you should follow a few [simple] rules to be a good
developer is a hoax. Instead (unfortunately?), we have to strive to understand
the problem at hand, analyze the choices we have, and put in honest work.

[simple]: https://asthasr.github.io/posts/danger-of-simplicity/

<figure sx={{ img: { position: 'absolute', top: 0 } }}>

<a href="https://twitter.com/dylan_koji/status/1120793176472612864">

![Performance optimized code can be confusing and complicated. Code written to unrealistic deadlines is usually bad, but you only get to have code if your business is still running.](/deliver/tradeoffs-tweets.png)

</a>

<figcaption sx={{ mt: 2 }}>
  You can't hide from trade-offs behind a bible of best practices.
</figcaption>

</figure>

How does my life look at the end of 2019?

I've got a side projects I could to write about, software and non-software,
including a&nbsp;huge one with the girl I like, but this is the time to stop
writing this blog post and get to work.

[side project]: https://github.com/zagrajmy/
[adrs]: https://adr.github.io/
[in public]: https://www.swyx.io/writing/learn-in-public/
