rowingGeneralist Senior Developer / Director of Engineering

TL;DR: I'm a generalist web, mobile and systems developer with years of engineering management experience. My working tenets are open source, web technologies, testing and automation. I started as a web developer and learned various other programming paradigms when mobile exploded in the mid-2000s. I was one of the core developers of PhoneGap, a hybrid mobile application framework bridging the gap between web and mobile development. This work eventually led to an acquisition by Adobe. In the early 2010s, I joined Sauce Labs and worked on a large scale testing-as-a-service product and gained experience with networking and systems in order to manage fleets of thousands of VMs, containers, machines and mobile phones running in data centers, enabling millions of developers to test their code at scale. In 2015 I shifted to management and eventually directed an IT office of 25 people, ensuring multiple engineering teams perform at a high level while focussing on people happiness. In 2016 I decided to take a break from management and went back to coding - it is what I love to do - and ran an Open Source Program Office back at Adobe. In the summer of 2019 I switched roles and became Community Manager on the Community Engineering Team at Magento, which had been recently acquired by Adobe. In early 2020 I left Magento and Adobe to take a break and since the summer of 2020 I have been consulting and doing freelance data analysis and software development for AWS at Amazon, Begin and others.
swap_vert

assessmentProficiencies & Languages

I pride myself most on my ability to learn new languages, frameworks, and methodologies quickly. Technology is constantly evolving and language fluency is, in my opinion, a professional programming necessity.

Programming languages: I am confident in JavaScript, Java, C/C++, C#, Python, sh and Ruby, and can get by in PHP, Go, Objective-C and Haskell.

TL;DR: I've worked with a variety of technologies and have expertise in node.js, all different kinds of cloud developer services (AWS, Azure, Google Cloud) (but particularly enjoying functions-as-a-service), all things web (both frontend and backend), .NET, Ruby on Rails, relational and document databases, infrastructure-as-code and mobile development for both Android and iOS. I have architected complex distributed systems written as monoliths or microservices.

A deeper dive into some of my favourite technologies:

I'm fluent in English, Polish, Spanish and French and would probably fail terribly, but try regardless, to have a conversation in Farsi.

beenhereAssociations & Certifications

I'm an Apache Software Foundation committer on the open source Cordova project.

I'm a maintainer of the OpenJS Foundation-stewarded Architect serverless application framework.

I'm a member of the World Wide Web Consortium, and have been involved in developing mobile device and web related standards as part of the Device API, Web Applications and Web Platform working groups.

I'm a member of the Open Source Initiative.

I completed the New Manager Bootcamp at the School of Executive Education at UC Berkeley, CA.

schoolEducation

event_note2003-2008: Simon Fraser University

I graduated from Simon Fraser University with a B. A. Sc. in Computing Science with a specialization in artificial intelligence. Yeah, that's right! AI! In 2008! Before it was cool!

buildWork

event_note2008-2011: Nitobi Inc.

keyboardLead Software Developer

TL;DR: After graduating in 2008, I joined Nitobi, a consultancy where I did web and mobile software development for various clients.
  1. trial-by-fire, as my first client work I essentially worked alone on a top-1000 web property for Microsoft, ieaddons.com, getting 1.5-2.5 million daily unique visits
  2. on behalf of global travel giant Sabre Holdings, I developed mobile websites and applications for corporate travel under the GetThere suite of apps
  3. open source work on PhoneGap, ranging from implementations on specific mobile platforms (Android, BlackBerry, iOS) to the tooling, as well as leveraging it for various consulting engagements
  4. then-Nitobi-now-Adobe's online mobile application compilation/deployment tool, PhoneGap Build, powered by a Ruby-on-Rails stack

event_note2011-2013: Adobe

androidLead Computer Scientist

TL;DR: In late 2011, Nitobi was acquired by Adobe, where I continued work on PhoneGap. Most of my activity took place under the Apache Software Foundation as the Cordova project.

