Why Medium Doesn't Work for Programmers

Medium, like most other social media, does two basic things:

Both of these functions are essential to the core of the platform. Google doesn't care how you produce and publish your content, it just makes it discoverable for people who are looking for it. Tools like Ghost, Gatsby, or CODEDOC don't care how people find your content, they just help you create and publish it.

So to assess how Medium fares as a platform for programming blogs, one simply need to assess how well it performs at each of these two core functionalities for programmers.

linkMedium: The Writing Tool

When launched back in 2012, Medium offered a really convenient and easy way of publishing blog posts on the internet. Its WYSIWYG interface and one-click publishes greatly simplified the process of writing and publishing a blog for many people in many different fields.

Simplification is key here: that is how a platform like Medium democratizes a communication medium and enables many many more potential-creators that might not have considered using that medium otherwise. This simplification sacrifices control and customizability in favor of leveling the playing field, raising the minimum quality of produced content high enough while also capping diversity on that front.

This is what makes these platforms succeed in the beginning: Instagram makes any photo taken with a smart-phone look pretty nice with simplistic filters, Twitter levels the playing field with a character limit, giving people who might lack the patience for writing long well-articulated pieces a chance to be heard, TikTok displays any on-phone recorded video in a pretty nice manner, and Medium gives all writers the very same, simplistic toolset.

This strategy works really well in the general case: it gives everyone's blogs a chance to be seen, as it guarantees a piece would be good-looking and pretty readable on all devices with zero effort on writer's part.

However, this strategy begins to fail when we get to a specific category like blogs about programming. Such blogs do have their own needs, from basic features like syntax highlighting, to features like code highlighting or code hints. Providing enough customization that would enable writers to achieve these features with ease would go against leveling the playing field, on the other hand prioritizing features needed by a particular domain in a generic blog platform would be out of place.

For programmers specifically, the problem is compounded by the fact that Medium is not providing much extra convenience for them in exchange for the control that it takes away. Programmers are specifically those people who were already much more at ease with creating websites and web-content, and now-a-days there are a wide variety of tools at disposal of programmers of all backgrounds helping them setup their personal blogs quickly and painlessly.

Even for hosting, since you can freely host your blog on services such as GitHub Pages, you literally can just use this template and setup your blog in about the same time it would take you to create a Medium account and verify your email.

linkMedium: The Curation Platform

With not much value in Medium as a writing tool for programmers, the burden falls on its second principal functionality: making published content discoverable by those who would be interested. In this capacity, Medium acts as any other social media: it has to curate the huge amount of content constantly generated by creators to be able to show each user the select few pieces they would be actually interested in.

As for all social media, the particular function of curation is the main running cost of the platform: you set the rules and develop an easy-to-use creation tool once, but you need constant number-crunching to be able to keep up with the curation demand. The cost of this process is in fact so high, and on itself is so important, that it has been one of the main drivers of the most prominent emerging fields of computer science: machine learning and data analysis.

With such high cost and importance, these curation mechanisms form the backbone of the financial process constituting the business each platform truly is. Unlike the creation tools, they cannot be subsidized by other revenue sources, and the primary purpose of each such curation mechanism becomes, first and foremost, making up for its own cost (and always growing demand of attention).

This eventually, and often times implicitly, becomes the focus of the team behind it: to mostly improve it in a way that makes it more profitable. That does not necessarily translate to improving it towards its nominal goal of better deliverance and discovery of content though, as more often than not increase in profits are not tied to better delieverance and discovery of content.

If, for example, the company's main source of revenue is ads, then the curation system will improve mostly just to increase ad revenue. This does not mean better quality of delivered content, it simply means you should strive for users spending more time on your service, and clicking on more things during that time (simply to increase chances of clicking on ads). This is why click-baity, enraging material strive on social media in general: this is the actual goal of their curation mechanisms.

To avoid this, Medium has avoided ads as much as possible. However, their revenue model is still not tied directly to the quality of their content delivery: They need you to subscribe, and not be bothered to unsubscribe. Since the main reason for subscribing would be access to articles behind the paywall, the main purpose of Medium's curation system becomes enticing readers to gain access to what is behind the paywall.

The title of each such article is most of what you get from them, so it must be the piece that raises the desire to reach beyond the paywall in you. This translates into eye-catching, similarly click-baity titles, but doesn't necessitate equally worthy content underneath: It is actually more time-consuming to produce quality content, and since once subscribed, people are much less likely to unsubscribe from your service, the bar immediately drops after you pass that initial threshold.

