Autonomy, Mastery, and Purpose Helps Get Me Into & Stay in a Sense of Flow

  • Autonomy.
    • Ability to improve codebases from the perspective of non-author contributors or a place of learning after the fact/original design (e.g. more scaladoc or javadoc, better test coverage beyond basic code coverage, holistic class and variable names from a repo feature perspective, re-factorings that help other contributors understand with less time/effort, etc).
    • Give me opportunities to reduce/eliminate manual processes/analyses/questions/busywork and I’m on itย โ€“ code is king/queen.
    • True collaboration and challenging conversations to improve the odds of staying relevant and possibly, innovative (from the perspective of the larger org’s gaps in general within the larger enterprise, across departments and functions).
  • Mastery.
    • Simplicity long after the story/design has been marked Done.
      • How much effort would it take for me to explain this feature to a new contributor (including class and function name references)?
    • Scale.
      • How much more toil/manual effort can be eliminated with a more advanced design?
    • What would I learn that I haven’t already mastered up to this point in my career?
  • Purpose.
    • How many people could I impact/reach?
    • How could expending effort on this allow me to work myself out of my current role so that I may focus on new challenges and growth opportunities?
    • How does this impact the open source community? How does my work possibly impact other companies and/or organizations?
    • What could I demo/evangelize that would lead to further adoption?

Leave a Reply

Your email address will not be published. Required fields are marked *