I have a bit of a problem and I thought using SO would be a good way to address it.

I'm a full time developer for a very large Wall Street firm. It pays well and has great benefits and is, for the most part, not worthy of being posted on TheDailyWTF. I'm worried that I'm begining to feel stuck where I am.

My firm uses completely proprietary technology. We use a proprietary programming language in a proprietary environment, in a proprietary, non-relational database. Most of the technical skills I'm learning are specific to this firm's setup. I feel as if I've forgotten most of my mainstream technical knowledge. I've also become "comfortable" and haven't been forced to keep up with current technology trends so I've fallen very far behind there too.

Finance can be challenging, but it's not something I'm really interested in. I don't feel excited about the development work I'm doing and don't feel inspired by it. At best, my work is used by a handful of people. I'd love to work for a software company, in a real programming language/environment/framework where software is delivered to the masses.

I'm concerned, however, that my knowledge has grown stale. I doubt I'd pass a technical interview that focused on C/C++/Java anymore; it's been 3 years since I've really used those technologies extensively. And all the experience I have is in this proprietary environment, so places that insist on "X years of expierence with Y technology" are also right out.

My question is: what can I do? How can I get out of this rut? I want to like my job, but it's hard. I'm thinking about leaving my job but I have nothing set up for myself at the moment. As someone with a family, it's a little overwhelming to just pack up and leave without a safety net.

StackOverflow, I ask you: what can I do?

+4  A: 

Most of the technical skills I'm learning are specific to this firm's setup.

Somehow I doubt that. It may be true that a lot of the knowledge you have gained in your job is specific to the firm, but the skills you have gained and hopefully improved upon are more universal than that.

what can I do?

I'd say read Dale Carnegie's "How to Stop Worrying and Start Living", but for a crash course in how to handle this:

  1. Determine what the worst thing that could happen in your current situation (both if you stay and if you try to move on).
  2. Then, figure out how to make the worst case better.

Go from there.


Mat Noguchi
e-copy of the article:
+8  A: 

Jobs are jobs. We do what we have to do to make a living. I think the best thing for you to do is to get involved in an open source project (or really anything that can improve your skills outside of your job). Doing something like that would give you experience that would be more marketable outside of the proprietary things you're using on your job, which will lead to:

  1. You being happier
  2. You improving your skills
  3. You making yourself more qualified for a job that you'll enjoy more

Like I said, we do what we have to do when it comes to making a living. Spending some time to increase your passion for programming outside of your job can compensate for an unsatisfying development job tremendously.

Ryan Farley
+1  A: 

How about evening courses and some work at home on your own little projects to get up to speed? - before applying for another job. I guess you don't have to resign until you have another job.

Surely there are common aspects in your language and mainstream. Is it object orientated, do you use unit testing?, patterns?. Life cycle of software? Project management?

I used to work with a language called OEL. Nobody knows it but I learned about object orientated languages, debugging, traces amongst other bits...

Hope that helped a bit!

+1  A: 

