If you’re a developer, you can’t have failed to spot that Stack Overflow is celebrating its tenth birthday. Similarly, I’m sure I’m not alone in owing a great deal to Stack Overflow in terms of my professional development. I thought about sending an eCard, but decided that a blog post might be a more fitting tribute. In today’s post, I want to share my memories of how transformative Stack Overflow was and the impact it had on me personally.

Memory lane

Ten years feels simultaneously like a very long time ago, and like it was yesterday. In 2008 I was studying at university and paying the bills with web development. They were an exciting time in my life and my memories of it are vivid. Paradoxically though, Stack Overflow is now so much a part of my internet furniture that it’s sometimes hard to remember what it was like in the time before. It’s been such a central and transformative part of my professional life over the past decade that it feels like it’s always been there.

The reverse was true in the beginning, too… If I stretch my memory back, I remember initially struggling to fully comprehend the problem that Stack Overflow was trying to solve. I had first heard about the new site through a post on Jeff Atwood’s blog and was initially ambivalent. The big names (Joel and Jeff were already very well known) meant there was automatically going to be some hype, but I also remember a fair few people openly predicting it would flop / sell out / whatever.

And it’s not like there weren’t places to get answers to your programming questions already. I had taught myself PHP and Javascript development (the 2000’s version of full-stack, I suppose) on a diet of blogs, forums, and email groups. I also remember trading tips on how to get around the paywall on (the rather unfortunately named) Experts Exchange, so that I could view answers to other people’s questions. Thin gruel by today’s standards, but it was what we had.

Against this unpromising backdrop, it’s worth considering the factors that contributed to Stack Overflow’s success. (Because it quickly did become clear that Stack Overflow was making an impact.) Looking back, my take is that it came down to three main things:

Unlike the email lists and forums that preceded it, Stack Overflow didn’t just occupy one niche but cut across all sorts of communities. It acted like a lightning rod and attracted people from all over the web. Although in recent years Stack Overflow has attracted some criticism for being unwelcoming to new users, this definitely wasn’t the atmosphere in the beginning. In the early days, there was a distinct aura of excitement around answered questions – a certain camaraderie that stemmed (I think) from a sense of being on the “winning team”. Stack Overflow was just plain nicer to use than a lot of other sites. It’s easy to overlook this today, but in comparison to what we had then, Stack Overflow was a revelation to use. This was partly due to the design and UX, but to my mind, the more significant contributor was the emphasis on high-quality content.

Today Stack Overflow is among the top-ranked sites on the internet in terms of visitors and ranks highly in Google for just about anything related to software development. The success story is one I’m excited to recount (from my individual perspective at least) because it feels inextricably intertwined with my own story.

What it meant for me

I mentioned above that I was at university in 2008, but what I didn’t say is that my degree wasn’t computer science. Likewise, I mentioned that I was a self-taught web developer, but the bit I missed out is that in 2009 I found myself needing to learn C# development in a bit of a hurry. I came at this from a position of never having used C# (or Java) and with my only experience of development on Windows (which C# almost exclusively was back then) being a little bit of Visual Basic. Without Stack Overflow the years 2009 – 2013 would have been a complete disaster and I’m sure I wouldn’t be a professional C# developer today.

Don’t get me wrong, it was entirely possible to teach oneself programming prior to Stack Overflow. Indeed, I was (sorta, kinda) proficient with VB, PHP and Javascript well before 2008 without any sort of training at all. What Stack Overflow did was to take a lot of the pain out of that self-tuition and allowed the process of exploration to be accelerated.

In fact, as someone who has self-taught two separate stacks, I can confidently say that Stack Overflow changed the game beyond just making it quicker. With hindsight, I credit Stack Overflow with helping me to gain a much deeper, richer understanding of software development that I’d ever managed to piece together from the fleeting interactions that I’d had before.

If I had to pick just one example of this, I think it would have to be Eric Lippert’s answer to my 2010 question on the use of threads. It’s long by SO standards, but well worth it. (Go on – I don’t mind waiting.) I love how Eric blends analogy with example to perfectly answer both the explicit and implicit questions. I love his entertaining and engaging style. And I love that the community responded by bestowing him with upvotes and friendly praise.

My alter alma mater

Can I imagine any other environment where I’d have received such a high-quality and memorable answer to a technical question? The only thing that has come close in my life was university.

Whilst a website can’t ever fully replace a centre of tertiary education, Eric’s answer has all the hallmarks of the best seminars, lectures, and tutorials that I’ve attended. His response imparts knowledge in a memorable way, with a sprinkling of wisdom to make the knowledge as useful as possible.

Of course, universities do have their strengths, but Stack Overflow has a few unique advantages:

No fees: I’m still paying off the student loan I took out to learn neuroscience. I’m not knocking my original degree – I really enjoyed it, even if I don’t use the knowledge on a daily basis – but damn, it was expensive! Immediacy: Got a question? Stick it on Stack Overflow. No need to wait until school starts again, or for the next seminar, or even for the next morning. Got a question at midnight on a Saturday night? Ask it whilst the problem is fresh. Archived by default: At university, I’d always stress about the quality of my notes. On Stack Overflow everything is automatically saved for me to refer back to later on. Oh, and everyone’s “notes” are public, so I can learn from someone else’s question without having to ask it again. Careers: My university’s careers service were lovely, well-meaning people, but they just couldn’t possibly be experts in all the varied fields in which my classmates and I would aspire to end up. In contrast, I landed my last job through a posting on Stack Overflow Jobs.

It isn’t a properly fair comparison and I’ve deliberately neglected a lot of the other aspects of university that had a massive impact on my life. The point stands, however: Stack Overflow did a remarkably good job of educating me in the dark arts of software development. And significantly, it continues to.

Life as an alumnus

Over the years, I’ve found myself leaning on Stack Overflow less and less. I suppose this is in inverse proportion to my increased proficiency and is a strange sort of testament to the pedagogical success of the site. As well as simply knowing more about my craft, I’m also better equipped these days to do my own primary research.

When I do still use Stack Overflow, I’m likely to be doing so in less observable ways. For instance, I regularly find myself using it for my own form of rubber duck debugging (it seems a lot of people do). I also find that many of my new questions have already been asked – Google invariably returns a Stack Overflow if one exists!

Yet whilst my visible activity has been in decline, this decline is bottoming out. The landscape of software development is always changing, so there’s always more to learn. And it’s in my nature to seek out new technologies to play with. I’ve recently found myself learning both Haskell and React Native, so there will no doubt be a steady stream of questions on these subjects over the coming months.

I’d also like to start answering more questions. My enemies here are threefold: confidence, time and speed. I hate answering questions off the cuff and prefer to properly research my responses where possible. Unfortunately, this takes time that I (as the primary carer of a two-year-old) don’t often have and others don’t seem to need. Excuses aside, I really do need to get into answering. Not just to give back to the community either, but because teaching is the best form of learning.

In other words, my Stack Overflow story is far from over. If anything, I’ve only just finished the start.

Happy birthday Stack Overflow!

Stack Overflow helped me move from script-kiddie to the sort of software developer I now enjoy working with. I owe a lot to Stack Overflow and the community it has fostered. So…

Thank you Stack Overflow and happy 10th birthday! Here’s to the next 10.