Looking for Opportunities

Who Am I? ๐Ÿ”—︎

Hi, I'm Mark Erikson, and I'm currently open to new job opportunities.

I'm known for a number of things:

and of course, "That Guy with the Simpsons Avatar" :)

What I'm I Looking For ๐Ÿ”—︎

Role ๐Ÿ”—︎

I'm primarily looking for a full-time Staff/Principal Software Engineer role, where I can be hands-on with:

  • React, Redux, and TypeScript as primary technologies
  • Interesting and unique technical challenges and problem solving across the stack

I have prior Team Lead experience and enjoyed it, but prefer to focus on full-time development work.

Alternately, I am also open to consulting opportunities that leverage my unique expertise around Redux, React, and dev tools, such as:

  • Sponsorships of my Redux maintenance work
  • Advice and help migrating legacy Redux patterns to modern Redux Toolkit
  • Insights into React and Redux performance
  • Implementing and maintaining developer tooling

Company and Environment ๐Ÿ”—︎

I am specifically looking for:

  • Remote, full-time
  • Prefer a reasonably established company, but open to possibilities
    • I strongly value consistency and stability in a work environment
  • Good work/life balance - typical 40hr/wk, flexible schedule, with a consistent pace rather than urgent deadlines

Projects and Team ๐Ÿ”—︎

I've worked on a variety of projects and teams, and work best when:

  • I'm building a customer-facing product, rather than internal infrastructure
  • I'm working to build something meaningful with tangible purpose that has clear value to end users
    • I prefer to avoid working on projects that involve abstract metrics, business processes, or questionable social value
  • I'm part of a smaller team where I have freedom to make technical choices and design solutions based on clear broader business requirements
  • I'm part of a team of peers who can solve problems and get things done
  • I can mentor junior developers and help level-up my team

Open-Source Involvement ๐Ÿ”—︎

I have significant ongoing involvement in the Open Source community, and am looking for positions where that OSS work overlaps with my day job:

  • Corporate support and involvement with OSS (and ideally much of the code is OSS as well)
  • Understanding and support for continuing my work as Redux maintainer alongside day job work
  • Direct or indirect support for my ongoing participation in conferences in the React ecosystem, possibly with a light DevRel aspect to the position

Contact Me ๐Ÿ”—︎

If you have a position that you think would be a good fit for my interests and experience, please get in touch via email!

mark.erikson@gmail.com

Resume ๐Ÿ”—︎

Please see my resume for an overview of my career:

Mark Erikson - Resume.pdf

Experience ๐Ÿ”—︎

While I'm primarily known for my free-time work as an OSS maintainer, I've also been a full-time software engineer since 2008, and had several years of personal project experience before that.

I'm currently a Staff Software Engineer at Replay.io. I'm deeply familiar with developer tool internals, spent much of my career building geospatial visualization tools with a variety of web app technologies, led an internal UI infrastructure team, and led a team building a project metrics dashboard. I've also frequently trained other team members on how to use modern web dev technologies, and written extensive documentation on project tools and architecture.

I particularly enjoy front end web app development with React, Redux, and TypeScript, but over the years I've tackled problems across the entire stack:

  • Modernized Replay's front-end codebase, migrating from 140K LOC of plain JS and legacy React and Redux (from the original Firefox DevTools source), to 100K LOC of modernized Redux Toolkit, React, and TypeScript
  • Implemented Replay's support for React and Redux DevTools inspection, using our time-travel backend API to extract React component tree data and Redux actions from recorded React applications
  • Implemented "Jump to Code", which lets users time-travel-debug React apps by jumping to the React props that handled events
  • Revamped the official React package build pipeline to generate sourcemaps for React production build artifacts
  • Prototyped runtime perf analysis of React renders and Redux dispatches using our time-travel API
  • Implemented backend recording processing logic to extract and cache recording paint data in S3
  • Built a full-stack prototype of "Root Cause Analysis" to diff failing tests, including Postgres tables, GraphQL layer, and UI
  • Led migration of multiple web apps built with GWT, Backbone, and AngularJS 1.x, to modern web stacks using React, Redux, TypeScript, and Next.js
  • Built a full-stack geospatial visualization web app as a sole developer, using GWT, Java, and Cesium.js
  • Built features in a related geospatial tool using Backbone and Python, including constructing a custom Backbone base config using plugins like Marionette, Epoxy, and Ampersand-State, and designing custom integration to drive display of Cesium 3D graphics primitives using Backbone Views and React Components
  • Designed and implemented new capabilities in a C geospatial LOS calculation library to enable 3D calculations based on radio antenna pattern data
  • Optimized ASM-level calculation performance in that C library and used Cython to optimize a related Python radio algorithm calculation service
  • Modified the cesium-terrain-builder C++ project to support writing million-tile datasets to MBTiles format rather than disk folders
  • Implemented a custom Python service to serve web map data stored in MBTiles format
  • Generated web map image and terrain tile datasets from scratch based on publicly available source image/terrain datasets
  • Created custom Webpack configs and set up other JS build tooling from scratch
  • Architected and directed development of a "server push" service that used Crossbar/WAMP and backend data diffing to replace an existing polling-based implementation for real-time data updates, shrinking bandwidth requirements by over 80%
  • Debugged and solved race conditions in complex Python services
  • Rewrote the history of an entire Git repository to eliminate unwanted files, and additionally rewrote the entire history of the JS and Python source code to apply ES6+ syntax and consistent formatting across every single historical commit (thanks to a set of custom Python and JS scripts that optimized the migration runtime by rewriting source files in memory and avoiding disk usage)
  • Configured Jenkins CI build pipelines, updated Ansible deployment scripts, and spent countless hours configuring and using static analysis tools like Fortify

