In a project context, most managers view progress as reaching milestones or checking off boxes. There is nothing wrong with that – without goalposts. The team doesn’t know when to begin working on the next task. In simple projects (like mopping the floor), it’s easier to identify an item in done state as you just count the spots. After the task is delivered, it’s time to examine the process and if there were any lessons learned. We’re not just thinking about doing it better, faster, and more robust but deciding if the process is still the very best for the strategic goal.
- Review the strategic goal. Determine if the solution will work permanently, or if just a short time. If you coded for a blog post or an ad, could you refactor this code to deliver multiple touch points with one UI? Find a balance between reusability and over-engineering.
- Take some time away from the solution. When you’ve entered the rabbit hole, take a moment to chew on another problem before grading yourself. Then come back with a fresh perspective.
- Re-think the measuring stick. How is the solution graded? Quality, Cost, and Speed are consistently limiting factors. Trying to optimize on all three is a recipe for failure.
Never stop learning. It doesn’t mean always getting on the hype train for the next framework but improving one aspect of the conscious coding process. Are you solving the right problem? Are the issues changing so that solutions are no longer a fit?
Learn new solutions to new problems rather than mapping aging templates to upcoming challenges. Conscious coding is paying attention to mastering the constants while adapting to change.
Especially with a high volume of work moving remotely, knowing how to solve and leveling up is the difference between success and failure. Commit time to learn, even at the cost of billable time. Investing in you ALWAYS pays back at a high return, but interest in a savings account earns little. Know the opportunity costs and keep re-investing.