Highest Rated Comments


diablosnuevos488 karma

Like most developers, I copy and paste it from other parts of our internal code repository. Unlike some, I usually critically evaluate if the piece of code actually makes sense for what I need it and just pull the parts I need.

This is more common when I'm working on a new technology stack, since I learn best by seeing lots of examples (and most humans and computers do). It doesn't always happen if there is a deadline I've imposed on myself and I just want to SHIP IT. Every situation requires a different optimization.

Oh yeah, and this little site called Stack Overflow. I hear it's great for copying code since it's all under the cc-wiki - with attribution required license. If you actually bother to answer people's questions, you get points too!

diablosnuevos364 karma

TL;DR on wokring at Stack Yes, if a candidate has a really strong Stack Overflow profile, it can definitely increase his or her chances of getting an interview at Stack Overflow. But it’s only one factor out of many.

On our developers using Stack:

The reason Stack Overflow is so great and so helpful is that the community makes it a great place to be (despite the ocassional grumpy programmer). Our developers were also users on the site since day one (naturally), so we’ve always used Stack Overflow to build Stack Overflow which is why Stack Overflow is awesome (this may feel like a tautology, but it makes sense if you think about it for a bit). I think I’ve seen screenshots where Jarrod Dixon or Geoff Douglas asked questions about .NET and C# back when Stack Overflow was still wearing diapers. (Not sure exactly what specifically it was - I would have to dig through a lot of chat history for this)

The point is that by sharing our programming knowledge with others, we avoid wasting time on quirky bugs, tech idiosyncrasies, or simply the lack of documentation and knowledge around new technologies. (Some people are naturally curious about those things, and they use Stack Overflow to explore those interests by answering other people’s questions) We have some interesting stats about how many people the community has helped on Stack Overflow.

To fully answer your working at Stack Overflow question:

A lot of reputation on Stack Overflow is a public artifact, just like an open source project or a great blog; however, it is not a sufficient condition to work here. There are other factors that come into play: 1) Is their application properly written and targeted to our company. 2) How many years of experience does she or he have? 3) Do they have a deep knowledge of certain technologies (as opposed to just a high-level understanding of a language/APIs) 4) Is the candidate passionate about programming? 5) Does the candidate get things done?

Sure, we would hire Jon Skeet if he were interested.

diablosnuevos244 karma

Hmmm.... I have to say I don't have any super impressive stories like you find on the Daily WTF where some source of electromagnetic interference on a wire under a floor causes your printer to fail.

Most of my professional experience has been dealing with buggy and mediocre third-party code (much of it on iOS, a lot of it dealing with ads or some video platform). When mobile was just gaining momentum in 2010, most open source and third party libraries were pretty buggy.

Oftentimes my work involved getting around iOS quirks, usually by some magical incantation of dispatch_asnych() (or performSelector: before GCD).

But, since you wanted a story:

There has been one instance of a bug report where a customer was being redirected, logged out, and sent back to our login page. I spent a considerable amount of time with our sales support team trying to isolate it down to one variable (so: try a different laptop, try internet at home and a work, disable VON, new careers account...) but still haven't found an explanation. I'm still theorizing if someone at her workplace modified something on both her work and personal laptop or if it's some malware.

Or aliens. Probably just aliens.

Tabbbbs all the way My current favorite setup is Sublime + the Kinesis Contoured Keyboard + Sony MDR 7506 while standing and listening to classical music (or whatever I'm optimizing for -- classical for concentration, EDM for getting stuff done)

diablosnuevos236 karma

How efficiently we run our web stack for the amount of traffic we serve — ~148 million requests in 24 hours (and that’s a November of 2013 stat). Once you remove a layer of redundancy (a "backup" copy of every box and router), we only need:

2 SQL servers (SO is on one, everything else on another) 2 Web Servers 1 Redis Server 1 Tag Engine server 1 elasticsearch server 1 Load balancer 1 Network 1 ASA 1 Router

Source: I was aware of most of this, but I took this from Nick Craver's blog.

diablosnuevos156 karma

This is a GREAT question, and something we talk a lot about as employees at Stack Overflow.

TL;DR Life / Work balance (note the order) is generally good, but as you get better, you spend more time doing work that you enjoy.

I have a really, really flexible schedule, but of course your mileage depending on the season (Am I building a new proudct? Am I paying technical debt? Did I just ship a big new feature?). I used to work a steady average of 40 hours a week, but lately I'm working a little longer because I enjoy what I do so much. I also play the guitar and drums, and I've started taking singing lessons with Jim Fredericks.

I'm married and try to spend quite a bit of time with my wife, who also works full-time. We love to cook and do that several nights a week.

I run up the east river a lot. Exercising makes a big difference mentally and physically. This is something most productivity people (say, Tim Ferris) know and preach about, yet most people find really hard to get in the habit of.

I think the longer you do something, you learn to become more effective, productive, and leverage your time correctly. For example, I might work from home in the morning, avoid the morning rush hour of the subway/traffic, get in the office by 10am, answer some e-mails, and then really only start writing code after lunch (so around ~1PM). This works because I eliminate distractions earlier in the day, so I can really focus in the afternoon. It’s mostly about being organized and engineering your day to be effective AND efficient (these are different). All the little things make a big difference in the end, just like in programming.