TechCrunch had 2 articles last month on “Secretly terrible engineers.” Reading the articles makes it sound like there’s a serious problem with how we interview software engineers. Personally, I just don’t see it. Software engineers are like every other profession, the people in it range from terrible to amazing, and the which engineer is which is hardly a secret. Likewise, having just gone through the interview process within the past year, I haven’t really encountered the issues Danny Crichton described. Granted, I wouldn’t interview anywhere near Silicon Valley, so my geography could be affecting what I observed, or I could just be absurdly lucky, but somehow I doubt it. Continue reading »
A handful of undocumented changes in Facebook’s Graph API v2.3
Facebook released version 2.3 of their Graph API 1 week ago, on March 25. Earlier this week, after encountering errors claiming I was using a deprecated version of the API (a bug in Facebook that I’m pretty sure is long since fixed), I tried switching to the latest API version to see if that solved the problem. It did, but exposed a couple of things missing from their changelog, because what’s Facebook development without incomplete documentation?
Social networks should be like email
In 1 of my posts about social networks, I harped on the idea of the social network itself being an open platform, with apps running on that platform. What I should have pointed out is that email has been operating as apps on a platform, and they’re a perfect example of what I was talking about. Continue reading »
Pretty much everybody in the developed world (and most of the developing world) interacts with Facebook as an application. Not many people have to actually deal with Facebook from an API level. I’ve spent a few months writing some code that tries to perform a few simple tasks on Facebook, and it’s been rough. Here’s a random collection of things I’ve learned, gotchas, and other points worth noting in the process. As a brief point of reference, most of my interaction with Facebook comes from the server-side code, written in Java, although I’ve played around with Facebook’s JavaScript SDK as well.
This post was originally going to be something marveling at how StackExchange only has 25 servers, but could probably run on 5 as well as wondering why nobody else seems to be able to do that, but the more I thought about that, the less convinced I was in that premise. With all the advances in cloud-provided servers, I’m less and less convinced about the need for people to run their own servers exclusively in a physical datacenter.
1 of the last projects I worked on at my previous job involved aggregating, storing, and querying log data into and from Elasticsearch (yes, I know that Logstash does that – and in reality I should have gone that route). That, along with some lookups on the data outside of the code, gave me a chance to start playing with Elasticsearch. After my brief experience with it, I can tell you there’s a lot of power in Elasticsesarch, but it’s going to take you a surprisingly longer to figure out how to tap it than you would expect. Continue reading »
Why is everyone so down on long-term planning?
I was listening to an old Java Posse episode, when the topic of a 5-year plan came up, only to be immediately be met with disdain and contempt. In fact, nobody took the idea of long-term planning seriously. What I don’t understand is, why? What’s wrong with having a plan beyond the next iteration or 2? Personally, I think with agile development we’ve gotten so used to short development cycles and rapid release and pivots that we’ve completely lost any and all sense of the point of having a long-term plan. The fact is, if you don’t have any type of long-term plan, then your entire business strategy can be summed up as “we’re putting out this fire and hoping for the best.”
Move fast, break things, fix them (preferrably faster), and then blog about them
On August 1, 2014, Facebook went down. It came back after a few hours or less, but it was a visible reminder of their (now-former) motto of “Move fast and break things.” I made a joke about the issue, but I appreciate the philosophy, even if Facebook’s since tried to move away from it. I think it has a lot to do with their new model of “Move fast with stable infrastructure.” In fact, I think moving fast and breaking things is how they got their stable infrastructure. Continue reading »
A while back, my friend Warren answered somebody’s question on Quora about a name for their startup. Another college friend and I saw this and had some fun with it, but it does bring up an important point that needs to be pointed out – not everything you’re doing is some type of magical secret sauce.
Coursera’s introductory Scala course
For the first half of the summer, I took the online Functional Programming Principles in Scala course on Coursera. I should probably point out that I didn’t take the $50 official I’d heard good things about the language, mostly from Dick Wall on Java Posse podcasts, and it seemed like a good way to try functional programming again after a brief, rather unpleasant, introduction to Lisp in college. Overall, my main goals were to a) re-acquaint myself with functional programming and b) get a basic, can-start-on-some-code-now understanding of Scala.