Jason C. McDonald

Author | Speaker | Hacker | Time Lord


I am a hacker (by the true definition of the term) with a passion for open source software.

I'm experienced in C++ and Python, with working proficiency in C, Java, Bash, Typescript, CSS, HTML, and PostgreSQL (plus a little Assembly on the side). I'm an expert in memory management, debugging undefined behavior, and advanced object-oriented programming. I deeply enjoy working with algorithmic efficiency, data structures, design patterns, and algorithms. I'm a Linux power user, LAMP IT, computer repair technician, and open source advocate.

Additionally, I have expertise in coding style, commenting, documentation, testing, project management, and C++ build systems.

I'm a Software Engineer at Canonical, and the CEO/Lead Developer at MousePaw Media. I'm a member of the Open Source Initiative, and the Python Software Foundation. I serve as one of the community moderators on DEV.

Download my CV

Current Projects

Cover for "Dead Simple Python"

Dead Simple Python

Based on my popular DEV article series, Dead Simple Python is written for existing developers who want to learn and master idiomatic Python without wasting time rehashing the basics of computer programming. Edited by Python experts, and packed with vibrant, realistic examples, you won't just learn how to write Python code; you'll learn to think like a native Pythonista!

I'm thrilled to be working with No Starch Press.

Icon for "Timecard"

Timecard 2.0

Time tracking should be simple. Timecard allows you to start, pause, and log how much time you spend, all from within a simple, unified interface. [Win/Linux]

This is a resurrection of the first software application I ever built. I've reimagined it in Python and PySide2 (Qt 5).

Project Website

Icon for "Omission"


A deceptively simple word game that challenges you to find the missing letter in a famous quotation. Published through MousePaw Games. [Win/Linux]

I built this game in Python 3 and Kivy. The game itself took only two months to build; it took nearly four years to figure out how to package it!

Project Website


I've written over six dozen articles (and counting) on DEV. Here is a selection:


I've worked on a lot of diverse projects, both independently and through my software company. Here's a few highlights...

My Tech Stack

Languages and Technologies

*Basic proficiency.

See the Full List

Download my CV