👋A photo of myself👋
🦺

Hi,

I’m Dmitry Rodionov, a software engineer for Apple platforms.

I’ve been making macOS apps and tools since 2011; I was involved in and led projects for Sympli, Mental Faculty, Apparent Software, ZipZapMac, Cuckoo Sandbox, farmerswife, XLware, Jacob Ruiz, Eden Vidal and dozens other companies and individals globally. I also do open source occasionally.

I’m available for hire

Currently open for short-term contract work or full time employment.

Email, GitHub, Twitter, Telegram

Would love to work on macOS apps, design tools, SDKs and frameworks; to dive into reverse-engineering; and to make cross-platform apps feel at home on macOS.

I’m looking for a place where I can be involved in high-level product discussions and talking to users as well as writing code. I admire companies that innovate in accessibility, UI design tools, productivity, and collaboration.

I have a proven track record of adapting to different communication styles and workflows across teams and companies; but I thrive in remote environments with async communications and written culture the most.

Experience

Sympli Versions Sympli Handoff Studies for Mac
Shotty Ensembles Studies for iOS
ImageFramer MemoryCleaner Trickster
Cuckoo Sandbox Cirkus for Mac Archiver for iPhone

Product Owner, Lead macOS Engineer

Sympli, 2017–now

As a product owner of Sympli Versions and macOS engineering lead on a small team, I’m wearing many different hats big and small at the same time:

I’m also a Sketch integration lead of Sympli Handoff where most of my effort goes into a non-trivial Objective‑C Sketch plugin that manipulates internal Sketch data model directly bypassing limited official APIs and sports a standalone UI flow. To mitigate the unstable nature of a native Sketch plugin, I’m maintaining an extensive automated test suite that validates private API contracts and specific document layout cases against multiple versions of Sketch.app (including the latest available beta version) simultaneously during a CI pass.

macOS Engineer

Apparent Software Inc., 2017, contractor

I was in charge of Batch Processing feature in ImageFramer: analyzed an existing single-threaded image processing engine and adapated it to work in a multi-threaded environment required for parallel application of image templates; built a UI flow for the highly-configurable batch export process.

Also made a few smaller contributions to Trickster: introduced a light theme (and theming support in general); updated the way file previews work there; made Watched Folders feature more reliable when macOS Sandbox is involved.

macOS/iOS Engineer

The Mental Faculty B.V., 2016, contractor

Worked on data import modules for a flashcard app Studies: built components for importing card sets from Quizlet.com and Excel spreadsheets, accompanied by documentation and sample code.

Contributed to a data sync framework Ensembles by updating a Dropbox-based cloud file system to work with Dropbox SDK v2; discovered and reported a few issues in the SDK itself.

Google Summer of Code Contributor

Cuckoo Sandbox, Summer 2015

Participated in Google Summer of Code during one of the summer breaks while pursuing a CS degree, adding support for analyzing macOS binaries in an automated malware analysis system.

The project involved automating virtualized macOS environments, (ab)using DTrace for dynamic analysis of potentially malicious executables, and writing end-to-end Python tests covering communications between a host OS and a virtual machine.

Freelance Software Engineer for Apple Platforms

Various clients, 2011-2017, part-time

Full-cycle software development: discussing business requirements with a client, building a prototype, iterating on a solution, collecting feedback, and publishing final products for distribution.

Worked on a multitude of tasks: from refactoring legacy codebases and writing Swift wrappers for C libraries to architecture review sessions, building Sketch plugins and rich Cocoa applications.

Open Source Contributor

2014-now

Being involved in open source since 2014, I’ve contributions in multiple projects, inlcuding:

I also have a deep background in reverse-engineering and this experience still guides me today: whether it to figure out how third-party apps are built or how to work around some unexpected behaviour and bugs in system frameworks. Here’s a few of my research projects from that period:

Education

Bachelor’s Degree in Computer Science from TSU’17. My graduation project was a decompiler for Ruby virtual machine (YARV) bytecode as part of a PoC of bypassing RubyEncoder’s code obfuscation methods.