This again, means that despite the good intentions, Medium's curation system also becomes a constant ad for the subscription and the paywall, with strikingly similar results in terms of promoting click-baits and eye-catching titles without quality content to follow.

Worse part is, due to such mechanism, naturally Medium looses all incentive to promote content not behind the paywall. So if you are a programmer who just want to share your knowledge, you would need to put in the extra effort of delivering your content to people who might be interested in it. Medium has given up on curation of your content due to lack of financial incentives, but it doesn't mean the curation can be ignored. You need to do it now.

The effort of finding the proper audience and promoting content for them is so high that it discourages many from writing to begin with. No one's time is free, and with the cost of curation put on shoulders of authors and writers, they would, similar to Medium itself, need to ensure that that cost is somehow made up for. This simply means that articles and blogposts should somehow sell something else as well, which invetiably results in a much higher ratio of lower quality content-marketing material, further exacerbating the issue of content discovery.

linkThe Solution

All of this simply means that Medium cannot sustainably perform its two core functions properly for needs of programming blogs and programmers. Its simplistic writing tools are too restrictive and generic to be suitable for properly discussing topics on programming, its curation mechanism focused on advertising its own subscription system through highlighting eye-catching titles locked beyond its paywall.

As for the writing tools, the solution seems much clearer: we need specific tools for writing about programmings. Generic tools don't cut it. However, this is not a revelation, as we already have moved as a community towards that. This is why we already have many brilliantly designed open-source tools at our disposal for that purpose.

As for the curation system however, the solution is much more complicated. It CAN NOT be yet another blogging platform whose hot headed founders are super anti-ad and cool people, as the issue with Medium never was evil greed of Evan Williams. In fact, the Medium team are still trying their best to not sink as deep as other social media companies brazenly have, by stirring clear of ads and trying out new financial models that might have been the answer, and might yet be for other fields were people's main job can be writing.

The solution instead must focus on the systematic issues that cause even a platform like Medium to fail for programmers. It must be a business model that is directly tied to the quality of the curation mechanism itself, instead of rather indirect solutions.

One such solution, for example, can be tipping mechanisms for articles. With such a model, it would not be enough if your curation mechanism encourages readers to open an article because of its title, as it rather would need to find articles for each reader that they would seriously consider tipping.

Another alternative would be direct pricing of the curation service itself. For example, imagine selling issues of a programming journal with personalized content (or providing them regularly via a subscription method).

This might seem counter-intuitive at first, as it seems to be in the opposite direction that the media industry is moving. However, we are not talking about generic content with mostly entertainment value here. As a programmer in 2020, staying up to date with latest trends, architectural concepts and technologies is essential for remaining relevant in your profession. This is content that directly affects your salary, your promotion, your employment chances, etc.

This effect is not merely a "bonus you could have at work" as well. This knowledge gives you competitive advantage: If you are more knowledgable, you will be more influential than your peers in your team's technical decisions, which would mean those who are not keeping themselves well-informed will start lagging behind. To further confirm this, we even did conduct a survey from more than 500 developers about their willingness to pay for such a service, with about 52% indicating that they would indeed pay for such curated content.


To conclude, Medium does not work for programming content because its simplistic creation tools bar developers from properly reflecting their coding knowledge, and becuase its curation mechanism favors paywall-locked articles that are eye-catchy enough to entice readers to subscribe without necessarily being of high quality.

The solution should be definitely based on creation tools specifically designed for writing about programming. I would put my bet on highly customizable and extensible solutions with high quality out-of-the-box, though this should be a no brainer looking at the landscape amongst open-source projects.

The solution for the curation mechanism might require a more inventive and out-of-the-box approach, as it might involve business processes that seem counter to the general trends of content platforms. However, whatever the final answer to that question is, it is obvious that any revenue stream not directly tied to the quality of the delivered content will merely get us back where we started.


I am part of the team who started coding.blog (which this very article is hosted on), which is a sort-of-alternative for Medium at least for programmers and blogs about programming. However, this article is not about "Hey Medium is bad we've got a better alternative come over here!", but rather a contemplation of essential systematic problems affecting Medium, problems that due to this systematic nature would similarly affect any similar platform.

Hero image by Jesus Kiteque from Unsplash

Hero image by Indivar Kaushik from Unsplash

Medium: The Writing ToolMedium: The Curation PlatformThe SolutionConclusion


On Reactive Programmingchevron_right
Yet Another Frontend Frameworkchevron_right
Other Articleschevron_right