When I started as a developer on this day: January 2nd, 2009, I wanted just a few things as a developer that you may be familiar with:
- To be accepted
- A job
These were my thoughts as a college dropout with no relevant professional experience starting my first day as a developer. Only days before my work had been loading trucks on the 9pm-5am shift, and now I found myself in the equally dark basement cubicle of the 9am-5pm shift looking for answers on Stack Overflow.
And then I solved a problem, and then another one, and like fireworks they lit my way though the dark unknown of my early years as a developer. As I grew, and the fog of war lifted around the world of software I found myself in, I gained new motivations over time:
- To learn
- To teach
These ideals guided me to the better places, and when I followed them I found new jobs where I made more money and my ideas were better accepted. Here I encountered new problems — but rather than talk about symptoms — let my highlight my prescription.
When you take a learner's stance, you can see that problems in software are solvable with time. Time however is a limited resource, and so the trick of being an advanced problem solver is to find a balanced approach that optimizes for time.
Rewrite, or refactor. Do it yourself, or delegate. Solve now, or solve later. Most often the answer to these questions lies in answering
"What is the balanced approach here?" Balance looks like you and your team working normal hours. Balance looks like you and your team feeling proud of the work. Balance is achieving professional goals without sacrificing the personal ones.
So this is my new goal, to find a balanced approach, and in doing so I hope to learn, to teach, to find great jobs, get paid great money, and find acceptance from my clients and peers. How does balance affect your life as a dev? Let me know in the comments!