I was reading this blog post today and it said switching jobs often is a bad idea and will lead to a burnout. I really disagree with that statement. Over the winter break I read The Passionate Programmer and some really good points where made on this exact subject. I think it’s easy to think if I stay at one job and work my way up I will be in a better place. It makes sense because you will learn the business inside and out during that timeframe.
I was in the same mindset until I read that book. One of the points that was made that after some time wether it be three years of five years you become a liability to your company. If all you do is work with the same set of developers the ideas that are passed around are usually very similar ideas. It’s very hard for the human to change a routine after they get comfortable. I have lived through real world examples of this. I came from one job thinking I was using the latest and greatest technique’s but soon discovered I had a lot to learn. The point is if you want to be the greatest asset then you need to pick up the skills from all the jobs you have worked at. If you sit at one job your entire career you wont have all those experiences.
Another point in the post was moving up the chain developer to manager to director. I’ve been developing for over five years now and that’s never been the case in my experience. Most companies will either have that already in place or hire an outside person if somebody does leave. Positions or titles are not added just because you are ready to move on. Again if you come in with experience from many companies maybe some big name ones to you are a greater asset. Instead of having to work up the ladder you start at a higher level. It should not take your four to six years to learn what you have to do for your job. This isn’t school you should already have knowledge of how to do your job you really just need to learn the business rules behind it all.
Here is my favorite one you have to start from scratch. I don’t believe this to be true at all. Sure you need to rebuild your profile internally with the company but you start at some level. I don’t know of any developer who leaves their current position to start up at a lower position. Most of the time you are hired either at the level you were at or a higher level. So you are really starting with all of your personal knowledge. So you never start from scratch unless it’s truly your first job ever.
Sorry but if your a good developer your code will prove itself. Along with your knowledge. Every company I have been part of when a new person started you could easily tell if they had what it took to perform at their job. They didn’t have to prove anything that’s what the interview is for right? Also these days a lot of developers have an open source profile so if you want proof at what they can do look there. Otherwise ask for their background usually that’s enough to prove wether they are good or bad.
To sum it up I really feel that this block in the blog is wrong. I feel that switching jobs every three years is a good idea to keep your skills sharpened. I also feel doing so doesn’t lead to a burnout but makes your pumped again to start your next adventure. This way of thinking seems like the traditional thought process not what is happening in today’s market.