Career

Serious about your software career? Leave your job

I recently resigned my position as senior software engineer and technical lead for a middleware services group at Wells Fargo. The job was great: work from home, great immediate manager, respected among the team members, trusted to explore new technologies when justified, boss stood up for us and got us the tools, training, and working environments we needed, etc, etc. Something still prompted me to move, and it’s not the first time I’ve done so. I’ve opted to resign jobs that had great setups in the past, either as a full-time or consultant, and in this blog I try to articulate why.

I believe to be successful and well-rounded in the technology/software space, you have to change jobs every few years or so. Ultimately, as a software engineer, your job is to solve problems using technology. In most cases, a problem can be solved in many different ways, but not all solutions are created equal. The more problems and solutions you’ve seen and experienced, the more apt you are to solve the problem with a “better” or “elegant” solution. In my opinion, you have to experience how problems are solved in different groups, and different companies using different methods, different approaches, etc etc to really become proficient at problem solving and weigh the benefits and tradeoffs that come with a solution. Otherwise, the traditions and customs of a single company crush your mind from thinking “outside the box” or evaluate how similar problems have been solved in the past by similar companies.

Another part of the equation is ability to learn and your exposure to new technologies. Big companies offer the “this is the way we’ve always done it and we’re not going to change” mentality which is really a career killer for a software engineer. If you’re career goals involve trying to climb the corporate ladder, then by all means embrace the corporate mindset but if you want to stay in the technology space and excel, you will have to seek out opportunities to expose yourself to new technologies and problems..

I feel at this point in my career, I can’t settle for all the comforts of a cushy corporate job. I am still young enough and interested enough in technology to the point that I want to push myself. I want to get out and be exposed to new problems. I crave learning and the challenges of doing so. I honestly feel that if you’re not learning and not solving new problems and not thinking outside of the box you’re going to end up like those technology folks complaining about not having a job because the technology they cling to is slowly going away or drying up. I don’t want to end up complaining about something that I have control over right now. In the end, the technology industry is about problem solving, ability to learn, and pushing yourself to not get comfortable. Maybe I’m cynical in this respect, but the longer you stay at a big company, the more locked-in you get and the more dependent you become on that company (pension, retirement, tenure, job-security, whatever). The longer you stay, the less motivated you get to learn the new technologies that aren’t being used at your company. The longer you stay, you *think* you become critical to their operations, but before you know it the operations themselves are being phased out and your chances of being kept around are becoming slimmer and slimmer. I believe times have changed, and trying to stay at a corporate job in a company for 30 years is a career killer for a software engineer. I want my resume to be my job security, not the number of years I’ve had the corporate mentality beaten into me.

Who knows, though. My wife and I are expecting our first child in the next few weeks, and I know my priorities will shift big time. My focus will be on her and my family. Maybe I’ll do a 180 change of opinion about staying at a big company. But while I’m still motivated, I have to explore other options and opportunities that I know will solve all three of those items mentioned above: exposure to problem solving, learning, and staying hungry. So I continue my journey in the software craft by taking on the role of Principal Consultant at an open-source subscription company, FuseSource, who is the support company behind Apache Camel, ActiveMQ, ServiceMix, CXF, and a few others. I will be helping different companies use these open-source projects, facilitate proper design of their architecture, deliver training, and i’m sure much more. It seems to be a good balance of exposure to new problems, learning opportunities, and working with some of the smartest people in the open-source space which will drive me to stay hungry. Wish me luck!

Reference: Serious about your software career? Leave your job from our JCG partner Christian Posta at the Christian Posta Software blog.

Christian Posta

Christian is a Principal Consultant at FuseSource specializing in developing enterprise software applications with an emphasis on software integration and messaging. His strengths include helping clients build software using industry best practices, Test Driven Design, ActiveMQ, Apache Camel, ServiceMix, Spring Framework, and most importantly, modeling complex domains so that they can be realized in software. He works primarily using Java and its many frameworks, but his favorite programming language is Python. He's in the midst of learning Scala and hopes to contribute to the Apache Apollo project.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

9 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Aditya
Aditya
11 years ago

Great writing with the most valid thoughts! Thanks.

Pankaj
Pankaj
11 years ago

Its a story of every hungry developer/engineer who craves for challenging atmosphere and want to find better way to solve the problem so as to remain motivated. Agree with all your thoughts and I too have the similar views (rather expectations) about my career.

kcool
kcool
11 years ago

Right decision for life time

Dharmesh
Dharmesh
11 years ago

Christian I agree with you opinion about large corporations stunting the growth of its software engineers. If you are starting out in your career than perhaps consulting might be a better way of going about this. Hopping from one company to another as an employee might indicate instability. As a consultant you are brought in to complete a finite set of tasks; after which you are in the right to move on. As a consultant you have a bit more control over the direction your career (and of building/fortifying your skill set). When your priorities change, you can then rethink… Read more »

Alonso
Alonso
11 years ago

indeed Chistian, i agree with your opinion 100%.

Good luck in your next job and congrats for your first child!

Antonio Fornie
Antonio Fornie
11 years ago

I see myself in some of the things you say, and yes, when you have a baby so many things change :D But I fully agree in general and I don’t understand very well why some companies see it as something bad that candidates move from time to time.

Bhavani Shekhawat
Bhavani Shekhawat
10 years ago

Fair enough. I completely agree with you on the fact that a lot of old age companies do not want to change and I think its not the company but those people who have been there for years primarily because they are scared of losing their jobs. Ultimately, the younger generation suffers as well as the organization intrinsically.

Sharath
10 years ago

A very good articke, speaking my mind. Now thats what every fresh grad to think of about their career, not salary, domain and brand name. Ability to solve problems, adaptability to new technologues, abd hunger drven by passion of being a s/ w engineer.

Aravinthkumar SS
Aravinthkumar SS
10 years ago

First of all I wish you Happy Parenting and a very best for your new career. The thoughts you shared are good,acceptable only a person don’t find a new projects or change with in a company. when a person have an option to export new technologies and have a freedom to think out of box, is there a need to look for a change? If a person is in a comfort zone and bored with the technologies in his current work,then there is always an option to switch projects.Most of the companies provide this. Which will help him to see… Read more »

Back to top button