If you are doing, or are not doing anything based on a fear that you have, you need to look extremely hard at that decision. If your actions are motivated by fear instead of rational choice, you are being cowardly. It's ok to be afraid, as long as you don't let it influence your actions (if heroes weren't afraid, they wouldn't be brave, and therefore would not be deserving of being called heroes. It's because they are afraid, and yet do, that we admire them).

All that to say, if you don't like your job, go get a new one. If you feel "stale" take some night classes, or do some programming for fun to learn. If doing some programming in your personal time does not sound fun to you, maybe you're in the wrong field...

Good luck.

+2  A: 

I don't live in the US so I can't really understand the economics behind such a decision. But my take would be: Pack up and leave. If you're not inspired and excited about what you're doing you're probably not going to do your best. Not good for you or your employer.

Douglas Tosi
+1  A: 

If you fear that your technical skills are lacking I would suggest taking up some hobby projects to remedy that. If you haven't programmed C++ in a while, why not make a new project in C++ or join an existing open source project? (Re)reading the C++ book might also give you some inspiration.

If your current job is a no-brainer you might even get away with doing some self-development at work. See if you can solve your tasks in a new way, using a different approach or a new technology. Maybe you can change your current work-environment by introducing some new technologies or making some new services you didn't have before?

Also, the Dale Carnegie book suggested earlier is a great motivational boost.

Anders Sandvig

My first reaction was to suggest that you leave but that may be too radical.

Have you spoken to your line manager? It sounds like you have gotten into a too comfortable space there. Perhaps your boss will offer you something different, more exciting. Or perhaps not. Then you can look at leaving.

John Nolan
+14  A: 

Life is a journey up ladders.

If you find yourself at the top of your current ladder, meaning you're not learning anything new, it's time to grab a new ladder to begin a new climb.

Seriously. I felt this rut when I was in the Marines. I was in a cycle of what turned into a monkeys job after time passed. I excelled way above my peers and I needed a new challenge due to it not challenging me anymore. Sure, I could have stayed to have the stability and the consistent schedule, but I couldn't settle for that. That led me to enter college to earn my CIS degree with the initial goal of becoming a programmer.

Your biggest challenge right now is to admit that you're not satisfied and to begin starting the process of moving on.

Don't work just to live... There is a job out there that will make you happy, but you've just got to get up and challenge yourself to try something different. Which is going to be incredibly difficult considering the benefits you've gained from working in the Finance industry. It's not going to be easy to let that go.

You can always do independent projects, but you'll still be plagued by the unhappiness at work which will likely wear you down.

Anyway, just a perception.

David McGraw
+1  A: 

Being stuck can be a logical consequence if you don't want to move into management. I find that the top of the technical ladder is already the "Senior Developer" position. Just the right balance between writing code and doing the team management. Everything above is already a management job where you exchange your Compiler with Excel Sheets und stuff. Not bad, but not for everyone.

So If you're stuck there and you're actually unhappy with being stuck, It could be time to take a financial risk and do something at a different company, and maybe also have a kick at the new hip stuff like Ruby.

Michael Stum
+1  A: 

The only true risk in this world is anything you can not recover from. The problem you have is one that creates true risk.

If a C# (or some other mainstream language) developer were to quit their job and try doing something completely new, there would not be any true risk if they failed. C# will be around and they could always get a different job doing what they used to.

You, on the other hand, are in a place where much of your skill set is not transferable. What I argue is that STAYING at your current job is putting you at risk. The longer you are out of touch with the rest of the industry, the worse off you are going to be when you leave. I say when, because you are unhappy there.

Brian Leahy
+2  A: 

People who are suggesting you just do your own thing on your own time (classes, open source projects etc.) maybe don't understand what being in finance and having a family can do to your free time. I've heard (and it may be wrong) that UBS required 10 hours a day out of some positions, though they pay at least 25% more.

However as a side note:

My recommendation is to not be scared of the "experience required" part of a job posting. Look for anything that interests you and convey that interest and passion in a cover letter. I once saw a posting in May 1999 for 5+ years of Java experience, and I had to wonder "who writes these things?" The answer came to me as "cover-your-ass" HR personnel and inexperienced managers working in a design by committee manner on growing their team. Since then whenever I've seen a year requirement tacked to some subject I've ignored the entire thing. I've actually successfully interviewed and gotten offers for jobs where I didn't directly match the requirements.

Amen! Every good job i've ever had, was one where i didn't meet the years requirements for at least on of the main skills.
+1  A: 

I can certainly relate to your situation, as my company has its own proprietary framework (although on top of Java) as well. However, judging from all my ex-coworkers' experiences, working on an unknown framework for years didn't seem to stop them from getting new jobs.

I'm not suggesting you to find a new job, but if you are looking for one, emphasize the past accomplishments and your portable skills. Even for a technical position, employers (often) rather choose someone with past performance, strong analytical and soft skills but don't a thing about the programming language used, instead of someone who is an expert in the language's expert but a bonehead.

+3  A: 

Speaking as someone who has worked at multiple companies where they used proprietary languages (one company even had a proprietary operating system!), I say get out ASAP.

The harsh reality is that you're in a dead end position. As long as that company's software is running and doing what it needs to do, you are never going to get to learn new technology or update your skill set. Three years in isn't too late to change your situation, but with each year that passes you're going to find it more difficult to find someone willing to hire you.

So my advice is to put together a resume and start looking for a new job while continuing to work for your current employer. It sounds like this is your first job out of school, so you'd basically be competing with recent grads for positions but you have an edge because you have experience developing software for a real application in a real business. Look for concepts in your current environment that apply universally to programming (OOP, etc) and emphasize those on your resume.

While you're looking for a job, look for any excuse you can find to write something in a standard programming language, even if it's a tiny tool to do some silly task. That will at least give you the ability to say you worked with X language at your current job.

17 of 26

It's always worth at least trying to make your current job better: Why not try to introduce some of the technologies you want to use into the workplace? Get the ball rolling, and start moving to a more standard platform -- you can even sell it to management that it will be easier to find new employees and consultants if you are using something more common.

+1  A: 

Proprietary trading system development jobs are in the 150-200k range, no? You would be taking a paycut to go work elsewhere in new york. Doesn't sound like a bad position at all, but you may not value money as much.

In hiring developers, I look mostly to their passion and problem solving ability. A lack of knowledge about a specific languages or framework is one of my lowest priorities unless I am hiring a consultant. Personally, I had no experience beyond "Hello World" when I got my first web development job after I spent a year developing windows applications. My passion to build really great projects is what got me the job. Languages and frameworks come and go, but a good developer will be able to take on any new challenge.


Well, I am also in the same situation as you are. Its hard and it hurts. I tried to get a job outside, but without good technical knowledge, I didnt get any good offers. So, I have made up my mind to prepare myself first and look for the job.

Keep your spirits high and I wish you all the very best.

We all know - to be in this field, we have to keep learning; but somewhere we got ourselves into comfort zones and forgot to keep ourself updated. Its ok, take the lesson and move on.

+1  A: 

I was literally in the same boat until last year. IB in NYC and all. First, its a really really good thing you have realized this. That's the biggest step. Many people allow the circumstances to dictate the terms and lead a passive life in which they are not happy.

Next, like someone said above, think about the various scenarios 6 months, 5 years, 20 years from now. This will be a unique exercise that's pretty subjective. What if you stay, what if you quit and so on...

Now here is what i did next. I discovered myself. Now that sounds corny. Let me explain. I realized I don't know myself that well. What type of roles will I be good at? What will motivate me to jump out of bed in the morning? I am not talking about specific roles. I am talking about personality types. Would you rather build things or fix things? Would you rather manage or get down and dirty? Would you rather lead or follow?

One way to simplify it is to think of gears in a car. The first gear is good at starting the car not for cruising. The 4th gear doesn't have the power to start but will maintain your speed and so on. I went through an elaborate exercise along these lines and realized I am a First Gear type of guy. I like to visualize and start things but i am not a doer or a follower. I realized I dont do well in big corp type environment precisely because of that. I also decided, I would enjoy being an entrepreneur as opposed to executing others' ideas.

I did my worst case analysis and figured its not a big deal if i quit. I did and moved thousands of miles away from NYC and on the Entrepreneurial track. I have no regrets.

YMMV but more power to you!


i would suggest you to join a coaching class for C,C++ etc. it will make sure you spent some time on personal development everyday. I am working in an IT company and i was in a similar situation like you. i resolved to move out and joined an MBA coaching. now i am going every morning a 6 to the coaching then 9:30 to 8 office then ...9 to 12 studies. i hope to move out soon.


I am in the same situation, everything that you said about you matches my profile. I work for a multinational IT firm, in India, I graduated 2 years back. I joined my company as a Java/J2EE Web developer. Suddenly my project got descoped and i had to move into a project which was totally non technical. I tried to get out it. I tried a lot...still trying but i am not getting a chance to get out of this project. I feel so frustrated, that i could hardly sleep at night. Everyday i had to revise all that Java which i had expertise on some months back just bcoz of the fear of forgetting. I even got a job into a good IT firm recently, as a Java developer,but i dont know why they are not recruiting us (us = those who got selected). They are telling us that you will be called, as for now the recruitment process is on hold.

All that i can say... i am just pissed off and depressed thinking about the situation i am into. I dont feel like studying , but i know i will have to. Unless i get into a job which makes me happy everyday, i can not concentrate on higher studies or things which i need to do or rather need to achieve. But still i am hopeful :)

Hope you guys can suggest me something.

Subhadip Pal