My career goal is to do more of the things I enjoy doing in my job.
The things I enjoy doing are:
Breaking complex problems into smaller problems
For example:
Whiteboarding a problem domain to understand it better
Exploring the implications of complex business rules
Modelling the behaviour of algorithms and identifying edge cases
Splitting data migrations into a sequence of small, reversable deployments
Splitting user stories into a series of technical tasks
Exploring different solutions to solving a problem
Reducing complexity by refactoring and rearchitecting systems
For example:
Making software more predictable and understandable
Reducing coupling between components
Designing APIs and data flows
Optimising towards a measurable goal
For example:
Improving search relevance
Reducing false positives of a classification algorithm
Reducing page load time
Continuous learning and experimentation
For example:
Studying machine learning
Watching conference talks
Testing ideas with low tech solutions or technical spikes
Explaining things and sharing knowledge
For example:
Coding in the open and contributing to open source
Blogging
Documenting
Running workshops
Influencing the technical direction and strategy
For example:
Working closely with product managers and technical architects to set priorities
Presenting new ideas and alternative approaches
Making process improvements
Improving software standards and guidelines
Evolving technical specifications