Leaving Stack Exchange

over 12 years ago

For the last 2 years I lived and breathed my job at Stack Exchange, now I am moving on. It has been an awesome ride, I wanted to recap on some of the things I did and perhaps explain why I am moving on.

Data Explorer

One day I checked my mail and got an email from Jeff Atwood saying I am in the “short list of moon people” he would like to hire, “Obviously, this would be working remotely in a distributed fashion”. A few days later I was working directly with Jeff on an open source project called “Data Explorer”. The goal was to provide a place for Stack Exchange users and the Internet at-large to run SQL queries against the various Stack Exchange public data dumps. It lives at http://data.stackexchange.com. I am incredibly proud of my creation (and the various community contributions)

I was hired as a contractor, my work on Data Explorer was a trial. Jeff and I were on a “date”, we wanted to see if this whole thing could work out.

It worked out quite well. Working remotely was perfect for both of us.

A few months later I was anointed Stack Overflow valued associate #00008.

Early work

We have a tradition at Stack Exchange; when you start out at the core team, you can pick a random bug that bothers you and fix it. My first bug was sorting out browser history on the user page, it used to drive me mad that when you clicked the back button after paging through a few answers would reset the paging.

After that, I worked on revamping our badge system to associate reasons with badges, built the tag synonym system, created the tag wiki system, created the answer and question draft system and designed a system for internal analytics. Much of this was initiated by me, much of this was initiated by Jeff.

I also created our database migration system because I tired of running SQL directly against the DBs in true cowboy fashion.

This all happened in the first few months. I was mega productive with very little legacy to maintain.

A few months in

After a few months I really found my groove, I was busy doing lots of performance work, fixing bugs and building cool things. I introduced a few diagnostic tools to monitor server render time and SQL Server performance. I also started working on some top secret algorithms to help us deal with the slew of low quality questions at Stack Overflow, we made some drastic improvements. I also redesigned the Stack Overflow home page with Jeff.

After that I started working on the feature which got us to what Jeff believes is the v1.0 of our engine, suggested edits. This feature allows anonymous and new users to submit edits to any content on our sites. Ever since we deployed this feature we got over 250 thousand edits we would not have seen otherwise.

Throughout this time I learned much about the game mechanics that make Stack Overflow work and found my groove as a performance “expert”.

Dapper

I blogged about the reason we created Dapper our own micro ORM. I created it with Marc to combat some very hairy performance issues we were experiencing. These days we use Dapper for the vast majority of data access on Stack Overflow, with the caveat that some still use LINQ to SQL for write based work. It was and is an enormous success for our use case.

MiniProfiler

MiniProfiler started around around April 2011, while the entire dev team except for Marc and Jeff were at a dev conference. There was an urgent performance issue, Jeff was browsing through the site and noticed a delay. This delay really bothered him. Marc quickly ported a system he built for chat to the main site. This system shoves a comment at the bottom of the page explaining where the time went, in production. I helped improve this design by providing some richer database query information, Jarrod took this from concept to a polished product and did a smashing job. I have taken a very active part in this project recently, adding client timings, promoting it and reviewing/accepting patches. I blogged about MiniProfiler when it was released. I am incredibly proud of my contribution to the project and am delighted to hear it helps people. I am incredibly proud our humble project is on the second page at nuget.org.

A more mature product

In my second year I had a fair amount of features to maintain. Additionally, we accrued a big pile of “performance debt” we had to pay back. I spent a lot of time optimising server performance, a prime example is our tag engine, I talked about here. Further more, I spent a lot of time learning about client performance and deploying many best practices on the site. Improving something that is already extremely optimised due to work Ben put in, is very tricky and the rewards are not huge. Overall, I feel our performance story on Stack Overflow is pretty spectacular.

During this time I also refined the review section on the site, worked on improving the moderation story, improved the bounty system and built the post notice system. Recently tested every external link on our sites.

Working remote

About six months ago Jeff, who lives in California, left. Additionally, Kevin moved to NY. This left only one team member, Geoff on the west coast. Rebecca is the only other core team member slightly closer to my time zone is on CDT. In winter daylight saving time kicks in (and out); time zones move a couple of hours apart. Unfortunately, due to this, I was left with very little business hour overlap with the rest of my team. I love working remote but being 14 hours apart with the majority of the company presents some unique challenges. California is 3 hours closer, offering some business time overlap - even in winter.

Working with incredibly talented people

I feel extremely lucky to have worked with the Stack Exchange core team, everyone is incredibly committed and incredibly talented, I will sorely miss working with them. It is a rare treat to work in such a team.

Not a week passed without me learning something new and interesting from my team members, I thank them dearly for that.

What is next?

I want to be a founder or a mercenary.

I never took the job at Stack Exchange for the money. In fact, I had a small pay cut. I took the job because I was in love with the mission, I knew I could change things and make the Internet a better place. I think I did in my own little way. I love the fact that I am leaving this job with a big pile of public artefacts. This is worth much more than cold cash.

However, I am not getting any younger, I would like to have a large stake in the next project I take. The only way to have a large stake is to be a founder.

