so what about the building process in other disciplines--for instance, a multi-story urban office building? From start to finish, this sort of project involves (among others) architects, civil engineers, and carpenters. The task in front of a programmer, at any given time, might look more like architecture (eg, proto-typing), or building a simple rig to performance test pub-sub technology candidates to see which can satisfy the system's throughput requirements. Other times, i'm the plumber or the carpenter.<p>what's more, i don't think those functions map to types of developers (ie, architects => systems programmer; carpenters => front end dev) rather at any given time, a systems programmer could be "architecting" engineering, or plumbing; likewise for a front end dev.<p>(here, i have expressed in my own words, an essay i read maybe five years ago, perhaps by Paul Graham).