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.
Ever since I started my technology career I have talked to recruiters on and off about job opportunities. If you are somebody new the the industry or have never worked through a recruiter you may not know the advantages or disadvantages. I have been on both sides of the fence to. Being with a company who was working with them to find talent and being the talent. While their role in the world is critical they have both advantages and disadvantages. It’s really hard to tell this until you have worked with them for a while. You start to pick up on the idea that they need you probably more than you need them. This is especially true when the market is good.
At the end of the day the recruiters goal is to get you into the highest paying position possible. The reason for this is one it makes you happy but two it also makes them happy. They get a percentage of your salary in most cases. So the higher you make the higher they make. You are kind of in it together in that respect. Not only are they trying to get you the highest wage possible but they also want to make the process as easy as possible. This way you don’t have to worry about all the boring paper work. Once they get to know you and know what your looking for they do a pretty good job of only sending your opportunities that fit your needs. So you don’t get bothered by every possible opportunity out there. Sometimes you will get an email about a job that you would not be interested in at all but that doesn’t happen to often. The recruiter also makes the interview process very easy. They set it all up all you have to do as show up. They work with the client so you don’t have to. Companies like working with them when talent is short. It’s hard to find programmers these days. At least ones that are able to hit the ground running. So working through a recruiter they can get a lot more heads in the door.
Even though they do a lot of really good things not everything about working with them is great. Since they make their money based on if you accept a position sometimes they work extra hard to make the new position sound great. Even though you went to the location and were not overly impressed. Also they do a great job in some cases of convincing you why your current job isn’t the answer and the one they are recruiting for is. Another drawback is the initial offer you would get. Yes you are both working to make the most but the company doing the hiring is trying to pay you market rate plus pay the recruiter for their services. So they are trying to save as much as possible. They may have a little money in the budget for this purpose but the cost to get an employee is high. So they try to start off as low as possible. That money has to come from somewhere so it’s possible that if it was just you they would give you a little more starting. I have nothing to prove this theory but when thinking about it it does make sense. From an employers standpoint sometimes recruiters just throw resumes at you. They may be a qualified person they may not be. This happens more and more in a hard to find talent market. Since their connections are already employed they have to really work to find resumes to send you. This process can take more time than one would desire. Also the fee that employers have to pay depends on who they hire. If they are hiring a Sr level person that fee is higher than say a Jr level position. So that is also something you have to take into consideration.
Working with recruiters have both advantages and disadvantages. If you work with one or many you will start to see these things over time. It’s not all bad but it’s also not all good. At the end of the day you need to do what is best for you. Wether that be getting a new job or staying where you are at. It starts to look bad if you change jobs every year just because you could get a better raise. At the same time it looks bad if you have never changed jobs. I hope this post will help you see that recruiters need to play both sides of the fence. So even if they try to convince you to do something you still have the power to make the choice. Make sure the fit works for you not just them.