Alternatively, in the near future, I am comfortable being a mercenary; look for a few short term contracts that pay really well and use that cash to build something awesome.

I have plenty to keep me busy for the next few months, there is Community Tracker and Media Browser that need love. I would like to finish and publish MiniProfiler for Ruby. On a personal note, I miss working with Ruby.


I would like to thank all the awesome people at Stack Exchange for the amazing ride, I am sure you will continue to make the Internet a better place, keep rocking.

Comments

Russ over 12 years ago
Russ

still going to make it to sydney stackoverflow meetups? :)

Sam Saffron over 12 years ago
Sam Saffron

of course :slight_smile:

Leonardo over 12 years ago
Leonardo

I wish you the best mate. You have done a really inspiring job at Stack Exchange, not only for the company but for the whole community.

On a side note, are assassination contracts in your radaror you prefer to stick with plain old programming? ;)

Sam Saffron over 12 years ago
Sam Saffron

lol, thank you

Tim over 12 years ago
Tim

Best of luck! You've done some really impressive things with your time at Stack Exchange, and I'm sure you'll continue to do so going forward. Just promise to keep making things that make the rest of our lives easier, because I'm a big fan of that.

Eduardo over 12 years ago
Eduardo

Good luck! Thanks for the products you made and the knowledge you share with us. I use MiniProfiler and PetaPoco, much inspired in Dapper, everyday and they made my dev life much easier and happy.

Sam Saffron over 12 years ago
Sam Saffron

Keep in mind, PetaPoco existed prior to Dapper, we have borrowed ideas from each other over the year though.

Glad you enjoy MiniProfiler … thanks!

Mike over 12 years ago
Mike

An impressive biography indeed. Thanks for the hard work and public contributions Sam! Look forward to seeing what you do next.

Shog9 over 12 years ago
Shog9

I blame Tupac for this…

Gonna miss you, Waffles – don't be a stranger on Meta, eh?

Sam Saffron over 12 years ago
Sam Saffron

Hi THAT WAS NOT ME :slight_smile:

Gonna miss you mate! Will not be a stranger.

Jin over 12 years ago
Jin

It was a great pleasure working with you Sam. Stay in touch!

Sam Saffron over 12 years ago
Sam Saffron

Likewise, I don’t think I am ever going to think about bacon in the same way after you.

Your designs are spectacular.

Jcolebrand over 12 years ago
Jcolebrand

Two questions: Are they gonna let you keep the diamond?

Who's gonna blog about all the cool shit?

Sam Saffron over 12 years ago
Sam Saffron

I will not be keeping my diamond, but I do plan to stay in contact and help from time to time, I also will continue blogging I really enjoy sharing my experiences.

Peter over 12 years ago
Peter

Just wanted to let you know: I loved reading all your posts to performance and .NET insights and learned so much. Hope there'll be some more to come.

Bill_The_Lizard over 12 years ago
Bill_The_Lizard

Moderator tools, tag synonyms, quality filters, suggested edits, performance improvements… you've definitely left our little corner of the Web better than you found it. Thank you!

Sam Saffron over 12 years ago
Sam Saffron

Thanks Bill!

Nicholas_Paldino over 12 years ago
Nicholas_Paldino

Hey, we never really interacted much, but I've benefit from all that you've done. Your leaving is completely understandable, and we all have to do what's best for ourselves. You've already done what's best for others in spades, and it's about time karma paid you back. Best wishes and good fortune to you in your future endeavors.

Dmitry over 12 years ago
Dmitry

The only way to have a large stake is to be a founder.

That’s why I’m subscribed to your blog, you are always saying smart things :slight_smile:
Good luck!

Zac over 12 years ago
Zac

Reading the comments above, shows you are loved as a person and a working mate, just as much as you are talented.

Good luck wherever you end up.

See you soon ;)

Alex_E over 12 years ago
Alex_E

Can't wait to hear about your next big thing Sam. Good luck!

Kev over 12 years ago
Kev

Good luck Sam. The amount of cool stuff you've put together over such a short time makes me hang my head in shame. I'd also like to thank you in particular for dapper which has become my core data access widget for MS and MySQL.

Hey, if they don't let you keep your diamond, there's always the next Stack Overflow elections :)

All the best.

Sam Saffron over 12 years ago
Sam Saffron

Thank you Kev, the quality of moderation on the SE network is fantastic, keep up the great work.

Rebecca over 12 years ago
Rebecca

