I’ve been going around to different teams inside of my company recently and talking about how we’ve gone about the task of selecting different tools and technologies for our projects. I figured that if this many people inside the company were curious, there may be some value in sharing it with you good folks as well. So here, I’ll attempt to cover the principles, strategies, and technologies for both our development process/pipeline and our projects themselves. And as always, I would love to hear your experiences - especially if your experience provides insight that can help us further improve the ways that we do things.
13 Mar 2015
06 Feb 2015
I’ve been trying to get caught up on my backlog of things that I generally like doing but haven’t been finding the time to do recently, and a current project at work has me working in the same technology on which this blog is based - so it gave me a convenient excuse to - yet again - try and revive this blog. We’ll have to see how well I do in keeping up with writing. I find that in the world of tech bloggers, and trainers - but more on that in a later post - people fall uneasily into one of two camps: there’s the folks who work day jobs as practitioners and then keep up with writing out of the pure joy or catharsis that the activity may provide. There are also folks who write because it’s either a part of their job or because it’s a marketing activity to promote their job (e.g. training). I would aspire to be in that first category and while I have nothing against those in the latter category, it’s just not really for me. If I’m going to err on a particular side, you should expect that this blog will go silent while I’m up to my eyeballs in building and learning.
01 Oct 2014
I’ve been kind of quiet in the weeks since leaving Microsoft. It’s been a good quiet - in fact, the best kind of quiet there is. It’s the quiet the results from being completely overwhelmed, engrossed, and excited about the challenge ahead. I’ll describe some of these challenges over the next few weeks in more detail, but one of them is about making large scale architectural and technology shifts. Specifically, my team is out in front, figuring out the best way to design and build lots of interoperating large-scale services that run reliably and cheaply in the public cloud. While we’re certainly open to suggestions regarding our technology choices, at present, we’re envisioning a stack based on Unix design philosophy - and as such, our current stack is Linux (currently CentOS, but really interested in CoreOS) + Docker + NodeJS + MongoDB/Couch/Postgres + a limited number of AWS services like S3.
14 Aug 2014
After 8 amazing years, it’s time for me to move on. I’ll articulate my own rationale for leaving shortly, but it would be disingenuous to not first list some of the many, many ways that I have grown and benefited from my time working at Microsoft.
01 Jul 2014
A Web API or Web application backed by a database of some sort is a pretty typical application architecture regardless of what language or platform we might be looking at. So you can imagine my surprise that I haven’t really ever been able to find a satisfactory answer for how to best accomplish this kind of thing for an Express application that uses MongoDB. Maybe I either don’t know how to search very well, or maybe I just don’t really understand the answers that I’m finding, but the typical kind of answer that I’ve come across in the past reads something like this: