Total destruction


#1

Hey my first post here. I need to vent and also looking for some advice what to do next. Thanks for reading!

I started as a Java developer, quickly worked my way up to senior level (at least that’s how I was being refered to… as a senior Java dev). I was working on huge corporate systems such as trading platforms, banking and energy & utility. I have never really picked up anything regarding business domain knowledge. Projects came and go. Every project used a different technology stack. Well, not completely different but different enough to require some initial, non-negligible effort. So my spare time was mostly spent learning all those stacks and then discarding them when switching project. I was doing fine, performance reviews were always good. But at certain point I recognized I remember nothing. I mean I can tell if code is bad and I know some architectual patterns but the constantly shifting technology and the omnipresent “just another cog in the wheel” syndrome was slowly destroying me inside.

The systems I was bulding were truly massive and the older I was getting the more overwhelmed I felt. At certain point I said fuck this. I can not continue like this. There is no future ahead, just dispair and neverending hours of relearning technology and incredibly massive codebases…

So I took some time off and discovered world of mobile apps. I have always been fond of Apple products and with flat design one can create a nicely looking mobile apps without being graphic designer. So I spent few months working on an iOS app. The plan was to submit it on appstore and then find a job as iOS developer. I was having lots of fun and was feeling alive again. I didn’t need to solve convoluted integrations with 3rd party systems, didn’t need to configure plethora of services just to get that bloody thing up and running. It was truly refreshing and wonderful. Then Apple rejected my app submission because it supposedly didn’t adhere to their newly updated guidelines and my dream was crushed. I tried to talk to them and find out what was wrong with my app but to no avail. So months of work gone just like that.

Knowing I can not deal with Java projects anymore I decided to learn Python. A friend of mine got me a job but the project I got is a really old legacy system giving me some bad Java flashbacks from my past.

At this point I feel I can not continue anymore. The ever switching technology stacks and the current information explosion where dev is required to know so much that relying on stackoverflow and such is an absolute necessity leave me bitter and confused. I think software development is a dead end job. I think this wasn’t always the case but the information overload, super long hours and mostly the impression that software is cheap and easy to do (for many $0.99 price tag on appstore is outrageous and all apps should be free) leave me bitter.

I need to leave this cursed field for good but I can’t. I have to pay the bills and all my free time was spent learning technology just to discard it a few months later. Totally wasted time.

I am depressed and I have no idea what to do. If I continue I will be more and more depressed and who knows what will happen. If I don’t I will probably become homeless I guess. I have formal (university) education in computer science but teaching is not an option. Here basically everyone teaches and it’s super tough to get a job in this department. I know I didn’t give you much to work with but anything will help.

Thanks.


#2

Sounds like my situation. Started out with C++, then C# as a senior developer. Now on a Python job where I do not feel senior at all. On the contrary I frequently have to ask new hires that are straight out of univ about things. Nothing wrong with that per se, but it’s a bit too one-way now to make me feel comfortable or happy.

I also took some time off and developed a mobile app, but it does not generate enough revenue to live on. Is there some way for you to port your app to a different mobile platform and get it published? Surely you learnt a lot about making apps in the process, so it shouldn’t be a total waste anyway.

I’ve also thought a lot about leaving the field and keep programming as a hobby. Don’t know what else I would enjoy doing though. I realize work can’t be all joy all the time, but I think there must be some basic enjoyment. I see that my coworkers have that, but I don’t anymore.


#3

Hey NNow,

I know it seems tough, but it sounds like you’ve got some great experience. You sound a bit like me though: at times when things get too frustrating/depressing/overwhelming, you just get out of there as fast as possible, or throw up your hands and give up.

I guess I would advise this: when you feel overwhelmed, instead of giving up, just take some time off of whatever you’re doing. If it’s a job you’re not liking, take a week off doing nothing. Come up with a plan. Then, while you’re still working work on the other plan. Look for other jobs that might interest you. It sounds like you like mobile apps - maybe look for a job doing that. You could probably work for a company making phone apps. Maybe try android programming where it doesn’t have to fit Apple’s annoying rules.

Perhaps look at some open source work for mobile apps. You might be able to make some good connections. Who knows, maybe you meet someone who could help you get your app accepted by apple or let you know what you did wrong. Maybe take some cheap online courses about developing for the appstore and it would help energize you and show you what went wrong.

Sounds to me like you’re talented and intelligent but burned out. That’s ok! It happens to all of us, or has happened to me at least. Don’t forget, sometimes work is just that - work. It can be just getting through the day to day while you find something you like more.

Also, do you have a therapist? Mine helps me keep things in perspective. I can be feeling like “I can’t take this anymore!” and then the next day think “Say, this isn’t bad”. It’s so strange to feel so different from day to day, but that’s how it is with me. I’ve learned to try not to make any rash decisions because things change so quickly.

Good luck!


#4

I’m not sure why you feel that way. First it’s very hard to make money with an app. 2nd, apps are rejected by Apple all the time.

Put the code on github and add your project to your linkedin profile. Personal projects don’t have to be production ready. As long as it’s yours and you can explain why things worked or didn’t, it has some value.


#5

NNow, I can relate 100%. Ever changing technology stacks, but I don’t miss the business domain knowledge :wink:

From my vantage point, it seems to me you gave up too early on your new-found iOS passion. Hell, I even think you gave up too early on your Java path. 7 years can be not much in terms of immersing yourself in software-development, especially in this current environment where a new framework and new meta-programming language pops up every other week. It’s tough not to get nervous about new things not sticking because you have to keep learning new stuff all the time and only do coding-by-googling.

One way of working against this trend could be to try finding a work environment where you are allowed to focus on technology stacks that you prefer and have more freedom in choosing them, if new projects are coming in. You have to actively insist on not jumping on the next framework that comes around the corner.

Also, try focussing on the positive things that you got out of your experience. You’ve seen a lot of things: different tech stacks, frameworks, architectures, languages, build systems. This is your bonus. Other folks never get out of their C bubble (no offence to C coders, I love C, but prefer GO now ;)). You have a big advantage over those with narrow stack experiences.

So you have two options, apart from leaving coding altogether:

  1. Find your niche and environment, where you can dedicate yourself to mastering a couple of tech stacks and languages as a coder. But stay hungry and foolish ™, and always try to enjoy whatever they throw at you. Talk to your co-workers about those issues you mentioned. Maybe they feel the same? Maybe they can help you overcome those issues? Worst case, you’ll find another team / project.

  2. If it suits you, take advantage of your many experiences and try getting into team lead or project management roles. From my experience, there are many teams coding away headless and with no minimal scrum process in place. Having hands-on experience is very helpful in these roles.