Fil Maj's cartoon avatar

rowingDeveloper / Director

I'm a web, mobile and distributed systems developer with 15 years of experience (some as a director of engineering). My working tenets are open source, web technologies, testing and automation. A theme in my work over the years has been a focus on developer tooling and developer experience.

I started as a web developer and learned various other programming paradigms when mobile exploded in North America in 2008. 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 2013, I joined Sauce Labs and worked on a large scale testing-as-a-service product. I gained experience with networking and systems in order to manage fleets of thousands of VMs, containers, machines and mobile phones running in data centers. Our work enabled millions of developers to test their code at scale. In 2015 I shifted to management and eventually directed an office of 25 people, ensuring multiple engineering teams performed 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 until the summer of 2021 I was consulting and doing freelance data analysis and software development for AWS at Amazon, Begin and others.

In the summer of 2021 I joined Slack as part of their Developer Relations Engineering team as a staff engineer, where I have worked on their developer platform, focussing on developer tooling like Slack's platform CLI, open source application SDKs like Bolt and their next-generation platform Deno SDK.

assessmentProficiencies

I pride myself most on my ability to learn new languages, frameworks, and methodologies quickly.

I am confident in JavaScript/TypeScript, Java, C/C++, Python, sh, Go, and can get by in PHP, Ruby, C# and Hacklang.

I've worked with a variety of technologies and have expertise in JavaScript runtimes, 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), relational and document databases, infrastructure-as-code and mobile development for both Android and iOS. I have architected complex distributed systems written as monoliths and microservices.

Technologies that I have experience with include:

  • node.js, my favourite playground, but I am spending more of my time in deno.
  • Infrastructure-as-a-service offerings like AWS, Azure and Google Cloud. I am a particular fan of the following services:
    • AWS Lambda for chopping up compute workloads into discrete functions working in unison.
    • AWS DynamoDB as a new, different and performant way of persisting and querying data.
  • I am a proponent of the web, so I have deep understanding of DNS, HTTP and browsers; it is my platform of delivery of choice.
  • I have built good developer experiences for SDKs using TypeScript; while I am not a fan per se of TypeScript (JSDoc does the job well enough in most cases!), providing a good developer experience for developer tooling has been a recurring theme and objective throughout my career.
  • Front-end JavaScript frameworks like React, Angular, Framework7, Vue and Svelte.
  • Relational databases using MySQL, MSSQL and Google's BigQuery.
  • Document databases using AWS DynamoDB, CouchDB and ElasticSearch.
  • Configuration management / infrastructure-as-code using Ansible and AWS CloudFormation.
  • Mobile development on Android, along with a good understanding of the Android Open Source Project, all the way down to the kernel, as well as proficiency with using Android's NDK.
  • I have developed native iOS applications.

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

buildWork

event_note2021–Current: Slack

boltStaff Open Source Engineer

In the summer of 2021 I joined the Developer Relations Engineering team at Slack! I work almost exclusively in the open on Slack's GitHub organizations, focussing on developer tooling and developer experience.

Most of my efforts are put into Slack's next-generation automation platform, where I work on a Golang project powering Slack's platform CLI tool, the Bolt suite of application SDKs for node.js, Python and Java, and most recently, a new Slack application framework built for Deno.

event_note2020–2021: Freelance Consulting

pie_chartData Analysis and Development

In the summer of 2020 I began consulting and offering data analysis and development services to tech companies large and small.

event_note2016–2020: Adobe

event_note2013–2016: Sauce Labs

  • business_center2015–2016: Director of Engineering

    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.
  • mobile_friendly2013–2014: Lead Software Engineer

    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 design and maintenance of systems, from hardware up to software, from operational to programming concerns.

event_note2011–2013: Adobe

androidLead Computer Scientist

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, at its peak, over 100000 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_note2008–2011: Nitobi Inc.

keyboardLead Software Developer

After graduating university 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 worked 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 deactivated online mobile application compilation/deployment tool, PhoneGap Build, powered by a Ruby-on-Rails stack.

schoolEducation

event_note2015: UC Berkeley Executive Education

I completed the New Manager Bootcamp at the School of Executive Education at UC Berkeley in California.

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!

beenhereAssociations