Some Career-Related Ultimate Goals for 2017

An ultimate goal is a goal that is not necessarily achievable; it is rather a compass north point: where do we want to be, eventually? Writing down ultimate goals has an almost magical effect on focusing our energies (and I am NOT referring to the Law of Attraction, which frankly gives me hives). Here are some of my career-related ultimate goals for 2017.

  1. Algorithms: Complete 25 Project Euler puzzles (without looking at other peoples' answers). Done.

  2. Object Oriented Programming: Create a set cue cards that has two cards for each of the Gang of Four design patterns. One card has the pattern's definition, the other card has the pattern's structure. Memorize this set of cards. Done. We gave ourselves a written test and exceeded 95% verbatim recall.

  3. Tooling: Learn how to navigate a project structure in Vim. That is, learn how to find/replace across files, how to open a file by a fuzzy search of its name, and basically how to manage files in Vim similarly to how we manage files in Visual Studio Code.

  4. Open-Source: Bring aurelia-open-id-connect to version 1.0.0 (i.e. to a production ready release), publish it to NPM, propose an article about it to the Aurelia team, and update the OpenIddict Implicit Flow sample to this version.

  5. Forum Answers: Answer 100 StackOverflow questions. That's about two per week. Historically, I answered 65 in 2014, 192 in 2015, 181 in 2016. Done. As of 08 August 2017, the count is 114.

  6. Income: Invoice (and receive payment) for 1,000 billable hours at my normal rate. Done.

Obstacles

Some of the above goals need to have more specific finish lines. For instance, what does 1.0.0 release of aurelia-open-id-connect mean, exactly? I have found that goals without specific finish lines are much less motivating. How will we will know success?

Distractions

Other career-related shiny things, which tend to distract me.

  1. Concurrency... explore it further.*
  2. Language development... same.
  3. Creating more videos with Anthony Chu.
  4. Visual Studio Code.
  5. .NET Core csproj system.
  6. Deep learning.
  7. F# and functional programming.
  8. Scala.
  9. Use Linux regularly as an alternative to Windows.
  10. Create an app with Aurelia that is a personal terminology dictionary.
  11. OpenID Connect... explore it further.
  12. Web Application Security via www.sans.org
  13. Upgrade my blog to Ghost 0.11.4; improve my blog workflow; style my blog.
  14. Write a book.
  15. Take the Khan Academy course of Algorithms. Done.
  16. Look into other design patterns such as the State Machine.
  17. Study chess.
  18. Do the 80,000 hours career decision course.
  19. Retake the GRE after studying for x hours for it.
  20. Apply to graduate school at UVIC and UBC.
  21. Study chess tactics.
  22. Read up on the debacle in USA politics.