A few weeks ago I found myself with some overripe bananas and decided to try my hand at making some banana bread. I thought this banana bread baking process was a perfect allegory for iterative growth.
An Early Attempt
I checked the recipe and I had all the ingredients. On the downside, my brown sugar was old and hard and I didn’t have the loaf pan that the recipe called for. I felt determined to make it that night. So, I decided to press on and use the clumpy brown sugar, and I improvised with a muffin pan.
As you would expect, the banana bread didn’t turn out great. It was bland, and it had a stiff texture. What I made still went well with my morning coffee. But, I wanted to make better banana bread consistently for whenever I found myself with another bunch of overripe bananas.
Iterative Growth and Identifying Gaps
As a developer in a consulting role, you may not have the time to become an expert on a new technology before you need to start using it. While a broad initial knowledge of a new framework might get a feature over the finish line, the code still might lack flavor.
After each iteration, (completed feature, specific period, etc.) it’s important to give your skills a taste test. What design ideas are outdated and can be improved with newer, sweeter ones? It’s important to identify gaps in your knowledge and correct them at each step so that you can approach each new problem with more confidence every time.
Appropriate Goal Setting
Another key to iterative growth is appropriate goal setting with actionable items. After I made my bland banana bread, I knew that I had to improve. So, I made it a goal to make a loaf that would be worthy enough to bring into the office to share. I attached two actionable items to that goal: first, to make sure to keep fresh brown sugar on hand, and second, to go out and buy a loaf pan. After I completed those actions and baked another bread, I would determine if I had reached my goal. From there, I’d repeat this goal/action process based on the results.
Replace the banana bread with the technology of your choice and going out to buy the brown sugar/loaf pan with filling your identified knowledge gaps. I think you can start to see a clear framework for iterative improvement.
As a developer, I always expect to learn new technologies and improve on the ones I already know. Iteratively growing your knowledge and skillset is necessary and can be looked at as a skill of its own. Try these tips to improve your improvement, and you might even come out with some tasty treats.