As a team lead, I have:

  • Planned quarterly project roadmaps, and created/prioritized full sprints worth of stories
  • Worked with managers and stakeholders to gather requirements, design features, and juggle prioritizing requested features vs existing tasks
  • Reviewed all team PRs and provided guidance on code standards and implementation approaches
  • Mentored and trained junior developers by answering questions, teaching useful techniques, and providing learning resources
  • Designed systems and technical implementation approaches

What Do Others Say About Me? ๐Ÿ”—︎

I've received frequent compliments from the community about my OSS work and blog/documentation writing.

OSS Support ๐Ÿ”—︎

  • @philip_roberts: "@acemarke is a total saint helping out beginners in the reactiflux discord. You have a very admirable ability to help people who are struggling, and to persist when most would give up"
  • @SuperG4bry: "you are the most patient person I've met in a while. I truly admire the energy you put into educating people about Redux."
  • @kyleshevlin: "Mark is one the smartest, hardest working people I know. The amount of redux questions he has single handedly helped with is astronomical."
  • @nomadtechie: "Mark is the best! So kind. So helpful. So patient. He is also the archivist, librarian and master indexer of all things React and Redux. <3 We are lucky to have you Mark โค๏ธ"
  • @natehiggins: "@acemarke truly is one of the best of us. I tweet him with a random thought Iโ€™m having, a few hours later he tweets me back with a gist illustrating his point. Rarely have I met someone so generous with their time. Thank you Mark."
  • @tannerlinsley: "Mark is a breath of fresh air, right?! He'll forever be at the top of my list for people that I trust to always deliver an objective take on something, regardless of stake or emotion. Keep it up Mark."
  • @Djcarrillo6: "I once tweeted out about something minuscule about Redux & Typescript, and @acemarke responded within minutes of me Tweeting it. His passion and dedication to his craft make is remarkable. True quality"
  • @pcthrowaway: "Acemarke isn't just "a Redux maintainer", he's incredibly active on Reddit, HN, and Discord, helping people understand Redux better, and also, when it doesn't make sense to use it. I can't speak to his code contributions, but in terms of documentation, tutorials, and community engagement, most open source projects would be lucky to have similarly prolific contributors."
  • @ephemjs: "A hero for hire! I struggle to think of anyone I'd rather work with than this kind, passionate, deeply skilled developer. The work he has put into this community, the mountain of knowledge he has and shares and the incredible amount of people he's helped speaks for itself."
  • @benghamine: "If you've ever wondered "Are 10x engineers real, or just a myth?" Hire Mark, and you'll have your answer!"
  • @JessePence5: "He's so insanely helpful too! I've lost count of the amount of Reddit/Twitter threads where he's popped up out of nowhere to clear the air about some issue with Redux or something. His commitment to the community really can't be understated. Definitely an OSS inspiration!"
  • @TejasKumar: "I tell you the truth: @acemarke is one of the best engineers Iโ€™ve ever had the privilege of knowing/working with. His skills are rare and very excellent. Like sometimes you have conversations with people and after you stop for a minute and go โ€œwowโ€. I had that 2-3 times with Mark today. Itโ€™s pretty unbelievable. Heโ€™s busy with a million and a half things to do, but never seems to get overwhelmed. He communicates respectfully, clearly, and kindly every single time and gives undivided and high-quality attention to people. No question is a stupid question. He thinks deeply and educates/shares context beyond surface level stuff that most of us can infer."

Writing ๐Ÿ”—︎

  • @omgwtfmarc: "Mark effectively already has written a couple books on Redux. His blogs posts, documentation, and so on heavily influenced our perspectives. Doubtful heโ€™ll ever get enough credit, but those in the know tip their hats "
  • @swyx: "Itโ€™s obvious but deserves to be said every so often: the @Reactjs and Redux communities are extremely lucky to have @acemarke so actively and meticulously involved. I learn a tremendous amount from his writings and stewardship of both community and code."
  • @giovannibenussi: "@acemarkeโ€™s articles are the kind of quality content that Iโ€™d like to produce: well explained, deep content, and very good writing. Very inspiring and completely recommended Thanks to you! Is good to see quality content so you know itโ€™s possible to do it better and raise the bar"
  • /u/minty901: "This is by far the best, most comprehensive blog post I've seen on this sub; by an author who clearly has a deep and precise understanding of how React and Redux work. Well done!"
  • /u/D3scobridorDos7Mares: "I'm a newbie developer and you must get this all the time, but I will say it anyway: Your tutorial is nothing short of perfect! Going through every step, "developing" the components the same way you did, and refactoring it afterwards, made learning very fun, intuitive and rewarding!"
Author Avatar

Mark Erikson

Collector of interesting links, answerer of questions