Medium Engineering Growth Rubric - Building
Medium Engineering Growth Rubric - Building
Development of high quality production features and supporting infrastructure. Leveraging empathy for Problem Solving Code Fluency Autonomy
the client to understand problems thoroughly, and experience to design appropriate technical solutions.
Comp Sci Knowledge System Design Resoluteness
Do Hard Things Curiosity Empathy
Tracks
Mobile Web Client Foundations Servers
Develops expertise in native mobile platform Develops expertise in web client technologies, such as Develops expertise in foundational systems, such as Develops expertise in server side engineering, using
engineering, such as iOS or Android HTML, CSS, and JavaScript deployments, pipelines, databases and machine learning technologies such as Go, NodeJS, or Scala
Works effectively within established iOS or Android Works effectively within established web client Works effectively within established structures, following Works effectively within established server side
architectures, following current best practices architectures, following current best practices current best practices frameworks, following current best practices
Examples Examples Examples Examples
Writes thorough
Delivers features requiring Added existing button to a Makes minor modifications Implemented sticky footer Made safe and effective Adds NodeJS endpoints Added IFTTT trigger for
postmortems for service
simple local modifications different iOS surface to existing screens on the post page Ansible changes using layers architecture new bookmark to medium2
1 outages
Hooked up the action to Implemented new ETL
Adds simple actions that Add follow button for Fixes simple design quality Makes simple configuration Adds golang endpoints Added delete audio route to
dismiss a post from a pipelines based on existing
call server endpoints publications on Android issues changes to services using Gotham architecture Buggle
stream ones
Fetched and displayed a Built PaymentHistory Performs backfills safely Makes minor server
Reuses existing Uses CSS appropriately, Resolved out of disk errors Queried a Dynamo LSI
new stream, using existing screen using and effectively, without changes to support client
components appropriately following style guide independently appropriately
stream item styles ResponseScreen causing pages needs
Develops new instances of existing architecture, or minor Develops new instances of existing architecture, or minor Develops new instances of existing architecture, or minor Develops new instances of existing architecture, or minor
improvements to existing architecture improvements to existing architecture improvements to existing architecture improvements to existing architecture
Examples Examples Examples Examples
Defines new useful and Makes sensible Assesses correctness and
Upgraded SDWebImage to Built credit card input Made minor version Upgraded NodeJS from 8.0 Identified need for new
appropriate proto- abstractions based on utility of existing code and
a new major version component upgrades to technologies to 8.1.1 index on Dynamo
2 generated objects template and code patterns avoids blind copy-pasting
Added support for Specs and builds Builds machine learning
Creates simple new Created shared buttons Built custom packages for Generalizes code when Acted as caretaker for
rendering a new type of interactive components jobs within the ML
activities on Android template RPMs appropriate routes protos
stream item independently framework
Upgraded ETL efficiency by Updated Facebook API
Migrates code from old Prototyped a simple new Prototypes simple new Triages service issues Determines data needs
Built modal system improving Dynamo to S3 version and codebase
patterns to new patterns feature quickly features quickly correctly and independently from product requirements
loading dependencies
Designs major new features and demonstrates a Designs major new features and demonstrates a Designs standalone systems of moderate complexity, or Designs standalone systems of moderate complexity, or
nuanced understanding of mobile platform constraints nuanced understanding of browser constraints major new features in existing systems major new features in existing systems
Examples Examples Examples Examples
Implements complex Provides useful design
Designed iOS caching Designed font loading Acts as primary maintainer Designed Ansible Acts as primary maintainer Implemented Google Auth
features with a large feedback and suggests
strategy for offline reading strategy for Medium for existing critical systems configuration management for existing critical systems login to Medium
3 product surface area feasible alternatives
Works effectively with Performs systemic tasks to
Built series reader on Researched utility of Designs moderately Built Medium's realtime Integrates third party Implemented payments
Android reactive significantly minimise
Android service workers for Medium complex systems stats pipeline services effectively integration with Stripe
programming framework bundle size
Adds support for new iOS Informed the team about Designed flexible
Acts a caretaker for all of Designed and implemented Makes major version Writes playbooks for new
features after a major iOS recent best practice framework for writing Built Textshots server
web client code ResponseScreen upgrades to libraries service maintenance
version upgrade changes and deprecations machine learning jobs
Builds complex, reusable architectures that pioneer best Builds complex, reusable architectures that pioneer best Builds complex, reusable architectures that pioneer best Builds complex, reusable architectures that pioneer best
practices and enable engineers to work more effectively practices and enable engineers to work more effectively practices for other engineers, or multi-system services practices for other engineers, or multi-system services
4
Examples Examples Examples Examples
Pioneers architecture Pioneers architecture Designs complex projects
Upgraded CocoaPods to a Designed Medium's post Delivers complex systems Designed Medium's ranked
migration strategies that migrations that reduce that encompass multiple Designed and built BBFD
new major version morpher and delta system that achieve their goals feed architecture
4 reduce programmer burden programmer burden systems and technologies
Designed architecture for Implemented Medium's Demonstrates deep Avoids subtle architectural
Fixes subtle memory Implements complex UI Designed AWS Designed custom domains
fetching and rendering scrolling text over image knowledge of foundational mistakes when considering
management issues transitions that bring delight configuration management architecture
stream items blur systems new systems
Migrated Android Makes architectural Introduces new databases Introduced Kinesis and
Implements interactive Designed and pioneered Makes appropriate buy vs Created Gotham framework
persistance layer to decisions that eliminate and technologies to meet pioneered streaming events
dismissals that bring delight proto-based model storage build choices for creating Go services
reactive programming entire classes of bugs underserved needs pipeline
Is an industry-leading expert in mobile engineering or Is an industry-leading expert in web client or sets Is an industry-leading expert in foundational engineering Is an industry-leading expert in server side engineering
sets strategic mobile direction for an eng team strategic web client direction for an eng team or sets strategic foundational direction for an eng team or sets strategic server side direction for an eng team
Examples Examples Examples Examples
Defines long-term goals Defined and drove Invents new techniques to Designs transformational Invented a novel ML Designs transformational Researched, vetted, and
and ensures active projects complete migration plan to innovate and overcome Invented CSS in JS projects in service of long- technique that advanced projects of significant selected Go as Medium's
5 are in service of them Swift or Kotlin browser constraints term goals the state of the art complexity and scope statically typed language
Designs and builds Implemented Android Identifies and solved Defines the strategic vision Defined and developed Makes decisions that have Defined microservices
Defined and drove
innovative, industry-leading recycler views before systemic problems with for foundational work and Medium's continuous positive, long term, wide architecture and medium2
migration strategy to Lite
UI interactions platform support existed current architecture supporting technologies delivery strategy ranging consequences migration plan
Invents new techniques to Pioneered application-level Defines a long-term vision Invents industry-leading Identifies and solves Defined and implemented
Implemented unidirectional Developed and
responsibly stretch limits of abstractions for multi-app for web client and ensures techniques to solve systemic problems with proprietary IP core to the
data flow to completion implemented HA strategy
the Android platform environment projects are in service of it complex problems current architecture company's success