The workplace of the future

I just read a report from Skype (via Mashable) that finds 62% of all surveyed companies already use remote workers, i.e. employees working from home ("WFH") some or all of their time.

While this is presumably a US based survey I guess the situation here in Scandinavia is comparable, and I believe this is a trend that will continue over the next years and decades. In my opinion the trend to work remotely, which became a possibility thanks to technology such as Skype and the Internet in general, goes hand in hand with two other trends in the industry: specialization and loose groups of people working together on a project basis rather than a company basis.

Let me give an example of what I mean by an increase in specialization. When I first studied software development at a business college in Denmark, we were taught Java initially and like many of my “classmates” I chose .NET as a secondary class (back then, this framework was the new kid on the block). Upon graduation I felt I had some rudimentary skills in these major frameworks but nothing really ready for production use. The first job I applied for was at a small but great software company that had plans to switch to .NET, but mostly still worked with older technologies (VB6 and Classic ASP). Two facts amaze me today: how broad the spectrum covered by my classes was, and that I got the job.

Comparing this to today’s software world, I believe the game has already changed tremendously in the 7 years since I graduated. Yesterday, I came across a job ad by a company looking for someone with experience in Pylons and PHP. Now, PHP is a major language of course, but Pylons is only one among many Python web frameworks. The same day, on some other blog, a 20 year-old web developer considered whether he should specialize on WordPress or Drupal development (two content management systems written in PHP). All this might show nothing except that me and my class mates weren’t very ambitious back then, of course, but to me stuff like this becomes a sign of a trend towards more specialization among developers. If I’m right, then these are certainly exciting times, but on the other hand the trend also worries me. While I’d like to drill down into and become an expert on certain technologies, I also enjoy having basic knowledge about a multitude of technologies and thus, many tools to choose from depending on the task at hand. If all you have is a hammer, everything becomes a nail, and this approach sounds futile to solving the many tasks at today’s agile startups. Except of course if…

…the practice of having all (development) jobs in a small company solved by (the same set of) employees also was on the decline, which I believe it is. I’ve never worked for an enterprise so I can’t compare to large workplaces at all, but at all the small companies I’ve worked for development job requirements were - at least to some extent - designed for the skills of the staff. One database exchanged for another because 1-2 people had experience using or administering it, workarounds for not-so-optimum programming languages because other projects already used them and so on This might sound logical, but I’m afraid that if companies continue to follow this pattern they’ll be outsmarted by companies hiring groups of specialists for each individual project, who’ll enjoy a faster time-to-market.

Enough predictions from me for today…