What I wish I was perfect at 
Tags: learning, devjournal, watercooler
Published: 2021-10-06 06:47:10

---
title: What I wish I was perfect at 
published: true
description: What I wish I was perfect at doing as a developer.
tags: learning, devjournal, watercooler
cover_image: https://external-content.duckduckgo.com/iu/?u=http%3A%2F%2Fi.huffpost.com%2Fgen%2F1168576%2Fimages%2Fo-PERFECTIONIST-facebook.jpg&f=1&nofb=1 
---
I have been working as a Frontend Developer for around 4 years now. These are some things I wish I was perfect at. 

## Asking for help sooner
As a person I find it very hard to ask others for help. Whether in my personal life or in a work setting, whenever I encounter a problem my first instinct is not "let me find someone to help me"; it's more like "what can I do to solve this problem myself".

I don't think wanting to solve a problem by yourself is an issue. What's an issue is letting the need to solve the problem *__by yourself__* become __more__ important than solving the problem. In my case this would look like in me taking hours to solve an issue when I could have simply reached out to a team member for help or some direction as soon as I realised I am not making much progress. And when I finally asked for help, it would be when I have no other option but to ask because I need to meet a deadline. 

## Visualising my entire approach before writing any code 
When I first started coding I would do things in what I think of as an "explorative brute-force approach". I would attempt to do the task I have by jumping straight into the code and implementing what first came to mind. This would end up with me just jumping from one approach to another without properly thinking through what I am trying to do, and whether my strategy would work.

Visualising the different approaches I had and trying to figure out what would work best, before writing a single line of code, would have been a better strategy. And it would have saved me a lot of time since I'd be able to avoid simple mistakes from the beginning. I'd also be able to save time by avoiding fully implementing a feature, only to realise once done that my strategy will not work (this has happened to me a lot :sweat_smile:).       

I am deliberately trying to work on visualising my strategies everyday, but I still find myself slipping back to my brute-force approach. I suppose this is something I'll get better at with experience.  

## Not getting stuck in perfectionism
Given the title of this article, having this here feels like a pun :smile:. 

This is a tricky one. It's tricky because I need to constantly fight against myself and my urge to try and optimise every single thing to make it even better before presenting my work for review. For me this often looks like:
- second guessing variable & function names, wondering if what I have perfectly conveys the purpose,
- constantly moving pieces of code around so the code organisation is perfect
- endlessly researching what the best way to do something would be, before starting work on anything; and
- focusing on optimising code I have written before I even have a fully working solution 

I have found that making myself focus on getting something that works first, and then creating a PR before optimising anything helps me stay on task and away from perfectionism. Relying on reviewer's opinions by leaving comments on my PRs on what I am considering changing to make better, and if it's necessary has been quite helpful as well. 
 
Thank you for reading this far :grin:! I'd really like to hear what you wish you were perfect at.