You'll be missed. It's been a privilege to work with you, all the best to you! (:

Sam Saffron over 12 years ago
Sam Saffron

(: (: (: … same here

Manishearth over 12 years ago
Manishearth

All the best for whatever comes next! I'm sure whatever you do will end up making the Internet better in some way :)

If you don't continue to hang around meta, I shall whack you with a waffle iron.

Sam Saffron over 12 years ago
Sam Saffron

no worries, will be there, sorry this comment got detected by akismet as spam, I am seriously considering disabling it on my blog

Jarrod over 12 years ago
Jarrod

I had to read this post while listening to this song – it helped temper the sadness of losing such an amazing coworker.

It's been my sincere pleasure working with you, Thunda, and I wish you the best on your next endeavor.

P.S. git's not a knoife!

Sam Saffron over 12 years ago
Sam Saffron

I already miss working with you and it has only been a few hours!

Jigar over 12 years ago
Jigar

Good luck for your future ride. Data Explorer is really awesome!

Pekka over 12 years ago
Pekka

Oh man! That's really sad news. You'll be missed, and I'll have to find someone else for the #1 position on my “coolest SE employees” list.

Your blog posts are among the very best tech related content I've ever read – I'm sure people would love to see you keep up the tradition if you're in the position to do so in the future.

All the best for all your future ventures. I hope to be able to keep track of them through this blog, SO, Meta, and maybe eventually, the news (the good kind!) :)

Sam Saffron over 12 years ago
Sam Saffron

Thank you Pekka, I am sure we will still catch up on Meta. Promise to keep blogging about all the cool stuff I work on (though I do not promise it will all be .net related)

Mustafa over 12 years ago
Mustafa

Thanks for all of your contributions to the .net community and of course for all of your work on SO. Good luck on everything in the future, looking forward to seeing where your next projects take you.

Thanks again
Mustafa

Gaurav_Pandey over 12 years ago
Gaurav_Pandey

The (web) world is a very small place… We will definitely see you here only. All the very best in your new venture. :)

Studiohack over 12 years ago
Studiohack

Hey Waffles, you may not know me, but I'm a diamond on SU – and I just wanted to say that I'm sad to hear that you're leaving and that SE is losing such a talented and smart dev – we'll miss the innovative stuff you've done! I really enjoyed hearing about and then experiencing the next big project you and the other SE staff/dev team worked on…

Another thing I love about SE devs is that you guys are accessible and always willing to talk to us, the users, the mods, etc… One of the best qualities and we appreciate that…

Wishing you all the best! :)

kind regards – studiohack

Sam Saffron over 12 years ago
Sam Saffron

thanks! will make sure I keep my blog up to date.

Tim_Post over 12 years ago
Tim_Post

I guess all there is to say is thanks .. and go be awesome. Performance really is your groove, I've learned quite a bit through following what you've been doing. It will be extremely interesting to see what you come up with next.

The mercenary route is sensible. If you consider striving out as the founder of something to be your creative peak, you should not be distracted by money (or more precisely, a lack of it).

Sam and Marc are basically the go-to developers for moderators. They frequently make themselves available to us, listen to our needs and improve our tools based on our input and feedback. Ironically, I'll miss you the most for a feature that you managed to get rid of rather than put in, which was that pest we all knew as visible flag weight.

I wish you the best of luck. Don't be a stranger on Meta.

Sam Saffron over 12 years ago
Sam Saffron

Thanks Tim, stay in touch!

Sathya over 12 years ago
Sathya

Hey Sam, Thanks for all your invaluable contributions in making the web a better place. Like you, I live & breath in Stack Exchange, although as a regular use & a Moderator on SU.

Our interactions have been short, but I've always enjoyed listening to you in podcasts, especially in This Developer's Life.

Here's wishing you All The Best Sam.

Cheers.

Sam Saffron over 12 years ago
Sam Saffron

I really hope I did not come through as too much of a cowboy on that podcast, thanks for the best wishes

Anna_Lear over 12 years ago
Anna_Lear

Best of luck in the future, Sam. We haven't worked together long, but I enjoyed meeting you back in April and following all your work on SE.

I'm sure your next project will be totally kickass. :)

Sam Saffron over 12 years ago
Sam Saffron

It better be :slight_smile: thanks Anna

Michael_Pryor over 12 years ago
Michael_Pryor

Thanks for all of your awesomeness. Best wishes in your future adventures!

Sam Saffron over 12 years ago
Sam Saffron

cheers!

Praveen over 12 years ago
Praveen

Congratulations and all the best for your next venture. I arrived here via your interview on thisdeveloperslife. Awesome and inspiring.

Greg over 12 years ago
Greg

Good luck, Sam. Can't tell you how glad I am you guys made dapper and miniprofiler public – not sure what i'd do without them thesedays.

All the best.

Benjol over 12 years ago
Benjol

Just wandered in here from your comment on Shog's blog post and realised that I hadn't seen you around in a while.

Now I know why. I thought I'd signed up to this blog feed, but apparently not.

Thanks to you, I can record that this is (at least) our 47th interaction :)

Sam Saffron over 12 years ago
Sam Saffron

Awesome, thanks Benjol!

Saurabh_Hooda almost 12 years ago
Saurabh_Hooda

So you finally became co-founder with Discourse. Great :) I just had a first look at discourse and it looks great. Congrats.

Kane York about 11 years ago
Kane York

Hey man, you’ve got some encoding problems. ’ and all its friends.

Sam Saffron about 11 years ago
Sam Saffron

It’s fallout from a messy MySQL upgrade at some point, slowly cleaning this up, word of advice, don’t install MySQL 5 years ago on ruby 1.8


comments powered by Discourse