August 24, 2024

Shitty First Drafts: The power of Imperfect Beginnings

    #
  • motivation
  • coding
  • inspiration
  • thoughts

This blog post is inspired by Anne Lamott’s book Bird by Bird, a guide that’s as much about life as it is about writing.

Introduction.

You’ve decided to create an application or solve some niche problem in the industry you currently work in. It’s a grand idea and you know it’s going to be revolutionary. In fact, it’s going to be so good that you might not even start because you will corrupt the idea with your mortal hands and mind. You want it to be flawless with 100% code coverage, bug free, but having this mindset can be paralysing. To get over this hurdle, one can embrace the concept of a shitty first draft (hacked together prototype, cowboy code).

The concept comes from Anne Lamott’s book, and it is a powerful idea. It’s about letting go of the pressure to be perfect on the first try and instead focusing on getting something—anything—down on paper or into code.

The Why: Embracing imperfection

Lamott’s idea is that all writers (except maybe the extremely lucky or insane) will write a lousy first draft. If it’s not lousy than bravo, you’re doing something right or something easy. We are not seeking perfection, instead, we want to get our thoughts down into words or in our case into code. It’s a process of discovery. In that shitty first draft, there could be a diamond in the rough. You might end up with a usable function or you’ve mapped out the data object that can be used again. In most cases you’re going to abandon the entire draft, but you’ve learnt about a library or gained familiarity with the technology. That’s the idea behind the shitty first draft, even though you might have zero lines of code to show, you have knowledge and experience that is invaluable.

The How: Just Code

Just code. Nothing more, nothing less. Open up your editor and code.

Finding Value: Diamond in the Rough

Code is code and you shouldn’t form an emotional bond to it. If it stinks you need to be able to say it. Given that it is a first prototype, the chances of it stinking are high. However, in that steaming pile of code, there is a high chance it contains some value. That value can come in the form of reusable code, data modelling or a deeper understanding of the problem. Perhaps you’ve learnt how to include authentication or authorisation in an application, or maybe you’ve learnt about the framework/library you’re using. The important thing is you’ve attempted something, wrote down some code and taken action.

Conclusion: Come from a place of curiosity

When it comes to any creative endeavour, the hardest part is the start. Knowing that you don’t have to produce a masterpiece on the first attempt is a powerful mindset. Embrace the shitty first draft and get started.

Final Note

Just code.

Proudly created by Joe