We are surrounded by a deluge of technology in the tech arena. Some developers are good at some things. Some at others. Currently, I work in a place where people are required to be good at a multitude of skillsets. It is very difficult to just be good at say, MySQL and have that talent apply across any project you are on. They way things are going, you have to master different technologies, or rather, the fundamentals that translate across different technologies. Even if I left the agency world tomorrow and went to a more traditional web-based business (is that an oxymoron?) of any reputable size, I am going have to work on or, in the least, be able to conceptualize in a multitude of technologies.
At one point I was convinced that once an agency was large enough, it would begin to divide the developers into areas of specialty. At this point, however, it seems that the industry (and technology) moves so fast that such an attempt would result in having specialists corralled into specialities of dwindling relevance and either unable or unwilling to rearrange responsibilities. Development knowledge has to be fluid and adaptable, and it’s going to be this way for a long time.
So…. what? Organizational integrity is just as important as the ability to adjust (for fuck’s sake, I refuse to use the word pivot. That’s for basketball players, son). Too much change, data and differing responsibilities can drive employees mad and descend the company into chaos.
My current theory is that keeping integrity in a highly fluid organization is more about intangibles than being able to position people on a flow chart. Intangibles meaning the things that make your workers feel human – benefits, good people and good environment. Since humans are, by their own nature, highly adaptable, you encourage that adaptability by removing man-made blockage and restraints. Because you’re going to take care of them, right? Especially if they’re going to give you the elasticity that is required to succeed.