Engineering Team at Medium

Medium taps into the brains of the world’s most insightful writers, thinkers, and storytellers to bring you thoughtful perspectives on topics that matter. So whatever your interest, you can always find fresh thinking and unique voices.

Job Openings at Medium

Top Engineering Values

Each team is asked to select, explain, and rank their top 8 values in order of importance.
  • Committed to Personal Growth

    We recognize that roles are not static and aim to help engineers evolve professionally.

    We run internal workshops at Medium ranging between technical classes and brown bags (so that engineers can learn and contribute to different parts of our stack) to leadership training for those who are interested in pursuing a management career path. If employees have interests beyond what we offer in-house, they can take advantage of our education budget to further their career development via online courses, conferences, or books. We also offer guided in-office meditation and yoga classes as well as a fitness reimbursement to support mental and physical growth. We’re serious about personal development, which is why we published our engineering growth framework in full.

  • Team is Diverse

    As a company, we believe that diverse perspectives deepen our understanding of complex issues, and great ideas can change the world when you create a welcoming space.

    Diversity and inclusion are critical parts of this mission. To this end we have a Diversity and Inclusion Committee (composed of a diverse set of individuals from different functions in the company) that’s dedicated to improving the diversity of our team both through hiring and promoting within. Other ongoing projects include: improving the accessibility of Medium, supporting employee resource groups (our Women@Medium ERG was formed last year), and organizing fireside chats with leaders from different backgrounds.


    We also partner with Code2040 for our internship program. Code2040 is a program for Black and Latinx students to find internships at tech companies. We’ve been partnering with them since 2015, and we have hired many of our interns full-time from that program!

  • Actively Practices Inclusion

    We aim to empower all employees to be heard and respected and have several processes that we practice day-to-day to promote an inclusive culture.

    Inclusion starts at the very first interaction: hiring. Our interview process is designed to mitigate bias. We explicitly do not screen for school, previous companies, or open source contributions. As a full-time employee at Medium, you’ll also find that meetings begin with a check-in round, where everyone has an opportunity to share where they are at and what they’re bringing to the meeting with them. Similarly, everyone has the opportunity to add items to the agenda, so that different personality types can contribute to the conversation. Finally, our team events and offsites rotate (previous ones have included cooking, glass-blowing, and trapeze), so that no one feels excluded. We know that not everyone wants to or enjoys drinking, which is why none of our event revolve around it. However, chocolate making, woodworking, and museum visits are in the rotation.

  • Fosters Psychological Safety

    The engineering culture at Medium is very focused on trust and respectful communication.

    Even when things are breaking and not going as planned, the team is committed to remaining calm and problem solving together. We don’t place blame or speak aggressively at each other. We publish posts on our internal version of Medium to address any severe technical issues that arise, solutions, and learnings from those things, and it creates a culture where it is safe to fail, learn, grow, and share that with each other.


    On a more personal level, Medium supports employees’ preferences when it comes to how they identify or choose to present themselves, and protects their privacy if, for instance, they do not want to be externally identified as employees. Medium has done a great job creating an open and supportive environment that allows everyone to be their true selves at work.

  • Continuous Feedback

    We believe in providing feedback in a way that illuminates an employee’s strengths and also identifies opportunities for growth.

    Everyone in the engineering organization participates in 360 feedback twice a year where each person requests feedback from a set of peers, their manager, and anyone that they manage. Before doing so, employees can participate in in-house training sessions designed to teach them how to separate feelings from facts in the workplace, to help remove any emotional bias and ensure feedback is as objective and actionable as possible.


    In addition to our 360s, we also have retrospective meetings weekly on many teams, as well as after the completion of large projects and at the end of each quarter. We take this time to appreciate what went well during the week, project, or quarter, and to discuss what we can improve upon moving forward. These meetings reflect the team as a whole and never place blame on any one individual, and they give us the opportunity to continuously iterate on and improve our processes.

  • Continuous Delivery

    We deploy code to production continuously Monday through Thursday, 9:30 am to 4 pm.

    Once tests pass (which usually takes about 20 minutes total) on an engineer’s approved pull request, it is deployed to our staging environment, where it runs for 45 minutes before getting deployed to production. We currently use Jenkins to run our deployment scripts for the web application and our Android app, and we use CircleCI to deploy our iOS app. Our iOS and Android apps are released a minimum of once a week, and often more often than that.


    We value continuous delivery (and testing our code) because working iteratively gives us the ability to move faster by not bundling too much functionality together at once. It reduces the risk of rolling out many changes, finding an issue, and needing to roll back a lot of work. It is also good for engineers to have the ability to test their changes locally, on staging, and on production quickly, to make decisions for the next iterations. Our ability to ramp code from an admin dashboard also allows us to turn off a feature instantly if there is an issue, without requiring a deploy.


    All of these practices (thorough testing, continuous deployment, and utilization of the ramp dashboard) make the basic practice of deploying code less risky, which allows us to make more interesting and experimental choices in how we problem solve in code.

  • EQ > IQ

    We don’t hire “brilliant assholes.”

    There is no level of technical competence or experience that would matter more than how an employee treats their coworkers and other humans. We include empathy as a core value for which we screen during our hiring process. We have interviews specifically to talk to candidates about past experiences with teams and coworkers, and gauge their ability to empathize with the actions/choices of others, outside of just how the candidate was impacted. We have feedback and leadership trainings that specifically teach us how to approach difficult conversations with empathy, and give people the benefit of the doubt.


    We also conduct user experience studies to see how our users (including contractors using our internal tools) are affected by our product choices and determine how we can iteratively improve upon it. The success of both our product and our team relies on our ability to have empathy for others, which is why we value it so much!

  • Open Communication

    Transparency builds trust, which is critical for us to work together effectively and work as fast as we can towards our common goal.

    We have an internal version of Medium for all employees to write about any topic, whether it’s technical specs, brainstorms for a product, or even personal stories (that are both goofy and serious). It’s a medium for executives to share their decision-making process and allows employees at all levels to suggest ideas and spark conversation.


    We have a company all-hands every friday (“FAM” = Friday Afternoon Meeting) where teams and individuals present what they’ve been working on, events and initiatives, or anything they want to share with the company. There is an “Ask Anyone” Q&A period at the end where anyone from the organization can ask questions of anyone else in the organization. This is a nice way to open up conversation with the entire team, and to hear from leadership and members of different teams about topics that may affect the entire company.


    Finally, we at Medium believe in open communication with our community! We publicly share many of our internal documents, and openly discuss how we operate internally. So, if you’re curious about how engineers get promoted at Medium, or how we conduct technical interviews, free of unconscious bias, it’s no secret. If you have more questions for us, we welcome you to reach out and ask!

Values

  • Committed to Personal Growth
  • Team is Diverse
  • Actively Practices Inclusion
  • Fosters Psychological Safety
  • Continuous Feedback
  • Continuous Delivery
  • EQ > IQ
  • Open Communication

Company Properties

  • B2C

Team Members

  • 7 Designer
  • 35 Engineers
  • 5 Product Manager

Vacation Policy

Unlimited vacation policy.

Tech Stack

Node.js, Go, Scala, AWS, React, GraphQL, iOS (Objective-C & Swift), Android (Java)

Interview Process

Our interview starts with a friendly “get to know you over a cup of coffee” stage. This initial chat will cover highlights in your work experience, your aspirations, and a quick summary on Medium‘s roadmap and the problems we’re solving. If there’s mutual interest and value alignment, you’ll do a one-hour technical interview with a Medium engineer (can be done in-person or remotely via CoderPad). Finally, you’ll come onsite for the final interview panel (~5 hours with an hour break for lunch).