Résumé
Hi, 👋
I'm Karol S. Mazur. I live in Ottawa. You can reach me via e-mail. If you're in Ottawa and want to grab coffee somewhere outdoors then let me know. 😷
I'm a passionate software developer with over a decade of experience in mobile app development. I've developed professionally for iOS since 2012 and React Native since 2019. I aspire to be a full stack developer, and that's the kind of work I pursue at my current position.
I care about maintainable software, friendly UX, and personal/digital/societal wellbeing/sustainability. Communication is key to me. Learning new approaches and technologies is something that drives me.
I'm also a big fan of fully remote companies and 4-day work weeks. You will have an advantage over other workplaces if this is the kind of environment you offer to your workers.
2023 update: the below résumé was last updated around 2020, so take it with a grain of salt.
Experience
Software Developer at Wealthsimple from April 2019 to now
I joined the mobile development team and quickly got up to speed working in a JavaScript technology stack with React, React Native, and GraphQL. Highlights:
- 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.
- Developed a mobile feature and the GraphQL API that powers it with JavaScript, Koa, and Apollo.
- Upgraded and modernized the JavaScript tooling around an internal project: added Prettier support, upgraded Babel and Jest, and reconfigured the Flow type-checker to unblock and speed up development.
- In a team of two introduced a new pattern for sharing JavaScript code between the web and mobile apps (React Native). This enabled developers to share business logic via render-agnostic React components.
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
Featured in iOS Dev Weekly #390 and #154
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
My blog post on dependencies got featured in Sean Allen's 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.
Political Science
Earned a political science degree, something that I think all software developers could use.