I'm Karol S. Mazur. I live in Toronto. You can reach me via e-mail. If you're in Toronto and want to grab coffee with me then let me know. I know some cool local coffee spots.
I'm a passionate software developer with a strong background in mobile app development. I've done native iOS development for 8 years and React Native for almost a year now. I hope to call myself a full stack developer soon, as that's the kind of work I pursue at my current position.
I care a lot about maintainable software, great UX, and digital wellbeing. Communication is key to me. Learning new approaches and technologies is something that drives me.
Software Developer at Wealthsimple from April 2019 to now
- Introduced the first React hook into the mobile codebase. Implemented theming and localization hooks used in two large mobile projects. Advocated for the transition to functional components with hooks and a clear separation between view components and "smart" components (AKA containers). This made it easy to drop view components into Storybook and quickly iterate on them, and led to more maintainable and understandable code.
- Introduced the concept of playbooks to the mobile team. This let us document critical processes (e.g. weekly releases, on-call duties) to ensure quick onboarding of team members and serve as the go to reference for the directly responsible developer.
iOS Developer at Format from January 2015 to January 2019
I was hired as Format's first full-time iOS developer. Worked remotely for 3 years, then moved to Canada. Some highlights:
- Introduced Playground Driven Development into the latest project. This significantly reduced the development feedback loop.
- Developed Format’s iOS app. Worked with the design team to ensure the app has a HIG-friendly and sustainable design, so that we can adopt new iOS versions and features easily.
- Built a cache-like model layer with immutable models. Initially in Objective-C, later rewritten to Swift structs, Codable, and a Flux-like unidirectional data flow pattern.
- Took over an existing iPad project. Challenges included improving architecture by taming a complex web of singletons, and debugging Core Data issues.
- Identified key iOS app features and built them as reusable components: slideshow for browsing photos, picker for picking photos from any source (iOS Photo Library, the Format API, Dropbox), and uploader for uploading photos from any place within the app.
- Collaborated with the marketing team and kicked off an effort to make the iOS app more competitive on the App Store and to improve its conversion to paying users.
- Automated iOS app internal beta deployment with Fastlane to quicken the feedback loop with all iOS stakeholders.
- Developed a macOS Format photo uploader plug-in for Phase One's Capture One photo editing software. Challenges included developing the plug-in with a pre-release API (we were the first to build a publisher plug-in for C1).
iOS Developer for Prismake from October 2014 to December 2014
I contracted with Prismake on an iOS project with an innovative UI design:
- Worked on delivering a proof-of-concept iOS app for a Chicago start-up working in the user research space. Challenges included building a modern card-based UI driven by interactive gestures and interruptible animations.
iOS Developer at Base from April 2013 to October 2014
Base CRM (now known as Zendesk Sell) is a Salesforce competitor. I worked on a team of iOS engineers at Base. Highlights:
- Built the Calendar feature within the app. Researched and used best practices for handling time zones, all-day events, and locale-specific settings such as start of the week day.
- Added iPad support in a team of two. Challenges included choosing and adapting an existing iPad UI library. The chosen solution saved hundreds of developer hours, because of its inherent compatibility with the iPhone UI.
- Conducted technical interviews with iOS developer candidates.
iOS Developer at Applicake from January 2012 to April 2013
My first iOS role was at Applicake, a wholesome software house. I was the first iOS developer hire there too. This kickstarted my software development career. The highlights:
- Built a video media catalog app for a client. Helped the client adapt his designs to be iPad-like. Challenges included synchronizing gigabytes of data and making sure the app can flawlessly migrate to next versions.
- Worked on an in-house product for event organizers. Created the iOS app for it and submitted it to the App Store. Challenges included iPhone and iPad support and offline operation.
- Built a dedicated iOS app for the Railsberry conference. Challenges included making sure the push notification experience was excellent during the conference.
Accolades and fun facts
Started a technical blog in January 2019. The first technical post got featured in iOS Dev Weekly #390. Created Swift InFlux (during SwiftCrunch): a repository on GitHub that aims to collect all the Swift language features that are likely to change (featured in #154).
Featured in Swift News #45
Mobile Mobile Conf Co-organizer
Developed the conceptual side of the conference: theme, talk selection, and speaker guidance. Argued for a single track format that went above the technical and delved into the direction of the mobile space itself. The aim was to be inclusive of everyone working in the mobile industry: designers, developers, and entrepreneurs. Built and shipped the iOS app used for the conference.
Earned a political science degree, something that I think all software developers could use.