Last updated: 2021/09/18. This page isn’t very nice to read at the moment, but it’s good enough for now. My time is better spent in other areas.

A detailed, real-time plan and progress tracker can be seen in my Notion Dashboard.

I’d like to transition into a career in IT (from a finance/project management background), and this is my plan to get there.

I want to do this because I should’ve started years ago - I’ve always been drawn to tech, I love systems thinking and my brain really needs to learn things and work through different problems to enjoy itself.

Existing Skills

I don’t have a neatly packaged job title. My experience so far is that I’m a strong generalist who learns quickly and has a particular affinity for tech. When I’m working with clients, it tends to end up looking like me trying to improve systems and processes, either through process design or project managment. I have seen these skills be effective in dev-related spaces, and so I think that it will be important to leverage them as I look to make this transition.

To be concrete, here’s what I can do at the moment:

General skills:

  • Financial analysis (rusty though)
  • Project management
  • System and process design

Technologies:

  • Excel (advanced - like, pivot tables, index match, etc. Not just =SUM() )
  • Beginner Python (I did 6 months in uni and have done a few small scripts since then)
  • Beginner Javascript (I have finished a beginner course)
  • Notion

Strengths:

  • Fast learner (like, above average for sure. Not just a buzzword. I can really lock myself in a room and level up my understanding of something fairly quickly.)
  • Natural bias towards systems thinking and trying to model interactions between systems/components
  • Decent writer, good speaker/presenter

Short-Term Goals

I would like to develop a strong baseline of skills which take the shortest path between my existing strenghts and skills, and what would add value to an IT project. I see there being three core areas where I can improve at the moment:

1. System Architecture and Process Design

I believe that in the medium-long term, this is likely going to be the unique value I am able to add to IT projects. I would guess that once developed/practiced, my skills in this area will be above average, and will certainly become competitive in the market more quickly than my skills as a developer would.

These are also highly generalisable skills - they apply just as much to projects, organisations and even my own life as they do to software development.

In particular, I would like to develop the following in this regard:

  • Repeatable processes for approaching new design problems
    • A common set of questions to ask, diagrams to draw, reports to produce. I spend a lot of time thinking about how to even approach solving the problem in front of me. This is inefficient, and gets frustrating after a while.
  • Levelling up my diagramming skills significantly (knowing what kind of diagrams I can choose from and how to approach modelling an issue, as opposed to making up a new diagramming technique every time)
  • A better understanding of what paradigms of system architecture/design exist
    • I feel like there is a niche here that I don’t even quite have the right language for yet. There is a skill I’m trying to learn that I can’t quite describe, a more generalised approach to system design that spans industries. So understanding more what is even out there in this regard and developing better language would be amazing.

2. Project Management

I already have a good enough chunk of experience in this from my personal productivity and project management on other projects, but it would be great to formalise and systematise this.

  • Develop a repeatable process for setting up project management systems
  • Potentially look into a certification in this regard - eg, Scrum Master

These will help with my personal productivity, but also make me a lot more confident and efficient when trying to do project management in unfamiliar clients/organisations.

3. Technical Writing

It seems to me that there are more software projects out there that are in need of good documentation than good developers. Or at least, that seems to be the case for open-source.

I think there are a few good reasons why I should learn to do technical writing (specifically, writing programming documentation):

  1. It forces me to understand a codebase, and possibly model that system - which fits well into my desire to improve at systems thinking/software architecture
  2. Docs are a common need in open-source projects and require relatively little technical training, so it is likely that I can start contributing to something fairly quickly and provide value to maintainers to justify the billions of questions I’ll no doubt pepper them with
  3. As an extension of (2), docs serve as a gateway to making actual code contributions to a project. Once I understand a codebase from writing docs for it, it will be a lot easier to write contributions for it.

Projects

To develop the above skills, I’ll need to find some projects to work on. Fortunately, I seem to have a few I can work on that map quite nicely to the skills I want to develop:

  • Anuva consulting - System and process design
  • cubing.js Documentation - technical writing
  • WST assistance - project management

What about coding?

Disappointingly, the above doesn’t really seem to require me to do much coding - which is sad, as coding is a big part of what I’m excited for. Honestly, I’m not quite sure how to work this in yet. I’d love to work on some projects - probably Javascript - but my plate is already pretty full trying to figure out the above. I’m considering trying to do 1 hour per day of actual code, and doing a “100 days of code” vibe. We’ll see.

Structuring the Journey

A roadmap is only as good as one’s ability to execute on it. And a learning journey is only as good as my ability to retain the knowledge.

  • Execution: I’ll be doing project planning and task execution in Notion. I have a design for this mostly ready to go, and I’m already very familiar with Notion. I’ll put a link to the Notion board on this page when its ready to go.
  • Knowledge retention: I’m going to be trying out Obsidian, as it comes highly recommended by the Cassidoo discord, works with flat files and seems to have some really interesting linking features. In an ideal world, I would run the Execution side of things using Obsidian as well, but the learning curve to be able to do that well is too steep given how confidently I can structure the project management in Notion. My learning energy is better expended elsewhere at the moment.
  • Rhythms: These will always be iterated on. But at the moment, I’m liking:
    • Weekly reviews (video/blog post?)
    • Daily priorities and reflection tweet
    • Trying to only solve a problem once: When I encounter a problem, be conscious of it, work through it, and when solved write down the process for solving it in Obsidian.

Sharing the Journey

I’m a bit sus of the “sharing the journey” side of things - it risks pulling me into social media and causing more distraction than progress. It also risks creating external expectations (perceived or actual) that start to get in the way of actually making progress.

That said, I think there are good reasons to try and share the journey:

  • I’m really excited about trying to share the journey - I’d love to have something to look back at.
  • It creates the possiblity of plugging into a community, which is exciting both because its nice to be part of something, and it gives me the opportunity to learn from others
  • If it goes really well, it could prove useful/motivational for others in the future!

So, I’m going to try out sharing the journey. That’s going to look like a few different things:

  • This website / blog (definitely yes)
  • Daily twitters (kinda scary, distraction zone)
  • Cassidoo’s discord (also kinda scary, another distraction zone - but the people there seem encouraging, wholesome and knowledgeable!)

If the social media stuff gets too much, I’ll cut back to just this website.