I am 33, live in Austalia and I'm stuck in a massive rut. I earn a modest salary as a computer programmer programming Delphi. I finished my masters with first class honours 4 years ago and took a job at a financial services company. I've had a good run at the company in terms of learning about their business but my career is going nowhere. Unfortunately this knowledge is about the UK finance industry and not the local industry. I've learnt hardly anything technical in 4 years. The software framework is 10+ years old and no work is being done to it. The software product also isn't very good. There is no room to move at all in the company for the foreseeable future. To make matters worse the company might close down in a few years. There is a very insular culture and there are no training opportunities. The one benefit of my current company is they don't work us too hard and expect quality code over quantity. Most people at work say they feel stuck and have been there an average of 10 years.

I look at job advertisements and everything is 5+ years java or .net. There are a few Delphi jobs around but they all want architecture experience and all I've done for 4 years is maintenance business logic programming. Before my masters I used to do video and web design work but I wanted to become a software engineer. All my friends I graduated with are moving on to exciting work and different projects. Delphi work is drying up and I don't really want to extend my use of this language too much if I change roles. I'm also very afraid of not having the technical skills to succeed in another Delphi role.

I have started to learn .NET and am considering MSCD certification but this will take 6 months of my spare time. Then I could work on a side project for 6 months to get some experience then hopefully I could take a more junior role elsewhere? This will take up all my spare time. If someone gives me a chance to work in .NET I'll work hard to do a good job. Can anyone suggest any other ideas?

I was about my buy my first property this year and can't really afford to take a pay cut. I'm single and houses where I live are very expensive. Should I just consign myself to being stuck in this job for the rest of my career? I also still have a huge university loan to pay off for my masters. I feel sick and am not sleeping I feel so bad. Nothing is working out. I feel like I made a huge career mistake taking this job.

Please offer advice if you have software industry knowledge!

closed as off-topic by AndreiROM, gnat, The Wandering Dev Manager, Lilienthal, Jim G. Mar 22 '16 at 0:57

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking for advice on what to do are not practical answerable questions (e.g. "what job should I take?", or "what skills should I learn?"). Questions should get answers explaining why and how to make a decision, not advice on what to do. For more information, click here." – AndreiROM, gnat, The Wandering Dev Manager, Lilienthal, Jim G.
If this question can be reworded to fit the rules in the help center, please edit the question.

  • Great point, Joe. I've got few technical degrees, and I still take classes online in all of the following udemy.com edx.com coursera.com stackskills.com . Access to knowledge has never been easier in human history than it is right now! – Baronz Mar 22 '16 at 0:54
  • Only 33, and in a rut? Ha! I didn't even get a degree until I was older than that, having previously worked in quite non-technical fields (military, construction, farm labor...) With no dependents (I'm assuming, since you say you're single), you can do just about anything. – jamesqf Mar 22 '16 at 6:13

You're only 33, too early to be stuck in a rut, the World is your oyster. Study what you can, invest a year in yourself. Don't worry too much about it. Things are never as bad as they seem, and optimism is it's own reward.

You have years of solid (hopefully trouble free) experience already, that is a bonus in itself. Employers value it, or at least I do, regardless of what the job was. technical skills can be learnt by anyone. If someone applied for a job here and I saw that they had not only been solid where they were, but also upskilled themselves in other technology, I'd be impressed.

I made much more major changes than that slightly older than you and if you work hard, it works out. I'm not there, but from what I see Australia is fast expanding in this industry and there are plenty of opportunities there and there isn't a huge human resource pool like you have in some other countries who peaked long ago. Things are a bit more relaxed and laid back, people more willing to give others a 'break'.


First of all, I'd like to point out that:

Questions asking for advice on what to do are not practical answerable questions (e.g. "what job should I take?", or "what skills should I learn?"). Questions should get answers explaining why and how to make a decision, not advice on what to do.

That being said, yes, you've made a big mistake by being passive for so many years. My rule of thumb is to become wary if I spend more than a year in a position in which I learn nothing new.

In the short term you can try changing jobs and doing something slightly different in Delphi (you think you're under-qualified, but you won't know until you apply and interview).

In the medium to long term identify any new technologies that you wish to learn (check out the Stack Overflow 2016 Survey if you want some ideas), and get cracking.

Maybe join a site such as Plural Sight (might be better ones out there depending on what you wish to learn), and take on part time projects in order to pad your resume.

Last but not least, don't panic. You know there's a problem, now get working on an action plan to fix it.

  • 4
    +1 for 'but you won't know until you apply and interview', don't be afraid to test life. – Kilisi Mar 21 '16 at 21:06

Obsolescence is an occupational hazard. So consider your personal upgrade cycle, and get ahead of the current market.

I wouldn't try to nudge in on .NET and Java jobs--the field is very crowded, and you will be quite far behind. When those begin to cycle out of relevance, you'll live through this again. Those were great decision 10-15 years ago, because they're still paying for those people now. You'll get diminishing returns.

Look at some of the newer, fast-growing technologies. NodeJS is very healthy and the basis of many web-based SOA architectures. Go (golang) is also rising in popularity. With these languages and their surrounding ecosystems, you can be far more productive, and still build internet scale, dependable applications that are more secure, and take less time. That business value is what you want to latch onto. Ultimately, Java and .NET won't keep up. Look at how much MS is investing in NodeJS.

When job hunting, no one can expect 5 years experience, and there are plenty of useful github projects you can build or contribute to. You'll be competing with 20 somethings who have less experience overall. You'll be able to emphasize more experience in full SDLC and other across-the-board skills, while being on par with the newer tools. Both are poised to take off and pay dividends for 10-15 years and beyond.

  • I slightly disagree. The JVM is the default choice for any project of scale so learning Java won't be a waste of time, and it's not going anywhere for 20 years. Golang is a tiny tiny market and no guarantee it'll catch up - it's up against rust and others. And Google's attempts so far in language design (Dart) have been a complete failure. NodeJS is doing well though. – monkjack Mar 22 '16 at 2:21
  • The JVM is no longer the default choice by any stretch. Java is having a resurgence primarily due to Android, the numbers were already fading. Look at Netflix, Walmart, Facebook and others who are heavily investing in infrastructure, and you'll see Java on the steep decline. Looking ahead to unikernel you won't see much of the JVM at all. Go is certainly a dark horse. – jimm101 Mar 22 '16 at 10:13

Not the answer you're looking for? Browse other questions tagged or ask your own question.