Joel (of Joel on software) posted an interesting article titled ‘The development abstraction layer’ earlier today. The premise is basically that the best software companies expend a lot of their effort insulating their developers from the broader software development process so they can focus on developing software.
What I find interesting is that his description of the other two types of companies (engineering driven and sales driven) strike me as pretty spot on. I worked in the past at a company which I’d describe as engineering driven, and am currently working with one which I greatly fear is going to turn out to be very much as Joel describes a sales driven company.
Unfortunately, there’s not much advice out there about how to develop the sort of abstraction layer Joel describes from inside an engineering team. Of late, a great deal of my time has been spent on system administration, setting up things like subversion repositories. Though I’m reasonably competent at this sort of stuff, I doubt it’s really what I should be doing, which is why I’ve been pushing to outsource things like email hosting etc. as much as possible. In the end, however, I doubt it’s really possible to outsource enough to actually achieve a working development abstraction layer as described.
Anyway, this feels like it will be a useful model to keep in mind as the company I’m working with develops.
Technorati Tags: management, startup, software