Home CV


Downloadable CV

Thank you for your interest in my credentials. Click here to download my CV.

My Top 10 Areas of Software

For your interest, here’s a list of the top 10 software “things” that make me excited to put hands to keyboard. Sorted in descending order of interest, this includes, but is not limited to:

  • 🌎 Web frameworks
  • 📲 Mobile frameworks
  • 💻 Desktop frameworks
  • 👩‍💻 Platforms
  • ☁️ SaaS offerings
  • 🖥 Operating systems
  • 🛠 Other

1. Django

I’ve made more applications than I could count with Django. Since discovering it, I formed a taste for making the most of the conveniences offered by the battle-tested framework.

Proficiency (5/5): ⭐️️⭐️️⭐️️⭐️️⭐️️

Enjoys: The admin site and opinionated design that lets developers focus less on boilerplate.

Struggles with: Perfectionist aspects such as how best to split apps and apply niche best practices.

2. React (TypeScript)

After forming a background in AngularJS from a previous job, React was a fairly natural extension to my existing knowledge, and was enjoyable to learn and use over time.

Proficiency (5/5): ⭐️️⭐️️⭐️️⭐️️⭐️️

Enjoys: The magnificent community support and access to npm, and advanced features such as code splitting.

Struggles with: The glaring complexity (and tangled mess) that comes with managing any app integrated into npm infrastructure.

3. zsh

I’m a big fan of macOS and Linux, and a big part of that is bash; the simplicity of it, mass user adoption, and expression of ‘nix principles at core. Just when you think it gets no better, along comes zsh to make your terminal colourful, fiesty, and time-saving.

Proficiency (3/5): ⭐️️⭐️️⭐️️

Enjoys: The predictability and lightning-speed power user shortcuts that come with zsh plugins, and bash itself.

Struggles with: More complex commands and long bash scripts - my job requires more Windows than Linux.

4. RHEL/CentOS/Fedora

In the world of Linux, I can safely say that the majority of users start out with good old Ubuntu. I was no different, though as I started to join forums and listen to public opinion, I was roped into the wonderful world of Fedora and its brother/sister distros.

Proficiency (4/5): ⭐️️⭐️️⭐️️⭐️️

Enjoys: Having a sane number of spin-offs and derivative distributions, and its popularity with enterprise environments.

Struggles with: SELinux. I’m not sure anyone enjoys it, as a matter of fact. I reject Stack Overflow suggestions to turn it off though, so that keeps one busy.

5. JetBrains (most apps)

At my university (as I imagine compares to most others), we were instructed to use the Eclipse IDE to build Java applications for our assignments. At first you think that your struggles are almost solely due to your own shortcomings… then you come across IntelliJ… then you really think you’re hallucinating when they offer IDEs for almost every popular language in existence.

Proficiency (5/5): ⭐️️⭐️️⭐️️⭐️️⭐️️

Enjoys: The consistency across platforms, strikingly usable and popular plugin architecture, and intuitive layout with great keyboard shortcuts.

Struggles with: Nothing obvious.

6. Adobe Creative Cloud (most apps)

Being interested in photography from an early age and then waltzing to video over time, Adobe has long had an investment in my time and toolset. The company and its products are not perfect, but they are marvels of creation. I’ve had the pleasure of working with Photoshop, Illustrator, InDesign, InCopy, Prelude, Premiere Pro, and more.

Proficiency (5/5): ⭐️️⭐️️⭐️️⭐️️⭐️️

Enjoys: Well… creating! Once again, a common interface pattern between apps and a plethora of tutorials makes for a wild ride.

Struggles with: The occasional bug, Adobe’s refusal to listen to customers, and a hefty subscription for infrequent use.

7. Heroku

I was introduced to Heroku upon signing up for the GitHub Student Developer Pack some years ago. From the beginning up until now, Heroku has provided transparent, bite-sized, performant deployment and hosting. That purple is gorgeous, too.

Proficiency (4/5): ⭐️️⭐️️⭐️️⭐️️

Enjoys: The simplicity of deploying apps, gorgeous interface, very thorough documentation, and modern security standards.

Struggles with: Nada at present.

8. Ruby on Rails

Shortly after discovering and delving into Django, I laid my eyes upon RoR. I was fascinated by its same-but-different approach to web development; it encapsulates the principles that Django advertises, but instead sees the other side.

Proficiency (3/5): ⭐️️⭐️️⭐️️

Enjoys: Strong community presence, a significant tech stack share in enterprise, and a mature battle-tested framework.

Struggles with: Not being as used to Ruby versus Python, and the burden of decision-making imposed by a lack of opinionated design.

9. Docker

Ah, the containerisation explosion. Who could possibly have missed the revolution that introduced another wave of buzzwords and paid online courses? While I was quite late to the party, Docker certainly taught me a lot about when containerisation does, or does not help.

Proficiency (4/5): ⭐️️⭐️️⭐️️⭐️️

Enjoys: Robustness of the container paradigm, mass adoption with strong support, and a disporportionately large return on investment at a certain point on the learning curve.

Struggles with: Best configuring docker-compose to ensure optimal caching of layers.

10. Microsoft Azure

With my professional experience being solely with Microsoft partner firms, MSDN subscriptions brought with them free Azure credits. As a result, I’ve had a notable amount of hands-on experience with Azure over the last few years.

Proficiency (4/5): ⭐️️⭐️️⭐️️⭐️️

Enjoys: Having access to the edge of cloud innovation made available through convenient and comprehensible interfaces.

Struggles with: The breadth and variety of services made available, often causing cognitive dissonance.