About Me

I am a Principal iOS 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 efficent.

Prior to mobile I did gamedev and graphics.

Highlights

My expertise

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

Apps

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

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




Experience



Lead iOS Engineer
The New York Times
May 2016 - Present

I’ve led a Newsreader rewrite from scratch with a team of 12+ engineers, we grew the team to 20 engineers before splitting into multiple teams as we kept growing.

Outside of 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 bi-directional converter extensions
  • Established best practices, wrote a lot of guides and internal talks
  • Created high-level abstractions that enabled simple Snapshotting of our view layers
  • Did scripting 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 is 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, type conversion is automated for them
  • Based on the above bridge I’ve built the ARKit/SceneKit module, the platform I’ve helped build won us a lot of awards, including:
  • Early warning system that lets us warn developers when unexpected behavior 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 a bunch of 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 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 different 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 a completely new concept called Behaviors 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 a lot of 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.
  • Modernized 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 optimize 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 multi-national 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 my own UI, Physics Frameworks, Full 3D game engines etc.

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 RTTI/Reflection and Serialization 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.

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