I am a Principal Swift Engineer that loves solving hard problems and cares deeply about both developer and user experience.

I’ve spent the last decade working on creating tools, frameworks and architectural ideas that make the life of fellow Cocoa engineers more efficient.

Before mobile, I did gamedev and graphics.

Contact Me

Highlights

My expertise

I lead development teams and focus on making sure they are efficient and happy by:

Apps

I’ve been programming for over 20 years and doing iOS full-time since before the official SDK came out (open toolchain before 2008).

Here are some of the apps I’ve enjoyed working on:




Experience



Lead iOS Engineer
The New York Times
May 2016 - Present

I was a lead on 2 major apps at the NYT: - A complete rewrite of our main Newsreader app, I started leading with a team of ~12 engineers and grew it to 20+ engineers - A unique and entirely new Kids educational app. For that app, I’ve designed a wholly new architecture that allowed our Editorial team to preview any content changes in real-time on the device.

Outside technical leadership, I’ve focused on creating a improving developer experience for my teammates through innovative architecture and tooling.

  • I’ve built an Observable library for the company that would be a foundational block for all iOS codebases
    • It’s a simplified model of FRP that’s easier to understand, the team at the time didn’t know FRP, but we wanted to get the best out of MVVM+C
    • I wrote it all with TDD and 95+% test coverage
    • This code is a foundation of almost everything we’ve built over the last 5 years
    • When combine came out, we added bidirectional converter extensions
  • Established best practices, wrote numerous guides and internal talks
  • Created high-level abstractions that enabled simple Snapshotting of our view layers
  • Did script revamp that save us a lot of time when building
  • 2-Way communication bridge between JS and Native that lets native developers add new features without dealing with any JS related code
    • This bridge was almost fully automated, if a developer wants to add a new command they simply add a new case newCommand(argument: String, somethingElse: Float) and all the data mapping and type conversion was automated for them.
  • Based on the above bridge I’ve built the ARKit/SceneKit module, the platform I’ve helped build won us many awards, including:
  • Early warning system, that lets us warn developers when unexpected behaviour happens in the application, can also be tested via UITests.
  • SLO’s / Performance tracking system that would lead us to easily understand what’s going on in our apps
  • Data snapshot system that allowed us to reproduce bugs that would otherwise be extremely time-consuming to reproduce given the quickly changing feeds News has
    • Straightforward to integrate, yet a total lifesaver that removed multiple steps from our reproduction pipeline
  • A/B testing solution
    • Define a test, all the code to create UI for overrides, parsing etc. is automated
  • Fully data driven BetaSettings
    • Removed thousands of lines of code we had to maintain and streamlined the whole process
    • Developers don’t need to create UI or persistence, if they want a new setting to be available in the application, they simply add a new variable and that’s all.
  • Helped Games team build a new game in Flutter
    • Flutter has one of the best developer experiences I’ve seen from a non-native solution, it was a lot of fun



Co-Founder
Pixle
Mar 2010 - Now

I’ve co-founded a mobile studio with two designers, we created 5 award-winning apps.

  • Sole engineer on 5 applications
  • All of them were featured by Apple in many categories
  • Apple’s ‘Best App of 2013’, ‘10 Apps That Wow’ and Apple Design Award nomination
  • Featured in over 400+ services, TV shows and even by Kara Swisher
  • Coined an entirely new concept called Behaviours that enabled non-engineers to easily contribute logic changes to the apps



Senior iOS Engineer
Mashable
Dec 2014 - Apr 2016

Worked on a new social application based around video.

  • Worked on a video app for content creators
  • Implemented innovative custom user interfaces and interactions for both creation and consumption flows
  • Implemented a low level AVFoundation based resource manager that allowed to stream and cache videos at the same time for better UX
  • Grew Flex (unidirectional) based architecture in Objective-C



Lead iOS Engineer
Lextech Global Services
Jan 2014 - Oct 2014

Joined as Senior contractor working remotely, after 2 months became technical lead for European team.

  • Design and implement maintainable architecture for our clients like H&R Block.
  • Implement many custom UI interactions
  • Coordinate work of other developers in the teams,
  • Improving process and quality of code, and teaching other developers through writing and internal talks.



Senior -> Lead iOS Engineer
The App Business
Sep 2012 - Dec 2013

Joined as Senior engineer, after 7 months became lead engineer.

  • Lead the 10+ engineering team and making sure every project was running smoothly
  • Hands-on I’ve also designed and implemented maintainable architectures and innovative UI for clients like Headspace, News International, Unilever and many others.
  • Modernised and automated workflows for projects like Talk Talk XFactor / TV Heads
  • Lead development of few new projects for UK retailers



Senior iOS Engineer
Roche
Feb 2012 - Sep 2012

Created fully animated and interactive interfaces for apps to be used at medical conferences



Software Engineer
Polidea
May 2010 - Feb 2012

Worked on multiple platforms before settling in on iOS.

  • Lead iOS developer and project manager for big business application ( iOS and Android )
  • Helped optimise mobile application for map navigation ( zumi iOS ).
  • Developing many custom views, including usage of OpenGL-ES 1.1 and 2.0 ( iOS ).
  • Created press publishing platform “Pixblish” ( pixblish.com iOS ).
  • Worked on 2 apps for one of the biggest multinational energy companies.
  • Created framework for graphical applications (OpenGL-ES 2.0) and developed few games(5+) on it for Samsung Bada.
  • Created custom LockScreen with physics for android.
  • Art app for german fashion house Michalsky ( iOS ).



Software Engineer
Consulting & Gamedev
prior to 2010

Before mobile, I’ve been a game & graphics developer, creating my engines and games.

I had written custom UI, Physics Frameworks, full 3D game engines etc.

The influence of those years can be seen in my award-winning Indie work, where UX is one of the things I focus heavily on.


  • Created my own RTTI/Reflection and Serialisation systems on top of C++
  • Wrote a WYSIWYG editor with automatic shader code generation
  • Implemented multiple renderers (DirectX, OpenGL) and different variants of rendering techniques (forward/deferred)
  • Created a custom physics engine, a custom AI scripting language and a custom GUI framework from scratch



A lot of useful projects are available on my GitHub page.

Email me if you’d like to hire me or learn more about what I do.