Programming is problem solving, and since I’m now doing it professionally, it means I’m getting paid to solve problems. I want to be good at my job and there’s a few of ways I can imagine getting better:

Spike and Trash

Learn the environment, get a better understanding for the scope, try to make out the endpoint, do it quick and dirty and then throw it away. Be attentive though. For me, spike doesn’t mean rewrite, its like a sandbox or whiteboard to get the general gist of something before committing to design decisions.

Start with the end in mind, but take baby steps to get there

TDD helps. Figure out the behavior you want and then a way to get that behavior through the code. pay attention to details, red-green-refactor. If you’re not quite sure how to test, maybe another spike could help or some research. Whatever you do take it slow and deliberate, it should be a very mindful process, be aware of each decision made.

Read More Code

Game recognizes game.

Improve basic skills

typing, VIM, bash, Tmux, Git etc. Getting these down will improve efficiency and speed.

Immerse yourself

As my mentors have remarked on several occasions, I have a lot of ground to make up, which means I should be using my free time to immerse my self in this new domain. Reading up on blogs, watching youtube videos, going to conferences etc. I have to eat, sleep and breathe this stuff on a general level not just related to my current assignment.

Learn when to stop

This I really struggle with, though I didn’t the first couple weeks of my apprenticeship. I think I have workaholic tendencies and when pressure mounts I tend to meet it by pouring more time into whatever I’m working on. It’s a zero sum game and that takes time away from other important things, which destabilizes my rhythm which only serves to perpetuate the negative feedback loop. I’m slowly starting to pick up on signs that I need a break, and I think It’s a good idea to reinstitute working on something else at a specific time regardless of the completion state of whatever I’m currently working on.

Take care of yourself

I work best when I feel good and for me that means regular exercise, a good night’s sleep and a home cooked diet.

Continuously and Aggressively seek feedback

I’m getting better at this, but I still have a long way to go.