When to quit?
The team has changed drastically since I started interning there. In the beginning, we did all of our development in-house with ~5 engineers + myself. I was able to get help anytime I needed it, but now 99.9% of the development is done off-shore.
I'm now the ONLY in-house developer with NO understanding of the current applications we're working on. Not only that, but we've switched technologies from Rails to Spring. I'm really good at Rails/Ruby and can work on those types of applications without much help at all. When it comes to the new stuff, I take in a deep breath and then think to myself run away as fast as possible.
The new code has almost no comments. The new code almost ALL needs to be refactored -- and this is landing on my shoulders.
My question to the community is this... when should I quit? I want to leave ASAP but I have no other job offer on the table. Every day I come to work and ask myself "why the hell am I here?" because they don't need me. If I dropped off the project, nothing would really change because I haven't contributed anything to the project and I'm having a lot of difficulties learning from the devs -- especially when I can't even learn from the code base.
I started this job ~3 months ago, so would it be legit to just remove it from my resume and spend my time finding a new job?
Help!
[+] [-] brucehart|11 years ago|reply
Learn everything you can about Java/Spring even if you never intend to write another line of Java in your career. It's always helpful to be familiar with other languages. Be polite to your employer and (when you have a new job lined up) just say you are moving on to an opportunity that is better aligned with your goals.
I once worked on a project that required refactoring classic ASP code written by a company in India. The code was a rat's nest. The site had hundreds of pages and most of them had three or four copies of the code commented out (this was their "version control system"). At the time I hated it, but looking back I learned a lot about what not to do and how to be a better programmer. I used the opportunity to create automated tools to clean up the code and experiment with new technologies.
[+] [-] JSeymourATL|11 years ago|reply
As the ONLY in-house developer-- can you help your employer? That is to say, can you manage-up and make the necessary changes? Can you learn the new technologies? If you could make those changes, how might that impact the attitude toward your work? How might overcoming these challenges help you grow professionally?
It's easy to run and find a new job. It's much harder to stay and fix things. But that's how great careers are made.
[+] [-] djmill|11 years ago|reply
I'm also afraid that the offshore team won't learn to write code correctly the first time and that I'll become the "refactoring guy" -- which is a horrible way to develop software.
For a first job, I shouldn't be telling devs who've been in the industry for more years than I have, that they're doing it wrong. I should be the one being told I'm doing it wrong. I should be the one copying and pasting code, but I know better than that to do it right the first time.
Aside from switching technologies, it's more about how we get things done. Java and Spring aren't the problems, it's more of everything else that's the problem.
[+] [-] jtchang|11 years ago|reply
Put it this way. You've spent 2 years 3mos at this company. You're a free agent and now is the time to focus on other career opportunities. Your boss won't fault you. When people ask what you're gonna do just say you are evaluating your options. If they ask why you are leaving just be very straight forward.
Be prepared for a counter offer if you are critical to the team.
[+] [-] tptacek|11 years ago|reply
[+] [-] hashtree|11 years ago|reply
I've been there myself, and it is hard to go against the herd telling you to play safe and stay for the security/money. Life is short, make yours worth while and take risks on yourself. Jobs, money, and titles are fungible for those who are truly great practitioners of their craft. This might sound like anti-advice, but a great way to ensure you have all the job prospects in the world going into the future is truly falling in love with practicing your craft and be uncompromising for things that get in your way of that.
One thing I would mention before you fully depart is to go for a "longshot" pitch to your superior(s). Put together a plan for how the department could be put back on track and show you can help reach that vision. Find out why the Rail to Springs change was made, why outsourcing is being preferred, what the department's goals are, your thoughts on moving forward, and how you can lead such a change, etc. Worst case, you know for sure this isn't the right fit. Best case, you get a promotion to lead and bring the change the department needs. If you have plans to be more than an employee someday, you might also enjoy finding out how the series of events lead to a poor outcome came about. Something to take insight of, if you ever venture off on your own (plus, it is interesting to know how the world "works").
I wish you the best in life and career!
[+] [-] djmill|11 years ago|reply
And as for the management part... it's a lost hope to be honest. I think one of the reasons they switched from Rails to Spring was finding the right Rails developers was difficult. The company doesn't pay competitively, so that was a big hit on offers to Rails devs. Additionally, it was harder to find Rails devs.
The funny part is... we got this offshore vendor for Java Spring and none of them knew Spring. So we would've been better sticking to Rails and had them learn Ruby from the get-go.
[+] [-] djmill|11 years ago|reply
[+] [-] trcollinson|11 years ago|reply
1) There is no perfect language and all of them can do amazing things with the right person (me! and heck you too!) behind them.
2) Sometimes I will be less effective when I am starting in a new or changing environment but half the fun is finding where I can lead and make great changes for the users.
3) Offshoring will exacerbate issues these issues but my ability to make substantial impacts increases exponentially with the amount of offshoring that is going on within an organization. I capitalize on this.
Obviously, if you are just tired of being there and don't want to stay, then leave. Though I would suggest like either that you find a job before you quit your current position. However, if the whole code base needs a good refactoring, by all means, make an impact! Start in a small piece and make a difference. Start to lead.
[+] [-] Smushman|11 years ago|reply
BTW I am in the exact same position right now myself. I did not follow what I am going to suggest to you next. But I hopefully have learned my lessons and won't be here again. These lessons were learned through mistakes I made and still make.
1. Always be looking for a job.
This means you should often be checking for jobs in your career field, even if you know there is no chance you would leave. Make sure you keep in mind:
Growth or looking for your next step. Too many people go from one job to the same job elsewhere. They are passing up a great opportunity to change their direction!
What kinds of things/skills others are looking for in an employee with your skillset. Helps you keep yourself employable.
Temperature and pay of your field. Is is waxing or waning in popularity?
This also reminds you to keep your resume and profiles updated.
2. Keep in mind it can be 1-3 months to find a new job that works. So, see #1 again to keep that number at the low end. Careers outside of tech can expect much longer timeframes.
3. It is a numbers game.
There are odds that work in your favor and odds against.
Timing is probably the biggest single predictor of your happiness and pay. For example, I work in IT. If I am applying for jobs in Nov-Dec I know I am probably a backfill replacing someone who is leaving. Backfill gives you great negotiation room but are almost guaranteed to be difficult. Why difficult? Logically, there must be some reason the last guy is leaving. And you will be expected to be at least as good, and lastly you will have to quietly clean up his mess.
Timing is also almost impossible to control. So keep that in mind. See #1 again to improve those odds.
HTH.
[+] [-] djmill|11 years ago|reply
I did an interview at a company where my old mentor works and they've been looking to expand and hire new engineers, but it's been 2 months. I just sent his boss an email to see if anything's changed, because that'd be my #1 choice -- work with a mentor I know is good and if he says the place is good, I trust his judgement.
Now to wait and see if luck is on my side -- but I've started applying elsewhere, so I'll keep my fingers crossed.
It's just scary leaving a job when I don't have another lined up.
[+] [-] realusername|11 years ago|reply
You will see instantly from what they do currently and how they present it which type of company they are, you will see any management issues, how good everything is done and how they care about their product(s). Nothing can be hidden this way. As a software developer you have a tremendous choice about the type of company you will work, so life is too short too work in a company you don't like !
[+] [-] braindung|11 years ago|reply
Not sure if I should stay just because it's paying well and is mind-numbingly easy work or leave because it's soul-draining and the company is likely to fail with the new management.
[+] [-] djmill|11 years ago|reply
I'm on the same side of things -- weighing the good monthly pay vs. finding something I actually enjoy.
[+] [-] x0rg|11 years ago|reply
[+] [-] chandrew|11 years ago|reply
[+] [-] saturdayplace|11 years ago|reply
Then the bottom dropped out of the economy and I was laid off. I took it as a chance to turn this whole web hobby thing into a full-time gig. After two months I landed a job as a web developer at a very small printing company. They needed someone who could blend design and web dev into one role, and it seemed I fit the bill. They had another dev and apart from that had no idea how to build a website. I was grateful I wasn't going to have to dig into my savings any more. Three days in I already started dreading going to work in the morning. I didn't gel with my manager, we constantly misunderstood each other. I never understood what he was looking for design-wise, so I kept bugging him for clarifications. I got the impression he thought I was a diva. And the dude was a printing industry vet, who just didn't understand the web at all. It wasn't a good fit.
I was rescued that Friday by an offer from a different company I'd interviewed with. So after a week, I walked into the owner's office, told him I had a better offer[0], and that I was leaving now. I walked right out the door. No two-weeks notice.
That job is notably absent from my resume. Why would I put it there? The whole point of a resume is to sell yourself to potential employers. If you don't want it to come up in future job interviews, don't put it on there, and it won't.
No one else is going to look out for your career[1]. I almost look at my personal career development as my actual "job" and positions at companies as steps along the way. Take charge of it. You get to be responsible for your own path.
[0] It really was a better offer. Something like a 40% pay raise, WAY better benefits, a boss who understood what I did and could communicate what he wanted, and a very nurturing company culture.
[1] Well, someone else might. Some companies are better at this than others. But no one's going to advocate for you the way you would. So you might as well get used to doing that work for yourself.
[+] [-] djmill|11 years ago|reply
It'd definitely be best to wait until I have another offer, but I find that I'm far too stressed over something I have the power to change.
I shouldn't be this miserable at my first job -- at least I had hoped that prior to starting.
[+] [-] AnimalMuppet|11 years ago|reply
Don't tell them this in malice or anger, but do tell them.
[+] [-] robkix|11 years ago|reply
The truth is if the problem is management then it's very unlikely any meaningful changes will ever be made.
[+] [-] djmill|11 years ago|reply
[+] [-] djmill|11 years ago|reply
I've decided to stick it out and make the most of it while I look for something more suitable for my skill level. At worst, this position has shown me what I'd like to avoid in the future.
[+] [-] chudi|11 years ago|reply
its posibly that you are the victim of a power struggle at the management level
[+] [-] mtmail|11 years ago|reply
[+] [-] tomashertus|11 years ago|reply
Don't waste your time. If you are not bound with visas or other strings in that company, just go away.