Thanks to everyone. Reading your replies made my night easier to digest. The great news is that we were able to complete the migration!
Long quote ahead!!
There is always something. The older the company, the worse it gets. A lot of shit has been growing over the years and most of the time it's "never touch a running system". They are usually right with it, too.
At least you have a database. My current company uses excel spreadsheet for fucking everything and some special fancy asshats even went with Access.
This "software" was designed to be updated monthly. The problem was the customer didn't want to pay for the monthly migration, and waited (over 2 years) until it was deemed mandatory by the "product owner". Which is a huge corporation and will give no fucks about your issues, after you are in their ecosystem.
I feel you mate, working in/on software can be one of the most unrewarding and frustrating jobs.
Everything is your fault and when things are running well and you've bent over backwards to help there is no thank-you.
Keep grinding man, it will hopefully get better :)
I actually tried to quit a few weeks ago. Boss didn't let me and offered me to fire whoever was making my life miserable. Of course, I didn't say who it was, but I promised to wait a few months
Few thoughts from my corps days ...
Slapped from your team ? Gather them for an idea round up theming on how they see the internal structure and methods could be bettered.
Support team slap ? Expose your actual challenges to their boss and get some support documents done to help dilute pressure if it s intensive peaks... maybe some solicitations could be directly answered by support if they get the tools/procedures.
Slapped by business ? Maybe Have a key business correspondent join the team as liaison.
You are there to steer the thing, you are not a punching bag, never let the pain set in. There has to be solutions out there. Your mental health is too precious to ruin on a friggin migration.
If you are unwell, the project cannot be well.
Support team is technically deficient compared to us the "migration team". The huge problem is we cannot fix anything related to the Production Database from our side. The support team has all the privileges because, of course, there has to be a segregation of duties.
This hit right home ;____;
As a programmer/system architect, CTO etc. for 12 years I have this theory:
Creating Software is too hard.
Programs are hard enough to get completly right when you implement a simple, single sorting algorithm in 25 lines.
The idea that we're using programming to create these gigantic, asynchronous systems that runs incredibly fast, with connections to other systems, human-computer-interfaces etc - it's pretty preposterous.
And, we build them in teams of people. We all know how much harder it is to perform tasks as a team.
Then you have the fact that hardware and other systems change over time; so systems have to kept up to date.
Then add the fact that new technologies and tools come out all the time, requiring software developers to keep learning and implementing new stuff.
Add to that that software developers in general are overworked and don't sleep enough; and probably a lot of them don't eat very well - all things that reduce mental capacity and increases the odds that you will introduce errors in your code.
I think this is why 99.9% of all applications out there are shit. I mean think about it; we're probably only exposed to the top 0.5% of all applications out there, in terms of quality, and still most of them are buggy or unintutivive or both.
Creating software is too hard.
I agree with everything you wrote, and also I might add, it is harder to implement and modify a huge piece of software that belongs to another company.
Handling development crap from within and from your clients is indeed terrible but personally-speaking do you know what's its even more frustrating than that? Handle development crap coming from your partners (ie. framework providers, data-providers, tool providers etc.). At least with the former you could start fixing the problem right away. The latter you have to wait . . . .
That's the highest quality of BS and I learned to not take it anymore. Everytime a framework/tool/etc provider starts blaming my team, the fucker better be prepared to justify their accusation or I'll go medieval in their ass. Never again after a shit experience I had with a 3PL provider.
Mate. Whatever you're working in you'll be the legend that solves it for years to come.
But hey at least you're not working on PlayStation Network or anything.
Hopefully after this I can take some days off
____@
I feel you MrChocolate.
My favorite is: Having to develop an interface between two different (barely documented and shitty) systems of two different bigger companies who basically hate your guts.
Been there. The only way to improve your current situation is to make them fight with each other. Find a common enemy and they will leave you alone.
After many years in software development, I got used to situations like you described and don't let my emotions engulf me. Comes with the job really. I just work to the best of my ability and raise any concerns that may hinder my performance. If it gets too much I just move jobs (no shortage of dev roles). Life's too short to give a shit about why X process sucks or why things are done in such a shitty way.
One thing to point out, you're at the bottom of the pecking order when you're in IT. Sadly...Sales people and Staff Managers are - undeservedly - king. You either come to terms with this and make sure you get financially/beneficially compensated and highly rewarded for your work or you move to a working environment/department/job where IT are taken seriously and are represented by a hands-on CTO. Worst thing you want to do is be managed by an incompetent non-IT manager.
My issue is that I care too much for this particular customer and I want them to succeed. It is definitely something to improve.
Found this funny because this usually means something the company keeps off the books tee hee
My sentiments OP, this too shall pass
No no, it is not related to the customer but to the "product owner". They encrypt their database users so we can't handle them from our end, even if we have access to their VM.
Always take your initial estimate and add a multiplier on it.
Software is a thankless job.
Always have done that, my estimations are accurate up to a 95%. This particular issue arose because the support team (which we don't "own") didn't install everything we required.