I’m Nick Craver, and you might know me from my previous articles detailing Stack Overflow’s deployment strategies, our hardware infrastructure, and the foundations of our system architecture. However, there’s a crucial aspect I haven’t yet discussed, a question that frequently arises among developers I encounter: how does Stack Overflow make money?
I want to address this question now, not just because it’s a common inquiry, but because at Stack Overflow, we deeply believe in the power of openness and honesty with our community. This commitment to transparency extends even to traditionally sensitive areas like finances. It’s this very principle that drove us to create initiatives like the Stack Overflow Salary Calculator, aimed at bringing clarity to salary discussions.
The Philosophy Behind Our Revenue Generation
To give you a bit of context, I’m the architecture lead at Stack Overflow, and I’m writing this shortly after our annual company-wide meetup. This meetup is a fantastic opportunity, especially for those of us who work remotely, to connect face-to-face with colleagues, many of whom I’ve only interacted with online before. It’s a time for brainstorming, sharing ideas, and strengthening our collective purpose.
Group photo of Stack Overflow employees at the 2016 company meetup, highlighting teamwork and collaboration
These meetups serve as a powerful reminder of why we dedicate ourselves to Stack Overflow and how much more we achieve when we collaborate. As I approach my sixth year contributing to what I genuinely believe is the most valuable resource for developers globally, my passion for continuous improvement remains strong. But I’m acutely aware that I’m not alone in this endeavor. I’m incredibly fortunate to collaborate with some of the most talented individuals in development, system administration, design, management, marketing, sales, and all the supporting roles that make this ecosystem thrive. It’s not just me; we build Stack Overflow, together.
Another group photo from the Stack Overflow 2016 meetup, emphasizing the diverse team and company culture
Last week, I engaged in countless conversations with many of these colleagues, some for the very first time, discussing our company’s growth trajectory. More importantly, we focused on how to achieve this growth while maintaining a sense of integrity and ethical conduct. I hold high standards for our company’s behavior, and I sincerely hope that this commitment is reflected in your perception of Stack Overflow. Protecting the interests and trust of our users is paramount. Anyone within the company will attest to this. I firmly believe that the trust we’ve built with the community is hard-earned and irreplaceable. I am committed to working for a company that not only acknowledges but actively respects this trust, and I am proud to say that Stack Overflow embodies this principle.
A third photo from the Stack Overflow 2016 meetup, capturing a team discussion and collaborative environment
While this user-centric philosophy is deeply ingrained throughout the company, we’ve historically encountered questions about balancing user respect with the need to generate revenue. Some perceive making money as a secondary concern, perhaps solely for investors or to simply keep the site operational. We aim to dispel this notion. Sustainability through revenue is indeed necessary, but our core mission is, and always will be, to empower and assist our users. Our existence is predicated on the community’s choice to support us. Therefore, we’ve designed our monetization strategy to be a virtuous cycle, continuously enhancing the community rather than treating our users as a resource to be extracted. The amount of money we make is a direct indicator of the value we provide to our users. By prioritizing user assistance and empowerment, we naturally foster a successful business. Very few companies have managed to achieve this balance effectively, and we are immensely proud to be among them.
Unpacking Stack Overflow’s Revenue Streams: How We Make Money
So, how exactly does Stack Overflow generate revenue while upholding its commitment to the developer community? Our approach is multifaceted, primarily focusing on services that mutually benefit both developers and the companies seeking their expertise. Our main revenue streams are strategically aligned with our mission to serve the tech community:
1. Stack Overflow Talent & Jobs: Connecting Developers with Opportunities
One key way we make money is by facilitating connections between companies and skilled technical professionals through our business offerings, specifically Display Ads and Talent. These services are designed to help companies enhance their employer brand and effectively source tech talent. Crucially, they also empower developers to discover better career opportunities and learn about companies in a respectful and user-friendly manner – avoiding intrusive spam or disruptive advertising methods. We prioritize the developer experience in every aspect of our operations, which is what sets our business solutions apart.
Think of it as an extension of our core Q&A platform. Companies are essentially asking for developers, and we provide the platform for experts – developers seeking new roles – to answer that call. For this ecosystem to thrive, we need active participation from both sides: companies seeking talent and developers exploring opportunities. The larger and more engaged both groups are, the more efficient and effective we become at matching developers with their ideal jobs and companies with their perfect candidates.
For businesses, our goal isn’t to inundate them with hundreds of barely qualified applicants. Instead, we aim to deliver a curated selection of candidates who are exceptionally well-suited for their specific needs. This targeted approach is where we deliver significant value, streamlining the hiring process and optimizing outcomes for both employers and job seekers. We are committed to improving the efficiency of the entire tech hiring landscape, eliminating wasted time for both sides.
Screenshot of Stack Overflow Jobs page, showcasing job listings and developer-focused features
Our unique position allows us to simultaneously serve the needs of both companies and developers. This isn’t just marketing rhetoric; it’s a core belief. We strive to be the best at connecting talent with opportunity, and we’re already facilitating thousands of successful placements. However, countless job openings are still waiting for the right individuals.
One significant step in enhancing this matching process is our Developer Story. I was personally involved in developing this feature because I believe it’s a superior alternative to traditional resumes and CVs. Developer Story allows developers to showcase their skills, experiences, and contributions in a more engaging and dynamic way, fostering a more approachable and maintainable professional profile. And yes, it also serves as a powerful tool for job searching. If you are actively seeking a new role, or even just curious about opportunities, a more complete Developer Story significantly increases your chances of being matched with relevant and exciting positions.
Comparison image highlighting the Developer Story profile versus traditional resumes, emphasizing the modern and comprehensive nature of Developer Story
Even if you are not currently interested in job searching, that’s perfectly fine. While we are passionate about connecting you with your ideal company, we built both Jobs and Developer Story to support our overarching mission of serving all developers, including those who aren’t actively seeking new employment. We are committed to transforming how companies interact with developers, not only through the standards embedded within Jobs (like our strict no-spam policy) but also through our Developer Hiring Blog, specifically created to promote best practices in employer and recruiter conduct. With Developer Story, we aim to challenge the outdated notion that a developer’s worth is solely defined by their most recent job title or employer. Developers are creators with rich narratives to share, whether through code, blog posts, team collaborations, or even their ongoing learning journeys. These products weren’t launched solely for financial gain; they were conceived to drive a fundamental shift in the tech industry’s approach to talent and opportunity.
2. Stack Overflow Advertising: Relevant Ads that Respect the User
As a major online platform, advertising is another significant component of how we make money and sustain our operations through our ads solution. However, our approach to advertising is far from typical. We are not interested in simply displaying any ad; our goal is to present you with content that is genuinely relevant and valuable. We strive to deliver ads that are as closely aligned with your interests and needs as humanly possible. And when we fall short of perfect relevance, we leverage intelligent systems to present ads that are still highly likely to be of interest to you based on your developer profile and activity on the site.
We have a dedicated and talented team continuously working to refine our advertising algorithms and ensure ad relevance. Our overarching objective is to deeply understand the developer community, enabling us to serve you better in all aspects, including advertising. (And regarding ad blockers? We acknowledge their existence, but they don’t significantly impact our strategy, and here’s why we don’t worry about them.)
Our current focus in advertising isn’t on increasing ad volume, but on enhancing the quality and relevance of the ads we already display. We are constantly incorporating more sophisticated techniques to understand your technology preferences as a developer, allowing us to deliver increasingly targeted and useful ads. We are also investing in improving ad loading speed, recognizing that performance is crucial to user experience.
Importantly, we consciously prioritize ad quality over quantity. Did you know that we have a substantial amount of unsold ad inventory on Stack Overflow each month? Every time we display a “house ad” (promoting another site within our network) or a “community ad” (selected through community voting), we are choosing not to display a paid advertisement. We make this deliberate choice because we believe that if we don’t have a genuinely relevant and high-quality ad to show you, we shouldn’t show anything at all. We have actively resisted adopting fully automated ad selection systems because they don’t provide the level of control necessary to maintain our desired quality standards. We have intentionally forgone potential revenue to uphold our commitment to user experience. Compromising quality is simply not an option for Stack Overflow.
It’s noteworthy that this rejection of potentially lucrative but lower-quality ads is driven by our own ad sales team – the very people responsible for generating revenue through advertising. They prioritize the user experience and the community’s perception of Stack Overflow above maximizing short-term profits. This dedication to our values, even when it means forgoing revenue, is incredibly rare and a testament to the culture at Stack Overflow. Our Talent sales team operates with the same user-centric philosophy. Everyone here is invested in something larger than themselves, and this shared purpose is what makes Stack Overflow such a rewarding place to work.
We are aware of some instances of slow-loading ads (and appreciate the reports from our Meta users!). We are actively investigating these cases, working with advertisers to resolve performance issues. This is a complex challenge involving multiple parties, but we are committed to addressing it. We are also implementing enhanced monitoring to proactively identify and resolve ad performance problems in the future. We firmly believe that slow or resource-intensive ads detract from the user experience. Performance is a core feature, and every element on the page matters to us. I am collaborating with our ad sales team to ensure that, starting in January 2017, all advertisements will be fully HTTPS compatible. While most are already compliant, we are moving to enforce this across the board to enhance security and performance. We are also in the process of migrating all Imgur images to HTTPS and enforcing HTTPS for all site logos and icons, as part of our ongoing commitment to site-wide security and performance improvements – a significant project in itself, deserving of a separate, lengthy post.
3. Stack Overflow Enterprise: Extending Our Platform to Organizations
A growing area of focus for us to make money and expand our impact is Stack Overflow Enterprise. This offering is gaining momentum and presents another avenue for us to support developers – this time, within the confines of their company firewalls – while simultaneously benefiting our company’s growth. We have dedicated team members focused on developing and enhancing Enterprise.
Enterprise environments have unique requirements, and we are committed to tailoring our platform to meet these specific needs. However, it’s important to note that Stack Overflow Enterprise is built on the same core codebase as public Stack Overflow. It’s the same git branch, ensuring consistency and leveraging the robust foundation of our public platform. In fact, features developed for Enterprise often find their way back to benefit the public Stack Overflow community. For example, we are exploring building a simple image proxy for HTTPS compatibility, which would be valuable both as an internal image host within Enterprise and potentially for public Stack Overflow as well. The client-side performance metrics we collect, mentioned earlier in the context of ads, are also informing our bandwidth planning for Enterprise deployments. We see our entire platform – public and enterprise – as a unified ecosystem, with innovations in one area often benefiting the other.
The Foundation of Trust: Our Most Valuable Asset
Generating revenue at Stack Overflow’s scale necessitates effective marketing. However, two years ago, I confess I had reservations about our nascent marketing team. Why? Because it was new, and I hadn’t yet had the opportunity to understand their approach. My past experiences with marketing had often been negative, leading to a somewhat cynical default assumption: “all marketers are inherently inclined to prioritize quick gains over user trust.”
Thankfully, I was wrong. That assumption simply doesn’t hold true at Stack Overflow. I needed to collaborate with our marketing team on several projects to overcome my initial prejudice and realize a fundamental truth: we had hired exceptionally talented marketers who genuinely shared our core values. In particular, I want to acknowledge Kaitlin and her team. Our new marketing team has demonstrated remarkable patience and resilience in the face of initial skepticism. They effectively articulated the rationale behind their initiatives and convinced even the most analytical minds within our company of their value.
Across all teams at Stack Overflow, there is a shared understanding that the Stack Overflow community and the trust we’ve cultivated are our most precious assets. Our communication strategy is built around fostering connection, not alienation, and engaging only with users whom we genuinely believe we can assist. Yes, if we execute our strategies effectively, these efforts will also contribute to our company’s growth. And we see this as a positive outcome. Company growth enables us to invest in building even more valuable resources and features for the global developer community. I have countless ideas I’m eager to bring to life for you. Ask me sometime about my vision for deploying Stack Overflow on 2U servers in Europe, Asia, and South America to literally beat the speed of light and enhance performance globally!
I was particularly impressed by a presentation from Adrianna, our relatively new CMO. I hadn’t met her before her presentation at the company meetup, but it was an incredibly impactful introduction. Her vision for a unified brand strategy was compelling and insightful, prompting me to wonder, “Why haven’t we implemented this approach years ago?”
Photo of Stack Overflow Engineering, Sales, and Marketing teams, highlighting cross-functional collaboration
Marketing, much like software development, is fundamentally about connecting the dots – understanding user needs and effectively communicating solutions. My initial apprehension about interacting with “the marketers” has transformed into genuine anticipation. We have assembled a team of intelligent, well-intentioned professionals who are genuinely committed to benefiting all stakeholders – users and the company alike. I am genuinely excited about the future and the collaborative potential within Stack Overflow.
Building Trust Through Action: The Email System Case Study
This emphasis on trust and shared values, particularly in how we make money, directly influences the development of our internal tools and user-facing features. A recent example that vividly illustrates the centrality of trust in our product development is our new email communication system.
The Architecture team I lead (or perhaps “pair” is a more accurate description, as it’s primarily me and Samo Prelog – “team” might be overstating our numbers; maybe “miniature Justice League” is more fitting?) recently developed a new email system to ensure consistent and user-friendly communication. Why is this relevant to a discussion about trust and revenue? Because my initial stance was vehemently against building such a system. I was deeply concerned about contributing to email overload and potentially spamming our users. However, I became convinced that if we built it “the right way,” prioritizing user control and respecting their preferences, it could be a valuable tool.
And what was the very first feature we prioritized in this new email system? Opt-outs. Unsubscribe functionality was the absolute first element we developed. It was non-negotiable and our top priority. One-click unsubscribe links and a dedicated landing page for managing all email preferences were essential from the outset. As a developer who deleted his LinkedIn account years ago due to excessive spam, I deeply understand the frustration of unwanted email. If you no longer wish to hear from us, that’s perfectly acceptable. We apologize if we’ve inadvertently bothered you and appreciate your understanding.
One of my biggest concerns is ever being perceived as annoying or intrusive to our community. This worry genuinely keeps me up at night. We are currently sending an email to announce Developer Story to a wider audience, hoping to provide value to a segment of developers. But our commitment to user control is paramount. If our email is rejected or marked as spam, we will immediately unsubscribe you. If you consistently ignore our emails, we will also proactively unsubscribe you. We strive to be responsible digital citizens. Every non-transactional email sent through this new system includes three prominent links at the bottom: a one-click unsubscribe, a direct link to manage all email categories, and a feedback link.
One of the key reasons we invested the extra effort to build this system from the ground up was to ensure that user opt-out preferences are preserved, even if we change email service providers in the future (we are currently using SendGrid, and it’s working well so far!). We didn’t want to risk inadvertently re-subscribing users who had explicitly indicated their disinterest. While we currently only have one primary email category (“New Features”), we plan to expand this categorization to encompass existing communications like community newsletters (which are already opt-in). Our goal is to consolidate all email communication from Stack Overflow into this new system, providing a single, user-friendly interface for managing all preferences, including a reliable one-click unsubscribe.
Our current email preferences page is, frankly, a mess. It’s a legacy artifact of our growth from a single site to a network, and it desperately needs improvement. Our design team, led by Donna, is working diligently to simplify this user experience. This simplification requires significant backend changes to support the unification of email preferences. Our vision is to have a single email address per user and a centralized location to manage all email communication from Stack Overflow. If our communication ever becomes bothersome, we want it to take no more than one or two clicks to unsubscribe from everything. Every interaction must reflect our respect for your time and preferences. If it doesn’t, we have failed you and ourselves. Our mission is to improve life for developers, and this principle guides every decision we make. When I experience sleepless nights, it’s often due to concerns about upholding this commitment to our community. We have to earn and deserve your trust, every single day. If we introduce new email categories in the future (beyond simply categorizing existing communications), existing users will not be automatically opted-in. Only new users will receive default email subscriptions. We are firmly committed to not being “that site” that bombards users with unwanted emails. This commitment is even reflected in our database schema design.
If you received our Developer Story email and it’s not relevant to you, that’s perfectly fine. I hope Stack Overflow continues to serve you in other ways, and I appreciate your time and engagement with our platform. We are constantly striving to enhance other aspects of Stack Overflow, such as Documentation and ongoing improvements to our core Q&A functionality, all with the goal of making your life as a developer easier and more productive. That is truly why we are here. It’s why I am here.
Looking Ahead: Innovating for the Future
My mind is currently buzzing with ideas and potential projects. I’m eager to explore implementing a time-series database within SQL Server using Clustered Columnstore indexes. I want to test a novel concept we brainstormed late one night to improve developer news consumption. I’m close to finalizing several data connections to streamline workflows for our internal teams. The list of things I want to build and improve is extensive and constantly growing.
I’m genuinely excited about the future of Documentation, the continued evolution of Developer Stories, and the myriad of opportunities to enhance Stack Overflow for our community. My ultimate goal is to ensure the financial sustainability of Stack Overflow so we can dedicate our energy and resources to building the innovative and valuable tools that our community desires and needs. I am confident that we can achieve this, and in a way that benefits everyone involved – our users, our company, and the broader tech ecosystem. I hope you share this optimism. I hope this somewhat rambling explanation has provided you with a clearer understanding of Stack Overflow’s inner workings, at least from my perspective. If you disagree with any aspect of our approach or have suggestions for improvement, I sincerely encourage you to share your thoughts in the comments. Your feedback is invaluable in helping us continuously learn and improve. Thank you for taking the time to listen.