Goodbye PubliSite, hello Sitesuma
[the following post is written from the perspective of a career in software development, but the advice and observations apply to plenty of other industries too]
I have been working with the good people of Line Industries for over 5 years. That's a long time by my standards, certainly longer than anywhere else I've worked.
Anton, my old business partner and mentor, once told me that if you're serious about your career you should never stay in the same job longer than 3 years. He imparted these pearls of wisdom many years ago, back when the economy was booming and jobs were plentiful. I don't know if he would still give the same advice today, but it's true to say there are plenty of drawbacks to staying in the same job for so long.
First and foremost, it's very difficult to prevent your skills and work practices from stagnating. Getting stuck in a rut is a danger in any long term role, and the longer you stay at the same job, the greater the risk of settling into a comfortable, stress free way of working, using skills and technologies that are safe and familiar. Everyone likes an easy life, but those comfortable and familiar skills and working practices will one day be outdated and stale, damaging your future career prospects.
Stagnation (of a sort) can also occur in your relationships with colleagues. This can vary depending upon the size the company and the turnover of staff, but it's inevitable that the longer you are in the same job, the less exposure you will have to new workmates. This means less exposure to new ideas, new ways of working, different approaches to problem solving and getting the job done.
Being at the same place for too long also increases the risk of becoming "that legacy guy". As other staff members come and go, you eventually become the only person who still remembers why "System X" was the built the way it was, and before long you are the only developer who can maintain the thing. While your colleagues are working on exciting new greenfield projects and developing new skills, you could be stuck nursing big ol' System X through its twilight years, doing nothing for your future career prospects.
Other downsides of outstaying your welcome include hitting a salary ceiling, looking less ambitious on your CV, and generally falling out of practice when it comes to job hunting. Not many people actively enjoy looking for new work, but there's no doubt that the more often you do it, the better you become. You also tend to cultivate a more extensive network of professional contacts, making the next search that little bit easier.
Having said all that, it's not all doom and gloom! As long as you are willing to remain diligent, forcing yourself out of your comfort zone, keeping on top of the latest technologies and practices, joining online and offline professional communities in lieu of a constantly changing colleague base, staying at the same place can have its benefits.
For one thing, sticking at a job long enough gives you the opportunity (should you take it) of truly knowing the ins and outs of what you're working on. This could be a particular technology, programming language, or business area. You may not end up a jack of all trades, but sometimes it's better to be an expert in one field than a chancer in lots (though choose wisely young Padawan, and review your decision now and then as the job market changes).
Working somewhere for a long time also gives you the opportunity to build rapport with your team mates, and, God forbid, maybe make some good friends too! Let's face it, you probably spend more waking hours with your colleagues than with your friends and family, so if you've found a good bunch, think carefully before throwing that away. Going to work each day with a group of people who you like and respect can be so rewarding; spending your working hours with a bunch of imbecilic nut-bags can be soul destroying (I've done both!).
I wrote earlier of the negative aspects of being "the System X expert". While this is true, there are times where this can work to your advantage. Job security for one. Plus everyone likes to feel like they are valued and important in the workplace, and there are none so valued as the select few members of the team who know how to debug System X when the shit hits the fan! Though be careful - projects rarely thrive if resident experts are intentionally holding back information and expertise to safeguard their own state of importance - earn respect by being a genuine expert, not just by hiding the user manual from your colleagues ;o)
We all know that these days there's no such thing as a job for life. Dedicating the best years of your career to a single employer doesn't guarantee you any greater job security than the graduate who started last year. But I think this advice gets overplayed. There are still plenty of companies which like to promote from within, and take security from balancing hungry new recruits with more seasoned team members and managers who have a sense of company direction and history. Being one of those team members can make you invaluable.
Furthermore, key responsibilities and project ownership also tend to be placed in the hands of trusted long term employees rather than new recruits, so if this is your thing, another good reason for establishing yourself in a long term role.
The final benefit I'll describe is also where I'll get to the point of this ramble! Projects - particularly software projects - often have a long life span. If you're constantly moving around from job to job you become totally focussed on your own career, and might find it difficult to invest emotionally in the projects you're working on. I guess this doesn't really matter so long as you're turning out good work, and are being well rewarded, but there's something so satisfying about seeing a large project through from inception to completion.
During my time at Line Industries I've had the good fortune to be involved in such a project. We released the first ASP.NET version of PubliSite, our Content Management System, back in October 2007. I still remember setting up the initial web project in Visual Studio, creating the first Default.aspx page, checking revision 1 into Subversion :o)
PubliSite now powers the websites of scores of high profile companies, from blue-chip FMCG corporations to publishing houses, mobile telecoms manufacturers to non-profit organisations, furniture suppliers to gold mining conglomerates. Every software developer likes to hope that their creations will be experienced by actual real life users (many software projects get consigned to the digital dustbin before they are completed), so it makes me happy to think of the millions of users who have interacted with PubliSite powered websites (albeit without knowing it!).
This year PubliSite has taken a big step forward. No longer just a CMS for use in individual projects, we have recently re-branded the platform as 'Sitesuma', and at the same time launched a new hosted service available to the public. This is a big experiment, and one which has been a long time in the making. It's still at a very early stage, but I'm excited and optimistic about its potential. To find out more, go take a look at the Sitesuma website, which, in true dog-fooding fashion, is itself built with Sitesuma Pro :o)