My projects at Adobe were mostly Cordova-specific and included:

  1. cordova-cli, a nodejs-based command line tool for Cordova-based applications - available on npm and downloaded over 100k times per week
  2. cordova-js, the unified JavaScript layer for the Cordova project
  3. cordova-android, the Android implementation of Cordova
  4. cordova-ios, the iOS implementation of Cordova
  5. cordova-blackberry, the BlackBerry WebWorks implementation of Cordova
  6. cordova-wp7, the Windows Phone 7 implementation of Cordova
  7. cordova-plugman, a nodejs-based command line tool for installing and uninstalling Cordova plugins - available on npm

event_note2013-2016: Sauce Labs

mobile_friendly2013-2014Lead Software Engineer, Mobile R&D

TL;DR: In September of 2013, I joined Sauce Labs where I started as a member of the Mobile R&D team. This was the team responsible for designing and building Sauce's mobile solution - an on-demand service for access to virtual and real Android and iOS devices, mainly for testing native and web applications.

I veered away from focusing on mobile development exclusively in my time at Sauce Labs. I gained valuable experience managing fleets of both bare-metal and virtual machines of various operating systems (Linux, Windows and Mac) powering Sauce's testing service. I learned how to build and run a distributed, highly-available system, shifting my focus towards (cringe) DevOps, that is, design and maintenance of systems, from hardware up to software, from operational to programming concerns.

business_center2015-2016Director of Engineering, Vancouver

In my final two years at Sauce, I took the dive into management, coded less and worked on more organizational and process challenges such as hiring, mobile product strategy and team management as Director of Engineering for Sauce Labs' new-at-the-time Vancouver, Canada office.

event_note2016-2020: Adobe

speed2016-2017Senior Computer Scientist, PhoneGap Team

In November of 2016, I rejoined Adobe with the PhoneGap team! I mostly worked in a supporting role, helping push stability, reliability and speed of delivery of the PhoneGap and Cordova projects.

two_wheeler2017-2019Senior Computer Scientist, Developer Experience

TL;DR: In July 2017, a few co-workers from the PhoneGap team formed Adobe's Developer Experience team. We worked to improve Adobe's developer ecosystem, both externally and internally (at the time of this writing Adobe was composed of over 8,000 engineers).

I was focussed on increasing collaboration across teams, departments and organizations inside the corporation by influencing the environment we work in: by promoting open source and helping nurture open development practices internally by helping evolve Adobe's Open Source Office, influencing the developer experience of Adobe's nascent platform offerings to push adoption forward, tracking tech company involvement in open source as well as redesigning and developing Adobe's new developer portal. We also built various tools and resources to help Adobians be productive in open source: we built a serverless-powered GitHub App, Adobe's CLA Bot, to check that contributors signed Adobe's CLA, evolved an Adobe open source starter repo and put together documentation templates for open source projects in order to formalize their goals, workflow and governance to help attract contributors. These efforts helped double the number of active Adobians on GitHub from 2017 to 2018. Lastly, one of my responsibilities on this team was helping provide feedback on the Adobe Experience Platform's Content Services API and build starter resources for this API like tutorials and code samples.

nature_people2019-2020Community Manager, Magento Community Engineering

TL;DR: In July 2019, I joined the Community Engineering team at Magento - an Adobe company. My responsibilities comprised of project management, training and public relations.
  • Project Management: there are several community projects that made up the Magento ecosystem, not least of which was the core project, magento2, but this also included projects like MSI and Adobe Stock Integration. I coordinated between the corporation and the community to push project evolution forward, ensured release deadlines were met while including the third party development community every step of the way.
  • Training: getting a dedicated team working elbow-to-elbow with and coordinating a massive third party developer community to build software together has its limits. Magento realizes this. As a result, internal teams at Magento were trained on how to work with the community in a transparent way. I was responsible for assembling the curriculum and running the training sessions.
  • Public Relations: I managed social media channels for our team, such as the Community Engineering Twitter account and our YouTube Channel. I also helped with writing posts on the Magento DevBlog.

event_note2020-Current: Freelance Consulting

pie_chartData Analysis and Software Development

TL;DR: In the summer of 2020 I began consulting and offering data analysis and development services to tech companies large and small.
  • I am providing data analysis services to AWS and UnlockOpen.
  • I am developing software for AWS and Copper Inc.