Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "debt"
-
The worst career choice I ever made was walking away from a six figure salary software development job with benefits to focus on the small startup I co-founded just a few years earlier. My wife and I had two small children at the time and my wife was also nearly 8 months pregnant with our third. It resulted in an approximate 70% reduction in income, prematurely cashed out 401k and loss of existing health insurance.
To be fair, it was also simultaneously the best career choice I ever made. Three years later I make more now than I originally walked away from. The raw roads of stress, anger, fear and complete uncertainty have aged both me and my wife at an accelerated rate but we have grown closer to each other than we would otherwise be. We have relied on each other, and she has been unbelievably supportive with all the late nights and required traveling. We discovered what we are capable of. In one day it will be October. In one day it will be the month that we finally pay off our last batch of credit card debt that resulted from that career choice.
I cannot recommend following in our footsteps as from where I’m sitting there are much better, more calculated ways of going about it. Logically, what we did was beyond stupid. Luckily for us, we were still young enough to not grasp the full magnitude of stupidity and we also refused to fail. It’s also crucial to have stellar business partners who are just as crazy and just as determined. We have all labored tremendously and we have each played critical roles in our success. The hard times of fear and uncertainty aren’t over. I don’t think they will ever be, to be honest. But, it sure has been one hell of a ride. I wouldn’t change a thing.17 -
People are posting their setups so I thought I'd post this.
It's a 2012 MacBook Pro, 13 inch. I put 16GB ram and some solid state in there just so it gets the job done.
When I was a freshman in high school, my dad saw something in me that he believed in (and I didn't). He decided to put his money where his heart was. He told me that he would go out and buy me a computer, and I wouldn't have to pay him back, if I would work hard at programming to pay for my own college.
His investment payed off. I just graduated high school and started a job last week that will get me through college debt-free through the gap year that I'm taking. This machine's getting a little old, but it means a lot to me. It reminds me that my dad believed in me even when I didn't. 🖖🏼12 -
The way 90% of the population wears their face masks really explains a lot about their approach to using software, apps & websites as well.
I feel like giving up.
I am not a developer for the salary, or just to solve analytical puzzles. Those are motivators, but my main drive is to make the world more comfortable and enjoyable, better optimized, build ethical services which bring happiness into people's lives. I want to improve society, even if it's just a tiny bit.
But if users invest absolutely zero percent of their limited brain capacity into understanding a product that already has a super-clean design and responds with helpful validation messages...
...why the fuck bother.
I used to think of the gap between technology and tech-incompetent people as an optimization problem.
As something which could be fixed by spending a fortune on UX research. Write tests, hire QA employees, decrease tech debt, create a bold but unified & simple design.
But the technologically incompetent just get more entitled with every small thing you simplify.
It's never fucking fool-proof enough.
Why can't I upload a 220MB PDF as profile picture? Why doesn't the app install on my 9 year old Android Froyo phone? Why can't I sign up if my phone number contains a  U+FFFC? Why does this page load so slowly from my rural concrete bunker in East Ukraine? WHY DO I HAVE PNEUMONIA, HOW DID I GET INFECTED EVEN THOUGH I WAS WEARING A MOUTH MASK ON MY FOREHEAD?
This is why I ran away from Frontend, to Backend, to DBA.
If I could remove myself further from the end user, I would.
At least I still have a full glass of tawny port and a huge database which needs to be normalized & migrated.
Fuck humans, I'm going to hug a server.25 -
Manager: Oh my god have you heard of libraries? I don’t even need to hire developers anymore, everything can just be done with code other people have already built for free
Dev: Well you actually cause a bit of technical debt when you use an abstrac—
Manager: EVERY TICKET SHOULD BE DONE USING LIBRARIES GOING FORWARD.
Dev: …This is going to implode…Can we at least fund some of the libraries we end up using?
Manager: WHAT? NO! Open source developers are suckers, what idiot puts code on the internet for free?? I shouldn’t be required to fund their stupidity. Let’s just take their stuff and make money with it.
Dev: *Phone rings 100th time today from recruiter*. One sec I have to take this call……It’s urgent.13 -
PM: 2 months? no thats way too long, do it in 1.
Director: I had a chat with someone else who doesn't work on this team, he says that developer you complained about is a good guy and we should keep him on the team.
Business: No, we don't have time for tech debt, lets build these new features as quick as possible and lets see where we are.
everyone: WHAT DO YOU MEAN IT CRASHED AGAIN??? THIS IS UNACCEPTABLE6 -
A seasoned colleague just wrote this and I think it was very valuable:
On tech debt:
So the big challenge with technical debt is making non-technical management (CEO, COO, CFO, directors) understand what it means, and just how it operates. Sometimes it actually makes good sense to incur technical debt to get to market sooner, just as it sometimes makes sense to borrow money to get cash now and repay that loan later with (hopefully) resulting greater revenues from that investment. But just like a loan, tech debt always has to be paid some day. The longer the tech debt goes, the more expensive it gets. And also like a loan, the cost compounds, like compound interest on a loan. Tech debt should always be chosen with a clear plan to pay it off at some point in the not too distant future. The longer one waits to pay it, the more expensive it gets.7 -
The company I work for...
Has:
1. No CI/CD
2. SVN instead of GIT
3. Outsourcing to India (oof)
4. No Automated Testing
5. Uses Bugnet (ancient, outdated)
6. No clearly defined code standards
7. No real documentation on the code
8. Rubbish code
9. No desire to reduce technical debt
10. Poorly maintained DB
11. Poor outdated equipment
12. A useless PM
13. Still priotizes IE support (??)
On a scale of 1 to 10 how fucked is this company and anything they develop?41 -
Manager: I’m so sick and tired of you devs whining about technical debt and how it’s slowing down our progress, so here’s the deal. You have until the end of this week to eliminate all technical debt in the codebase. After that I NEVER WANT TO HEAR YOU COMPLAIN ABOUT TECHNICAL DEBT EVER AGAIN!!!
Dev: …14 -
I wish my dad wouldn't bring up the cost of college to me.
Yes it costs me $12,000 to attend full time semester. Yes I'll be on $75,000 of debt by the time I graduate next year.
Why the fuck do you think older millennials aren't planning on buying homes, putting off marriage into their 30's let alone thinking about fucking kids.
It's not his fault, I love my parents. I just feel like they want me to pull a rabbit out of a hat when I'm already pushing full time work and soon full time classes.
I'm tired. 😔22 -
Just coded for ~14h straight. Started doing some super heavy code cleanup and refactoring. Almost cried when I saw my code from the past.
Maybe it's time to call it a day...4 -
Late night programming with pops.
This man has taught me most of what I know and I have a terrific amount of respect and debt for him, and his work.
Here's to a lot more years cranking that genius brain of his! 🥂12 -
Banks be like
You don't have much money?
Here, let me keep taking some of that from you until you get more, k?
Oh, that was more than you had?
Now you owe me even more, nerd.
What, you can't pay that either?
Better ask me for a loan so you can pay off your debt to me. Loser.
What? You still can't pay?
I'm gonna take your everything!rant overdraft fees banks imposing debt on a whim basically stealing your lunch money service fees banks are not friends and this is why i love crypto gg30 -
One team was delivering for 12 months.
... but definition of done not met. Code crap everywhere. Tests barely there and are total mess.
I inherited mess after previous lead engineer.
I exposed all the issues to the management in a straight way, no sugar coating.
... and now guess who's the bad guy for "complaining" instead of shut up and "making it work"?
P.s.
"Giving accurate report about situation" is seen as "complaining".7 -
On the 18th October 2021 I had to hastily write some magic numbers into our code.
I added a comment saying "TODO: add a damn enum to make this selection clear"
Today, I refactored this module... and I used a damn enum.
Good things happen – have a nice weekend yall10 -
So the tax authorities in the Netherlands have this slogan that roughly translates to:
"We can't make it fun, but we can make it easier."
I'm not sure how this is going to be easy for me. This arrived in the mail today.
Even worse this is a fuck up from them. They are saying our company did not do it's taxes but when we log in their online portal we can see that we did them. But they are saying that they don't see it in their system.
Who build that system?
Trying to stay calm when they are claiming I own them more taxes then my company has earned in a year.
I did not have enough sleep for this drama.
By the way how about we save some trees and don't send 30 letters on 1 day.11 -
The mysterious all 0s number called yet again.
I had my headphones on so I answered during class, but didn't talk.
It was a "debt collector" and she used my mother's maiden name saying that we should pay or something like that.
The woman was human, but used a computer generated voice to say my mother's maiden name.
So... I guess it's a scam caller.14 -
I'm specialized in creating technical debt.
Basically, I rant my way in any dev specialty.
Since I never have a solid understanding of what I'm fucking with, ranting is more natural.
Ability to create technical debt is one of the most important skill, often underestimated:
- it will lead to heavy refactoring or even rewrite = more job for dev
- it will save a lot of short term effort, and luckily will produce the mid-term lock-in of the developers (more money for dev)
- it will increase billable hours to the customer. Higher the technical debt, more complex the explanation, and easier to confuse the customer.
- the best thing is that you'll never pay the debt. You'll eventually leave - willing or not - the job and you'll find some green field to exploit and create more debt.17 -
We were still using python 2.7 waaay into 2020 - It had been heralding the impending doom since 2018 and finally end-of-lifed in 2020.
That's when I finally managed to be the loudest asshole in the room and allocate a team (myself included) to refactor shit up to 3.6 (then somewhat more modern) for a month or so.
COVID the destroyer may have helped by wrecking havoc on our client's demands pipelines.
It was the third week into "the red sprint" when my entire team (myself included) were beheaded out of the company since we had "not delivered ANYTHING in weeks!" (emphasis in the original).
Frankly, being laid off was by a large margin the best thing that company ever did for me.
I heard from a poor schmuck who stayed behind that they were still using the shitty spaghetti code from before our refactoring - in freaking November 2021 - and that our entire last effort was thrown out because "nobody knows how to use it".
There is tech debt and there is tech bankruptcy.
I may have a lot of tech schadenfreude now :)13 -
I was in college studying stuff I couldn't care less about and had a job that was consuming me. A couple of colleagues and I then decided to open our own company. Four years of sleepless nights later, all colleagues left. I had lost touch with family and friends, had lost a girlfriend and had been left with all the company's debt to pay. Going back to my old career seemed like the only option, but I couldn't let me sabotage myself again. I sat my butt in front of my sister's computer and downloaded every coding class I could get my hands on. Getting used to sleep deprivation helped. Eventually I built my first app and landed my first freelance job. All hat in hand, I told this company I didn't have much experience and they told me they'd hire a senior developer as well. It was on a Sunday morning, at 4am, with the deadline breathing down our necks, that the senior developer had jumped ship and the company asked me if I could take over the project. That moment I realised it's all about being competent. That moment I knew I could do this.5
-
Just got kicked out of home.
I was living by someone else and they just (politely) asked move out soon as I get paid next month.
They said I'm generating costs for them - goddamn I'm paying 50 bucks above our deal, why didn't she talk just talk to me, I would pay more if needed.
Now trying to realize what the Fuck I did wrong and how am I going to handle this. I have nowhere to go and just 2 weeks ago I got in debt, thinking home was stable.
Not angry, just extremely frustrated.21 -
As a full-stack dev who has been looking for a full-time role for over half a year now... How the fuck can it be so difficult to land a job as a dev? I'm a passionate, capable, and proven dev; it shouldn't be this hard.
And why the hell are coding/whiteboard interviews the de-facto standard for deciding if somebody is worthy of a role? Whiteboard interviews are as inadequate and unencompassing a means of determining the quality of a candidate as asking a dentist how well they know the organ structure of the human body.
I've applied to an endless number of positions, so far-reaching and desperate as to even apply to international positions and designer roles instead of developer roles (I've been a graphic designer for over 13+ years). Even with this, most don't get back to you, and the few who do most often just notify you of your rejection. On the rare occasion I land an interview, my chances get fucked up by the absurd questions they ask, as if the things they are asking about are at all an appropriate, all-encompassing measure of what I know.
Aren't employers aware that competent devs are able to learn new things and technical nuances nearly instantaneously given documentation or an internet connection? Obviously, I keep learning and getting better after every interview, though it barely helps, when each interviewer asks an entirely new, arbitrary set of questions or problems....
Honestly, fuck the current state of the system for coding job interviews. I'm just about ready to give up. Why the hell did I put myself through 5 years of NYU for a Computer Engineering degree and nearly $100K in student loan debt, if it doesn't help me land a job?13 -
"I strive for code quality and maintainability. I actually do. And i will not work for a company that does not care about it and just wants something done as fast as possible.
The only time i will do something quick and dirty is if it's actually urgent. And even then with one condition - my next task will be to fix it properly.
I do not care about your deadlines. I will do my best to meet them, but not at the expense of code quality. I've seen too many projects fall into technical debt, where productivity is so low, that the only way to move forward is hire more people and start working on a project 2.0
And please do not lie about how great your company is, if it's not. These kind of things surface very soon, and you will have wasted both of our time, because as i said - i will not work for a company that does not care about code quality."
you think i'll ever get a job again if i put this on my CV ? :D10 -
When your team has no time to address technical debt/infrastructure improvements but we need to make that square checkbox round immediately.1
-
My first actual rant on devRant:
Fuck corporate companies. Fuck agile development.
In the last 8 months I’ve been with this company, I’ve 1) made the app layout (which was super fucked) compatible with iPad. 2) reduced the apps size by 1/3 of the original size. 3) improved memory usage by double the efficiency, nearly eliminated all memory leaks. 4) gotten employee of the quarter for some of the above mentioned.
After all of this I got a talking to from product manager that “he knows I am a good developer but needs more consistency” after I spent a sprint on one story trying to consolidate front end validation logic and make a “validatableTextField” actually do some validation. So much for the MVVM you promised me.
Also, was promised I’d get some experience with Android, and with a team of 8 devs 6 of which have droid backgrounds and other two are juniors, guess whose only even built the droid project once in 8 months? You guessed it. This company has drained me of all of my knowledge, went against most of its promises to me, and values pushing features to the point of adding tech debt faster than I can solve it.
Unfortunately my personal life relies on this job or I’d quit right away. But you bet your ass I’m passively looking for something and I can’t wait till I get a job offer and quit on these ungrateful hypocrites.5 -
Dear Product owners / Company Owners / Whoever requesting a feature:
Devs like to know they are adding value to whatever product they are working on. Every time you request a stupid no value added request, you kick the dev's soul.
After several hits the developer will stop caring about the software and eventually will get the job done, but oh boy, the amount of tech debt/trash code the dev is gonna leave behind will be horrendous.
Then the next developer, not only takes the hit from another stupid request, he/she will see the crappy code the past sad developer left and will take a double hit. Of course all of them start proactive and try to fix previous blood trails but sadness will catch them eventually.
If you want you're apps/products/reports to be good in a long run don't make stupid requests.
BAs, Stop being Expensive Email Forwarders and challenge a request, understand the process and then hand it to the developer.
Us developers are sensible cute ponies. Treat us well or expect poor quality projects8 -
So.. the software team I work with still maintain Java 6 apps.. meanwhile management keep asking when we're "moving to the cloud".
DevRant posts are too small for me to describe our technical debt.... 🤦10 -
I fucking want to skin alive my engineering senior director and VP.
Fucking piece of shit people. Looking at their faces from behind the screen, I can sense them stink doneky balls.
They have made my life hell.
The entire tech architecture is absolute shit in nature and engineers cannot even build a single blue colour button without creating a major fuss about it.
Every single aspect of product is built kept in my only the engineer persona. Everyone else can go and suck a racoon's dick.
And they have no concept of tech debt. They just keep building and building stuff. And then build some more.
Entire engineering org is in rush to ship shit at the end of sprint and if they don't then VP and Director are pissed. So to keep those two half witted donkeys happy, these people ship garbage. And all they comment is "cool, very cool".
And hence, entire fucking product is built because it's cool irrespective of whether it solves a problem or not.
A single user role authorisation or authentication is so fucking complex that it would take an eternity for even a developer to figure what's happening.
Fucking toxic human wastes.
There's a company wide mandate to use a certain tech stack, design guidelines, and a vision that all teams have to align. But these faggots are going in opposite direction to do what they feel like and forcing everyone else to ignore all other engagements or alignments with other teams.
These two people should be skinned alive in town square during noon and then left there until they dehydrate entirely. Fucking baboons.
I am so fucking pissed with such mindset.8 -
My brain is melting.
6 hours straight of just Refactoring without a break.
Technical debt is real, it is a bitch, and so are clients to expect to 'see' changes every week.
Boss tells me we need to balance doing work on things the client can play with and the backend code that does it all... 😧ok....
'TODO: remove sample return and connect to backen' As far as the eye can see.3 -
Manager: You know you really shouldn’t pay off your mortgage faster than you absolutely have to. It’s the cheapest money you’ll ever get!
Dev: I’d rather work towards being debt free. Besides my RRSP (401k) is already maxed out
Manager: RRSPs are a scam! TFSAs (Roth IRAs) are way better
Dev: My TFSA is maxed out too
Manager: 😡 You still shouldn’t pay off your mortgage!
Dev: …16 -
The fucking cunts didn't approve my PR because "it wasn't necessary to do it like this". My PR would have fixed some technical debt, but yes, fuck you too if it doesn't fit your shitty narrative.8
-
rant, but not an IT kind... okay, maybe not even a rant, more like depressive rambling:
in 3 days, I'll turn 29.
i'm living with my mom, in the apartment where I was born, in the room i've been living since I was born (with the exception of 2 attempts to move out which together lasted 9 months).
my theoretical monthly income should/could be around 4000€, based on my skills and experience.
but I'm a (manic)-depressive, chronically lonely idiot loser (and the manic phases come more and more rarely in recent years), so
my practical average monthly income fluctuates from 0 to about 200.
i am unable to keep a job for more than 4 months, so after being fired from about 20 or so of them since I was 18, it takes immense amounts of mental and emotional energy to even start looking for one now... so I usually don't.
i've been about 12000€ in debt for the past 8 or so years, half of which is just debt collector fees.
it's kinda funny, for years, i've been unable to solve a debt which theoretically amounts to 3 months of my theoretical achievable salary.
my father, who just left without a word of explanation when I was 18, has decided this is not viable anymore, so I'm supposed to move out by 10th of next month, "either to some cheap rooming house, or under the bridge, I don't care", as he put it.
I can't remember how it feels to exist a single hour without feeling existential dread and dreading each next day, not knowing what to do or if i'll even be able to try and do something, because this feeling is so strong that it often blocks me from being able to do anything. i just shiver most of the time that i'm awake, feeling like you feel few minutes before puking and crying at the same time. and that feeling is my "how are you?", "you know... normal".
i can't remember what it feels to feel any other way and can't even imagine it, and can't imagine that I'll ever achieve any less shit feeling.
literally all of my social contact consists of going out once to twice a month with the only 2 friends and 2 aquaintances I have who have the time and will to spend it with me.
oh, and hiding in my room, avoiding talking to my mom, because each time we talk she just reminds me what a piece of shit failure I am, and tells me how it's not that hard to change it, I just have to stop being lazy and start working for it.
she's... kind and caring about it, which somehow maybe makes it even worse.
i have about 10 almost complete game designs, each of them at least 50% more original and interesting (at least to me) than the things that are coming out for the past 10 years, being lauded as "the most original and unique".
I have been trying to make them, ANY of them, since I was 18, but I always lose all the drive and resolve and energy in like 4 months, because it's like trying to build a city on my own on a deserted island. too big for one person, but there was never anyone to help me. closest I ever got was one of my friends telling me "i've been thinking many times that i'd love to work on some project with you, if I had the time".
and second time, when I actually found an artist I was going to pay, and he was awesome, and after two weeks of me telling him how awesome what he does is and how it fits the project and my ideas perfectly, he backed out saying "i'm afraid I can't do the quality you require from me".
never ever in my life did I get actual help with something I actually wanted or tried to do.
i have no idea how it feels to have someone working with me on something I actually consider interesting and meaningful, on any of the things which I wanted to make, which made me learn programming.
I've learned graphics and animation and everything going into game making pipeline on my own because I realized nobody will ever help me, so I'll have to do all of it on my own.
I've tried to make a kickstarter once, but I started crying hysterically in the middle of writing it, because I felt like a begging piece of failure shit, even more than usual, so I deleted it.
most of people treat me like shit failure unworthy and undeserving of living, precisely as I myself know I deserve to be treated, because that's what I am, but when I ask for permission to kill myself, since I see no other solution to stop being a burden, they get angry at me that I'm just emotionally blackmailing them. when I afterwards ask them "so help me in any way to do any of the projects i want/need to do", they respond they've got no time for that.
when I talk about all of this, I get told to stop whining.
happy 29th birthday, me, a piece of shit who should've never survived this long, who should've never been born in the first place.
yay.
also, I know this is not the kind of crap that's supposed to be posted here, but i've got nowhere else. sorry.47 -
Anyone else sick of all the whining about college on here? It’s a CS degree. They are going to teach you science. Not to mention that Stack Overflow did a survey in 2015 and found that nearly half the developers didn’t have degrees. If you’re so much smarter than your professors then you should have no problem finding a job. Of course, if you’re lucky enough to not have to pay for school; you should just be thankful that you’re a step up in going for management positions and shut up. On the other hand, if you’re paying (going into debt) for school; then maybe you should take a step off the safe and well-trodden path and put a little faith in yourself. There is an abundance of free training online. I thought devs were supposed to be free-spirited rebels. Didn’t any of you see ‘Hackers’?9
-
Guy: - Why the hell do you keep adding new tests with "TDD" in the commit log? Is this because you're wearing this stupid TDD t-shirt!? You're only supposed to maintain this! There's nothing to develop! Nothing here will ever be test-driven!
Cprn: (turns around)
T-shirt: *Technical Debt Development*6 -
I suddenly realized all the technical debt shit I told my boss would happen years ago given the way things were done/heading then... Just occurred pretty much all at once last week in the form of critical production issues...
The teams like:
-we need real time server process monitoring
-structured logging for apps
-containerization so one app didn't affect others
Me thinking: yes.... I told you so like 3/4 years ago when I first joined the team and kept repeating so much I got tired of saying at every annual review...
This is exactly what happens when you let technical debt grow and have no free time for developers to look into and fix then while they were small and not critical production processes... Or properly document and peer review them... (Got a shit pile of projects that no one knows how to use or even exists because the devs left the team) and they'll have a lot more when I finally leave... Hopefully this year.... If I can find another role and not need another medical procedure... (Doubtful)3 -
No, I do not wish to work on your Scrum-managed project.
I do not wish to contribute to the Taylorism of my profession.
I do not wish to be an interchangeable cog in your software sausage machine.
I do not wish to be tracked by some pointless metrics like a call-centre worker.
I do not wish to bust my tight, cute ass to sprint after some idiotic management request that could have been factored in earlier.
I do not wish to obtain some piss-ant qualification that "authorises" me to do my job.
I do not wish to be party to your lie that technical debt will be avoided by refactoring---whatever the cost.
I do not wish to contribute to the death of software engineering to have it replaced by software development.
Agile? Sure. I can pick up the phone and talk to the client, users and fellow devs. After all, that's what it FUCKING MEANS. Communi-fucking-cation.
See that burndown chart? See your anus? Know what's happening next?
Fuck Scrum and every fucking bottom-feeder that is scamming a living by promoting it. You're killing this business.
Hugs and kisses,
Platypus15 -
Just need to get this off my chest. Started a new job 3 weeks ago at a company that has been around ~18 years, it is only recently that they have started to grow more rapidly. I was brought in under the guise that they wanted to embrace change and better practices and so said I was up for the challenge.
In my 2nd week I was asked to produce a document on tackling the technical debt and an approach to software development in the future for 3 consultants who were coming in to review the development practices of the company on behalf of the private equity firm who has taken a major stake in the company. I wrote the document trying to be factual about the current state and where I wanted to go, key points being:
Currently a tightly coupled monolith with little separation of concerns (73 projects in one solution but you have to build two other solutions to get it to build because there are direct references.).
Little to no adherence to SOLID principles.
No automated testing whatsoever.
Libraries all directly referenced using the file system rather than Nuget.
I set out a plan which said we needed to introduce TDD, breaking dependencies, splitting libraries into separate projects with nuget packages. Start adhering to SOLID principles, looking at breaking the project down into smaller services using the strangler pattern etc. After submitting what I had written to be part of a larger document I was told that it had been tweaked as they felt it was too negative. I asked to see the master document and it turns out they had completely excluded it.
I’ve had open and frank discussions with the dev team who to me have espoused that previously they have tried to do better, tackle technical debt etc but have struggled to get management to allow them. All in all a fairly poor culture. They seem almost resigned to their fate.
In my first 2 weeks I was told to get myself acquainted and to settle myself in. I started looking at the code and was quite shocked at how poorly written a lot of it was and in discussions with my manager have been critical of the code base and quite passionate and opinionated about the changes I want to see.
Then on Friday, the end of my third week, I was invited to a meeting for a catch up. The first thing I was told was that they felt I was being too openly critical in the office and whether I was a good fit for the company, essentially a stay or go ultimatum. I’ve asked for the weekend to think about it.
I’ve been a little rocked by it being so quickly asked if I was a good fit for the company and it got my back up. I told them that I was a good fit but for me to stay I want to see a commitment to changes, they told me that they had commitments to deliver new features and that we might be able to do it at some point in the future but for now I just needed to crack on.
Ordinarily I would just walk but I’ve recently started the process to adopt kids and changing jobs right now would blow that out the water. At the same time I’m passionate about what I do and having a high standards, I’m not going to be silenced for being critical but maybe I will try and tackle it in a different way. I think my biggest issue is that my boss who was previously a Senior Developer (my current position) has worked at the company for 12 years and it is his only job, so when I’m being critical it’s most likely criticising code he wrote. I find it hard to have the respect of a boss who I had to teach what a unit test was and how to write one. It makes it hard to preach good standards when by all accounts they don’t see the problems.
Just wondering if anyone has suggestions or experience that might help me tackle this situation?12 -
Dumb ad poster strikes again. They provide “Venture Debt and Tax Credit Consulting Services” using CSS. Oh golly!2
-
Fuck sake :(
So I just checked my bank to find out I'm in an extra £300 debt because my fucking letting agency took my rent AFTER I MOVED IT FOR £98 BECAUSE I COULDN'T AFFORD IT.
Why the fuck is the world throwing turd after steaming turd at me, first the streets, then family, then job, then debt, now a constant barrage of shit. Just feel like ending it now so I don't have to deal with this shit anymore, fuck the human race and the shithole upside down society they've made :'(5 -
Anyone else work in a codebase that is so deeply convoluted, that the only way to make new features work is to write new code in a similarly convoluted way?
Everyone wants to refactor our system, but we're a small shop with an insane amount of technical debt, so it likely won't happen for a long time. Any suggestions in the meantime? I feel like I'm spending more time figuring out how to make something work in our system then learning actual good practices.6 -
SQL injection holes everywhere... The original author of the product put concatenated SQL queries throughout the whole application. If it's not the client asked for a penetration test, we as developers wouldn't even be given chance to fix this shit.
I'm actually glad to have the chance. I can't live seeing them every day but force myself to ignore them.8 -
Marketing pushed deadline for release one week earlier. That sucks.
What sucks even more is that frontend was not ready, but our frontend guy promised to take a look over the weekend and finish it. Thats cool we might make.
What sucks is that he fixed one small issue on Sunday 9PM and left the whole thing unusable.
So guess who was googling till 4am how to do stuff in bloody javascript?
In the end, I beleive I did a decent job and we ca release some kind of alpha and get rid of my dirty hacks later. That's how you get technical debt.
Now lets see what my boss thinks about it and if we are really going to release it or if I'm going to kill somebody.6 -
Amazing how people misuse the term technical debt.
A bug is a flaw in your design/development.
Tech debt is a conscious decision/tradeoff, which is often tracked and removed as the product matures.
The difference is subtle. Avoid this mix up at least in written communication.9 -
If I hear anyone utter the words "technical debt" one more time, I swear to God, I will fucking kill them :-/
It's your fault your design smells like piss in the first place. It's your responsibility to fucking fix it. You can't just sit on your arse all day, coming up with new, "innovative" ideas that will build up more technical debt :-/ it's making the life of everyone around you, a big, irreparable mess.10 -
Our company maneuvered themselves into a classic technical debt situation with a project of a second team of devs.
They then left, signing a maintenance contract and now barely work on the project for exorbitant amounts of money.
Of course management got the idea to hand off the project to the first team, i.e. our team, even though we are not experts in that field and not familiar with the tech stack.
So after some time they have asked for estimates on when we think we are able to implement new features for the project and whom we need to hire to do so. They estimates returned are in the magnitude of years, even with specialists and reality is currently hitting management hard.
Code is undocumented, there are several databases, several frontends and (sometimes) interfaces between these which are all heavily woven into one another. A build is impossible, because only the previous devs had a working setup on their machines, as over time packages were not updated and they just added local changes to keep going. A lot of shit does not conform to any practices, it's just, "ohh yeah, you have to go into that file and delete that line and then in that other file change that hardcoded credential". A core platform is end of life and can be broken completely by one of the many frameworks it uses. In short, all knowledge is stowed away in the head of those devs and the codebase is a technical-debt-ridden pile of garbage.
Frankly I am not even sure whom I am more mad at. Management has fucked up hard. They let people go until "they reached a critical mass" of crucial employees. Only they were at critical mass when they started making the jobs for team 2 unappealing and did not realize that - because how could they, they are not qualified to judge who is crucial.
However the dev team behaved also like shitbags. They managed the whole project for years now and they a) actively excluded other devs from their project even though it was required by management, b) left the codebase in a catastrophic state and mentioned, "well we were always stuffed with work, there was no time for maintenance and documentation".
Hey assholes. You were the managers on that project. Upper management has no qualification to understand technical debt. They kept asking for features and you kept saying yes and hastily slapped them into the codebase, instead of giving proper time estimates which account for code quality, tests, reviews and documentation.
In the end team #2 was treated badly, so I kinda get their side. But up until the management change, which is relatively recent, they had a fantastic management who absolutely had let them take the time to account for quality when delivering features - and yet the code base looks like a river of diarrhea.
Frankly, fuck those guys.
Our management and our PM remain great and the team is amazing. A couple of days a week we are now looking at this horrible mess of a codebase and try to decide of whom to hire in order to help make it any less broken. At least it seems management accepted this reality, because they now have hired personnel qualified to understand technical details and because we did a technical analysis to provide those details.
Let's see how this whole thing goes.1 -
!dev rant about social media 🤡 s like this one.
I hate when people seek for a reason to bitch on social media. This tweet for example.
1) I went to a small high school (small compared to a lot) and we still had a personal management class and this was covered.
2) Who the fuck uses checks still.
3) It's addition and subtraction, not brain surgery.
4) if you actually cared, Google it. There's a shit ton of information on balancing a check book out there.
5) You're probably in debt due to a shitty lifestyle combined with terrible money management, but keep playing victim. It's never your fault.
But of course she doesn't care. It's another case of someone wanting a reason to bitch and moan on social media. Get a hobby you clown.28 -
That feeling when the business wants you to allow massive chunks of data to simply be missing or not required for "grandfathered" accounts, but required for all new accounts.
Our company handles tens of thousands of accounts and at some point in the past during a major upgrade, it was decided that everyone prior to the upgrade just didn't need to fill in the new data.
Now we are doing another major upgrade that is somewhat near completion and we are only just now being told that we have to magically allow a large set of our accounts to NOT require all of this new required data. The circumstances are clear as mud. If the user changes something in their grandfathered account or adds something new, from that point on that piece of data is now required.
But everything else that isn't changed or added can still be blank...
But every new account has to have all the data required...
WHY?!2 -
The CEO of my last workplace asked an employee for his credit card; withdraw significant amount of money as a debt and never paid back. He already owes 2+ months of salary to that employee.
(He owed me money too but I never gave my Macbook back. 🖕)14 -
Every sprint, the beast grows.
Every sprint, we'll sort it "later".
Every sprint, we suffer more.
We warned them, but they did not listen. The technical debt rapture has begun. -
An asshole ex-client who owes me in excess of $1000, and doesn't intend to pay, has left me on their Twilio administration (unknowingly clearly) panel. I have the option of requesting around 30+ Cayman Islands numbers to auto charge his card enough to offset the debt.
Hmmmm.9 -
How useful was my CS Degree?
I don't have one. I went $50k in debt trying to get one, but after shuffling schools and trying to make it work around a full time job...I took a break.
I've been a professional developer for 4+ years and worked in IT for over a decade.
I'm not sure if it's worth going back, but it sucks to have all that debt and nothing tangible to show for it.5 -
There is a company providing a very speciffic service. And it has a core application for that svc, supported by a core app team.
That company also has other services, which are derivations of the core one. So every svc depends on core.
Now that we're clear on that... I was working in a team of one of the subservices. We very strongly depended on core. In fact, our svc was useless if integration w/ core broke down.
The core team had an annoying habbit. They refused to version their webservices and they LOVED to push api updates w/o any warnings. Our prod, test, other envs used to fail bcz of core api changes quite often. Mgmt, IT head was aware of the problem and customers' complaints as well.
So as a result, once core api changes we're all in a panic mode: all prior priorities are lowered and revival of prod is to be our main focus. Core api is not docummented, the changes are not clear, so we have to reverse engineer the shit out of it. We manage to patch our prod up w/ hotfixes, but now we have tech debt. While working on the debt, core api changed again, in test env. Mgmt pushes debt back and reallocates us to hotfix test. Hotfix is 80% done when another core api breaks. Now mgmt asks us to drop wtv we're working on and fix that new break. By the time we're to deploy the hotfix, another api breaks in another env. The mgmt..... You get the picture :)
2 years go by, nothing has changed so far.6 -
Coming up to (very) tight deadline..
Manager - "Stick in a temporary fix, if the data is mocked out it will do for the demo. We really want to show this feature."
Me - "Okay, I"ll pick up the technical debt after the demo."
*Changes are coded and rolled out*
Manager calls me over to his desk..
Manager - "This feature isn't bringing back real data."
Do these kind of people exist in all companies?2 -
You will have a first phase when you will do everything on your own.
Then you will have a second phase when you will totally rely on external libraries found on the internet.
Then you will have a phase when you will use libraries only for the stuff you don’t want to bother because, never reinvent the wheel but do not get too much tech debt.
Then the hyper simplification phase when you will refuse modern solutions for good old robust stuff as they used to do back then
Then I don’t know… but I am getting interested in agriculture
Anyway try always to learn new stuff and don’t be afraid of change as it is normal. And learn other skills not related to code, those will keep you alive1 -
Man the senior dev where I work produces the most half baked shit solutions but I guess management loves em because he produces results.
Like Holy fuck this whole place just has a raging hard on for Microsoft products. Plus management won't spend any money on dealing with any of the tech debt and our prod solution is just to erect more monoliths.
Someone please end my suffering5 -
Any one else’s kinda enjoy the process of removing tech debt? always thought it felt good to rip out old shit to put in shiny new shit4
-
My story about ego boost was when client came one day that they want some system that was prommised to him but guy who promissed him it forgotten about it.
Well, i quickly estimated things in head (i wasnt on meeting, was next to this room so i heared whats up), i pulled out my boss from meeting ("hey i need you urgently for sth") told him that i can make proof of concept to show him for next day (it was +-15) and sure enough, next day 10:00 first version that worked but was kindda rough around edges and with TON of technical debt was created. Than I told client that I just need a little bit more time to work on this as he can see it is here, it works, and it does what he needs, but it would be good to add some polish to it.
He bought my version and i saved company a client, that was lost becose some moron forgotten about him hah
Oh, yes, i got all i needed in return, day off and some extra $$ -
I really like my current job.
I work as an analyst developer looking after and sorting out people's old tech debt.
Once that's stable I get pretty free reign to do what I want.
It allows me to stretch from dev into graphic design, security, architecture and training on a very regular basis.
It allows me to keep an eye on tech trends, research and develop ideas using the latest shiny things.
Oh and if I say I need a thing, I can usually get it purchased.
All of the above comes with the "as long as it's for the benefit of the company" disclaimer, but when your direct managers see an IDE and think "okay he's working" the lines get a little blurry.
They keep asking me about my career goals and if I want to manage or move around. Fuck that noise, all of that noise.
Do wut I wawnt.6 -
so there was a tik tok (yes i'm a 17 year old american, so i use tik tok) about making an iphone app: "how to make an iphone app, step one open your mac and download xcode..."
i commented, "if you're not rich and can't afford a mac, learn flutter..." and a bunch of people go "just get a job it's only like $1k"
there's so many rich people out there who just don't understand the concept of debt, how there's not enough jobs, there's so many problems.
there's nothing even political about it. when the amount of unemployed people is more than the amount of job openings, not everyone can have a job, that's just a fact. how even if you have a job, you might be spending most of your money paying off student loans.
some people are just so stupid. they start off in a position where their parents have loads of money that gets them into great schools and internships and programs and they still want to claim it was "hard work" that got them there.31 -
It was an intern job for 2.5$ /h. I removed a bunch of technical debt, made their modx site localized (with a weird approach though but hey, I was an intern) and wrote a few new pages. I loved every minute of working there until the end, but had it lasted a bit longer than a month I'd have probably burned the place to the ground when I realized that my friends had earned twice as much at McDonalds and I could've earned about the same amount writing one excel macro a day.4
-
Me: We did [technical debt] and [next feature] is hard to implement because of it. I suggest we do [actual 5 min solution] before proceeding to implement [next feature].
Colleagues: Agreed
Team Lead: We don't have time for this I dont want to change anything because the way we did [technical debt] already works besides we can [more technical debt] code go brrrrrrrrrrrrrrrrrrrrrr3 -
There was a sales manager who was raked with overseeing me and another dev finish a last minute request project. He said at one point to the other dev that he was mad at developers because we understood something that he would never understand.
This same manager would often sit in on estimation meetings and constantly say that we were estimating too high and needed to come up with faster solutions. When we would offer him with caveats of possible technical debt or unintended side-effects/performance issues, he'd want us to go with that solution. He would then complain that we were always wanting to work on technical debt and that our application was slow. He would also ask for very high level estimates for large, unscoped features/apps without any meaningful level of detail, then hold us to the high-level estimated date even after revealing additional features previously unmentioned.
We learned to never compromise on the right solution and to push back hard on dates without proper scoping. They didn't learn, so I and most of the good devs left. -
I wish to create a guild for software developers. Like in the old age, where certain masterwork developers work together in order to provide non-hacky solutions. The beauty of a guild is that it would allow proper apprenticeship, Blacklisting of toxic companies and directly help with wage negotiations. Too often I see proper professionals working overtime just because they are harassed and having "impostor syndrome" (I know the term is hated, but passes the idea much better). Also maybe that would eliminate technical debt...
But hey, this is just a vision... :')10 -
My family (dad, mom and I) runs a software business. Things were going decent when I was in college, and just as I was about to finish college, it went slightly bad due to lack of some technical insight. So I figured, I had the knowledge to do so, and joined in the family business as my first job. When I joined, I found out that things were worse that what I expected, (lack of processes in the company to handle day to day business). But we took a year to fix it and solve issues. But during this year, while the company finally runs as a proper company, we went into some serious debt to keep it running, as we were expecting it to get resolved soon. But now, although the company is structurally fine, the sales have seriously dropped. This has us cornered and we aren't able to do anything. We are seriously considering shutting the company down.
Which is not the worst part. The worst part is the debt. Since I, was a part of the company too, I am equally responsible for paying it off. And now, due to both my parents hitting the retirement age, I will be the only one repaying it. I really don't want to invest an estimated 8-10 years of my life living very modestly and spending a large (70-80%) of my income in repaying this.
I don't even know what to do, and things just seem very hopeless for me. Looking for any advice anyone has.
I guess if I had a bit more experience in the real world, I would be better at dealing with this, but I'm literally just 1 year out of my college.42 -
Problem: ugly-ass php spaghetti code that has a technical debt of 16(!!!) years. I mean, it's so spaghetti that has two legacy frameworks that talk to each other inside the same monolith.
Observation: after two months my colleagues, trying to refactoring stuff, they were able to touch so little stuff that it almost made no difference.
How much is worth a rewrite? Because i don't think i can make a difference on a codebase so messy.
I know that rewrite is not the answer 99.9999% of the time, but i have tons of doubts here.13 -
When I realized my job isn't to code, it is to hack for hacks.
As smart developers our job is to be accountable to non-technical product management types who care nothing for elegant system design or DRY code. They expect features get done fast and "technically complete." They use terms like "minimum viable product (MVP)" to imply we'll go back and improve things like refactoring and tech debt later.
They will not. Most likely they won't even be around. Producers and scrumlords have the highest turnover rate of any role on a team. By design they get bored or frustrated easily and are constantly looking for greener pastures. Many people in self-proclaimed "non-technical" roles like this never had the patience and attention span to learn a real vocation, and they've discovered a career path that doesn't require one.
These are our masters. As developers, we will answer to them forever and always.1 -
While in a meeting with our CEO, I make mention of the fact that we now have the opportunity of being able to "repay technical debt". Before being able to go on much further with the conversation, the "dev manager" turns to me...
"Dev Manager": You're going to have to explain 'technical debt'.
Me: ... 🤦🏻♂️4 -
Sometimes it's better to burn a bridge so you don't even think about crossing it in the future.
See, I left a company some years ago because I didn't see my future in it and all management combined had a collective intelligence of a chicken.
However, I got a call from them a couple of months ago asking me if I could return. The salary was double and the working arrangement seemed fine. On paper. WFH. Flexibile hours...
Since I actually liked the project itself for its technical challenge, I accepted the return offer. What a bad idea that was.
Of course, the things that made me leave for the first time had only gotten worse. Bad leadership, idiot developers in team leader positions. Tech debt higher than Mount Everest. Bad infra that makes you want to off yourself every time you work on it. The whole circus.
Seriously, the "senior" team leader will happily merge code that includes assert(true == true), but hold up a well written MR because he has a personal vendetta with the developer.
Personally, I always check him whenever he starts being an ass. But the poor juniors are in hell. They're terrified.
Now I'm leaving again, but this time I've made sure I can't come back.3 -
Oh boy, this is gonna be good:
TL;DR: Digital bailiffs are vulnerable as fuck
So, apparently some debt has come back haunting me, it's a somewhat hefty clai and for the average employee this means a lot, it means a lot to me as well but currently things are looking better so i can pay it jsut like that. However, and this is where it's gonna get good:
The Bailiff sent their first contact by mail, on my company address instead of my personal one (its's important since the debt is on a personal record, not company's) but okay, whatever. So they send me a copy of their court appeal, claiming that "according to our data, you are debtor of this debt". with a URL to their portal with a USERNAME and a PASSWORD in cleartext to the message.
Okay, i thought we were passed sending creds in plaintext to people and use tokenized URL's for initiating a login (siilar to email verification links) but okay! Let's pretend we're a dumbfuck average joe sweating already from the bailiff claims and sweating already by attempting to use the computer for something useful instead of just social media junk, vidya and porn.
So i click on the link (of course with noscript and network graph enabled and general security precautions) and UHOH, already a first red flag: The link redirects to a plain http site with NOT username and password: But other fields called OGM and dossiernumer AND it requires you to fill in your age???
Filling in the received username and password obviously does not work and when inspecting the page... oh boy!
This is a clusterfuck of javascript files that do horrible things, i'm no expert in frontend but nothing from the homebrewn stuff i inspect seems to be proper coding... Okay... Anyways, we keep pretending we're dumbasses and let's move on.
I ask for the seemingly "new" credentials and i receive new credentials again, no tokenized URL. okay.
Now Once i log in i get a horrible looking screen still made in the 90's or early 2000's which just contains: the claimaint, a pie chart in big red for amount unpaid, a box which allows you to write an - i suspect unsanitized - text block input field and... NO DATA! The bailiff STILL cannot show what the documents are as evidence for the claim!
Now we stop being the pretending dumbassery and inspect what's going on: A 'customer portal' that does not redirect to a secure webpage, credentials in plaintext and not even working, and the portal seems to have various calls to various domains i hardly seem to think they can be associated with bailiff operations, but more marketing and such... The portal does not show any of the - required by law - data supporting the claim, and it contains nothing in the user interface showing as such.
The portal is being developed by some company claiming to be "specialized in bailiff software" and oh boy oh boy..they're fucked because...
The GDPR requirements.. .they comply to none of them. And there is no way to request support nor to file a complaint nor to request access to the actual data. No DPO, no dedicated email addresses, nothing.
But this is really the ham: The amount on their portal as claimed debt is completely different from the one they came for today, for the sae benefactor! In Belgium, this is considered illegal and is reason enough to completely make the claim void. the siple reason is that it's unjust for the debtor to assess which amount he has to pay, and obviously bailiffs want to make the people pay the highest amount.
So, i sent the bailiff a business proposal to hire me as an expert to tackle these issues and even sent him a commercial bonus of a reduction of my consultancy fees with the amount of the bailiff claim! Not being sneery or angry, but a polite constructive proposal (which will be entirely to my benefit)
So, basically what i want to say is, when life gives you lemons, use your brain and start making lemonade, and with the rest create fertilizer and whatnot and sent it to the lemonthrower, and make him drink it and tell to you it was "yummy yummy i got my own lemons in my tummy"
So, instead of ranting and being angry and such... i simply sent an email to the bailiff, pointing out various issues (the ones6 -
So here's my problem. I've been employed at my current company for the last 12 months (next week is my 1 year anniversary) and I've never been as miserable in a development job as this.
I feel so upset and depressed about working in this company that getting out of bed and into the car to come here is soul draining. I used to spend hours in the evenings studying ways to improve my code, and was insanely passionate about the product, but all of this has been exterminated due to the following reasons.
Here's my problems with this place:
1 - Come May 2019 I'm relocating to Edinburgh, Scotland and my current workplace would not allow remote working despite working here for the past year in an office on my own with little interaction with anyone else in the company.
2 - There is zero professionalism in terms of work here, with there being no testing, no planning, no market research of ideas for revenue generation – nothing. This makes life incredibly stressful. This has led to countless situations where product A was expected, but product B was delivered (which then failed to generate revenue) as well as a huge amount of development time being wasted.
3 - I can’t work in a business that lives paycheck to paycheck. I’ve never been somewhere where the salary payment had to be delayed due to someone not paying us on time. My last paycheck was 4 days late.
4 - The management style is far too aggressive and emotion driven for me to be able to express my opinions without some sort of backlash.
5 - My opinions are usually completely smashed down and ignored, and no apology is offered when it turns out that they’re 100% correct in the coming months.
6 - I am due a substantial pay rise due to the increase of my skills, increase of experience, and the time of being in the company, and I think if the business cannot afford to pay £8 per month for email signatures, then I know it cannot afford to give me a pay rise.
7 - Despite having continuously delivered successful web development projects/tasks which have increased revenue, I never receive any form of thanks or recognition. It makes me feel like I am not cared about in this business in the slightest.
8 - The business fails to see potential and growth of its employees, and instead criticises based on past behaviour. 'Josh' (fake name) is a fine example of this. He was always slated by 'Tom' and 'Jerry' as being worthless, and lazy. I trained him in 2 weeks to perform some basic web development tasks using HTML, CSS, Git and SCSS, and he immediately saw his value outside of this company and left achieving a 5k pay rise during. He now works in an environment where he is constantly challenged and has reviews with his line manager monthly to praise him on his excellent work and diverse set of skills. This is not rocket science. This is how you keep employees motivated and happy.
9 - People in the business with the least or zero technical understanding or experience seem to be endlessly defining technical deadlines. This will always result in things going wrong. Before our mobile app development agency agreed on the user stories, they spent DAYS going through the specification with their developers to ensure they’re not going to over promise and under deliver.
10 - The fact that the concept of ‘stealing data’ from someone else’s website by scraping it daily for the information is not something this company is afraid to do, only further bolsters the fact that I do not want to work in such an unethical, pathetic organisation.
11 - I've been told that the MD of the company heard me on the phone to an agency (as a developer, I get calls almost every week), and that if I do it again, that the MD apparently said he would dock my pay for the time that I’m on the phone. Are you serious?! In what world is it okay for the MD of a company to threaten to punish their employees for thinking about leaving?! Why not make an attempt at nurturing them and trying to find out why they’re upset, and try to retain the talent.
Now... I REALLY want to leave immediately. Hand my notice in and fly off. I'll have 4 weeks notice to find a new role, and I'll be on garden leave effective immediately, but it's scary knowing that I may not find a role.
My situation is difficult as I can't start a new role unless it's remote or a local short term contract because my moving situation in May, and as a Junior to Mid Level developer, this isn't the easiest thing to do on the planet.
I've got a few interviews lined up (one of which was a final interview which I completed on Friday) but its still scary knowing that I may not find a new role within 4 weeks.
Advice? Thoughts? Criticisms?
Love you DevRant <33 -
I sign the lease to my first apartment in just a few weeks!
I'd like to say thanks to the US government for allowing me to go in debt so I can live independently and not be forced to live with a random person in a dorm on campus.5 -
Writing clean code.
Writing useful comments.
Commit before experimenting.
Just anything to prevent Technical Debt. Just because it works doesn't mean it should be kept as is. Later down the line you'll need to add a new feature and you'll spend 2x more time fixing the things you took for granted. -
How bad it feels when it work in a place where Agile and DevOps are mostly abused buzzwords.
Forced doing "scrum" with:
- half of the team providing endless daily reports instead of focusing on the 3 questions
- a scrum master that is barely reachable
- a product owner that would not even make a decision
- a sponsor that pushes us to go faster regardless of current technical debt (it's important to look good to other sponsors!)
- doing all possible scrum ceremonies with no value added
- not even estimating stories
- not even having accurate description in stories. Most of the time not even a description.
- half of the team not understanding agile and DevOps at all
Feels so good (not). Am I the one in that boat?? ⁉️
What's the point of doing scrum if implemented that badly?? 😠6 -
Does anyone get the feeling that as they become more senior, they care less about meeting "best practices" and more of just "good enough"?
Best practices being everything in those books about TDD, unit testing, design patterns, design artifacts.
Good enough: enough so it won't blow up in prod, some tests but not 80-90%, some docs. Basically not like those public docs, open source projects/frameworks where function is covered
When I first started professionally, I was all about efficiency, good design, reducing technical debt, clean code.
But now, I look at problems and instinctively I may make these decisions but I don't really think about it much. First goal is to just get something working, clean it up later... Maybe.6 -
Me: Why are we spending time building reports for Support? AFAIK they never read or use them.
Boss: Seems they expect you to do it.
Me: Then what exactly are they supposed to be doing? All the issues seem to just escalate back to us.... We should just make sure issues never get into PROD
Boss: I agree, they're always firefighting... we gave them more funding so eventually they should catch up **Me: I highly doubt it, you should just stop hiring monkeys** esp. if we prevent PROD issues.
Me: Yea... we should prevent production issues because someone always has to pay off the (technical) debt and interest rates in PROD are very high6 -
What is it with people just blindly fucking copy pasting from a different project, seeing it work and then submitting it for review.
You copy 2 lines, one of which fixes the thing, WHY KEEP THE OTHER USELESS IRRELEVANT PIECE OF FUCKING SHIT IN THE FUCKING CODE WHY BOTHER WITH KEEPING IT IN IT'S MORE TECH DEBT BECAUSE NOBODY WILL KNOW WHY IT'S THERE
WHY DO I CONTINOUSLY HAVE TO POINT THIS OUT IT'S SO FICKONG TIRING TO CONSTANTLY HAVE TO BE THE ANNOYING REVIEWER WITH +20 COMMENTS ON SMALL PRS IM SO FUCKING TIRED OF BEING 'THAT GUY'
In my language it's called being 'slordig'. Whenever I submit sometning for review I always go over the diff to see is I missed anything that is no longer required and remove it WHY DONT THEY DO THAT TOO
And then their PR stays open for 2 weeks like they forgot about it and during standup they say 'its in review' like I havent already looked at your piece of shit code
FUCK2 -
I googled "scrum sucks" and now I can see a pattern described as an argument against the whole scrum/agile/whatever thing, which is already happening since we started adopting agile: we're consciously incurring technical debt and being allowed to create a mess out of the previously existing code architecture just to "get this ticket out of the way"
We're also refraining from acting immediately on negative user feedback on a feature just released, which I think can wear user perception of the company as a whole, all because it's "not the focus" of the current sprint9 -
Oops, looks like "Benedict Cumberbatch" just broke your unrealistic design specs and spotlights your non-inclusive cognitive bias, designer. Maybe stop using "John Smith" as mock design data for users' names and design things for real people.
Developers should not be paying down your design debts. Fix this!
Sincerely, the UI developer doing your job6 -
LPT: Avoid building any complex report/tool with Excel, because you will forever be fixing the damn thing!1
-
I'm about to quit my job this week to start my own software company... I have a meeting this friday with the first potential-client and I feel very anxious about it. I also feel scary because if this doesn't work probably I will stay unemployed with a 30K debt because of my Mac
Scary but anxious... Feel pretty excited, wish me luck guys!14 -
Our code base is shit.
To improve, we went through different coaching style: Freudian Psychoanalysis, behavioural psychology, gestalt
- Freudian Psychoanalysis: After several years refactoring and discussing our technical debt we can say that we really understand our code in deep. But it's still shit
- Behavioural psychology: after some months of work, we built a lot of testing. Now the code is still shit, but we don't get dirty anymore
- Gestalt: after few weeks sessions, the code is still shit. But we don't care anymore, we accept it and we are happy
(note. it's an adapted psychology joke)1 -
Me: we need to fix all these technical debt and prevent new ones from growing
Boss: this needs to be prioritized by product owner
Correct me if I'm wrong but a PO didn't see all the shit under the hood, (of a nice looking "car")... And by the time the engine starts choking... It's already too late?1 -
I have a lead developer who is obsessed with over-engineering everything to the point where we are adding features that he thinks the clients will ask for, but 50% of the time they don’t want it and we just end up maintaining useless code. To top it off, he doesn’t touch the code anymore and is a glorified business analyst, plus he’s slated to retire soon but keeps pushing the date back a year at a time. Just move on with it! I want to be spending my time on cleaning up technical debt, not making more.
-
So I am finally plunging into continuous integration. If I make one more deploy script mistake, I've lost enough time to merit having learned a better solution than bash scripting calling git and rhc and py files I wrote. I have failing tests that are failing because they weren't updated after the million and a half urgent changes in the past 2 months, so it's time to act like I am a TDD fanatic and write the tests correctly. So much work. All from me listening to the constant req changes, listening to the urgency, letting non-devs get under my skin if you will. I'm optimistic in all the wrong places - I think I can write that by end of day let's try it. I'm lazy in the wrong places - I think that I can write that test later, because all I changed was XYZ (which took all night but I said I'd get it as close as possible didn't I?). And I think these handful of bash scripts are good enough to make sure I run tests? But remember, I didn't write the tests or I didn't go back and update them. Or the tests that fail, I'm too lazy. And so much of the tests, I would need to use, idk selenium for, and damnit if I really don't want to dig for element IDs to wait for every time I need an AJAX call.
Okay wow, I really did rant here. And discredited myself a bit lol I need to ignore the wrong lazy and embrace the right lazy. Protect myself from myself and from contributors. It really is, up to me now, to rescue myself from my bad habits. Bad habits perpetuated by clients urgency every day, to change things, that should have been finalized in November if we wanted a stable flipping system in January. It feels like the blind (client) leading the blind (me, when I do dumb shit like rush features out the door half tested).
Anyway all this came out, because I have been reading about continuous integration and stumbled upon this quote. And thought someone might laugh at the anachronism like I did2 -
In my short career, I've seen projects become legacy before their first release. Hell, I've seen proof-of-concept apps turn into technical debt because to management as long as it works we won't rewrite it.
-
Went to the O’Reilly conference on architecture last week. Will say there were some good points made (really liked the elephant in architecture and tech debt talks). But wow developers love to circlejerk. If you don’t deploy microservices on the cloud with serverless actions for everything then they’ll talk down to you like what you do isn’t important. Like so many talks memed monoliths were annoying. Like I get we love the new and shiny things but it’s kinda ridiculous.1
-
I don't understand how my managers suddenly forgot that my "down weeks" we're due to technical debt I inherited. The whole on boarding hasn't been in my favor. I've stayed at work everyday til long after work hours, digging through code, trying to get JIRA tickets done, encountering issues specific to our code base that no one would ever discover on their own without docs/help from the original dev. The whole time, I was told that they know what's going on and apologize. I constantly expressed that plenty of what we were doing was building on antipatterns. They acknowledged. When a ticket wasn't done, they always knew the very specific reason and I wasn't faulted. 6 months in, I receive a great annual review. 7 months in? I receive an email titled "Performance Discussion," detailing 4 of those incidents where a ticket was pushed back -- with inaccurate depictions of what actually went down. They actually wrote that I didn't communicate. One part of the report expressed that there were "bugs found in production due to inadequate test coverage." WTF!! Everything made it past code review and QA. What are you talking about?? In fact, the person who wrote that merged my code in each time!!!! Insane!! Anyway, Q2 is partly about cleaning up technical debt, which is a responsibility I have been vested (fantastic). I've deleted about 800 lines of code in the last 2 weeks and added plenty of doc strings. Two of the most important modules our application works from are about 1000 lines of JavaScript each without any comments/docs. I'm changing that, but I don't know if my managers truly know the significance. Someone was recently promoted to my position but manually wrote out a sorting algorithm (specified numeric indexes and all); didn't do shit to earn it but breathe. And while they get more and more praise and responsibility, I'm over here stuck trying to prove myself and live up to why I assume they hired me. It's ridiculous. I love the company, but I'm not getting any sleep and I'm stressed out. It's only been about 7 months and I've been doing everything I can. Why is this happening? What am I doing wrong? I've been developing a recurring (physical) headache and ticks. My heart/chest area sometimes feels like it's lifting weights. I sound like an idiot, pushing so hard for a company that isn't mine, but I take so much pride in being in this position, and I'm so set on proving myself this early in my career (I'm 25).8
-
My boss's SQL schema has no foreign keys and he said he left them out intentionally because they should be handled in the application layer and they're a large performance impact.
This is a fresh greenfield project and he's already pre-optimizing for problems we don't have yet, on things that may or not be bottlenecks using ideas (e.g. foreign keys have huge performance costs on mariadb/auora) with no hard data or facts to back them up.
Let's start a new project with some technical debt!2 -
I can't begin to know where to start. I once worked with a lady that was annoyed by me for stretching and began to start nagging at me for it. I promptly explained to her that hearing her complaints annoyed me as well and that I stretched and yawned because my work made me sleepy due to the fact that I had to listen to her relentless and incessant nagging.
I currently work with a "graphic designer" of 25 years experience who had no idea that color picker tools were an actual thing in real life. He's been eyeballing our brand colors for years. SMH... We collectively refer to him as Captain Colorpicker now.
This same guy had never used a credit or debit card in his entire life to purchase a meal at a restaurant.
I worked with a micromanager that constantly reminded me daily of the hierarchy for decision making in the company and where you stood firmly under her thumb. That is until she conveniently wanted shy away from a tough decision. Then it was all on me.
She was the marketing director and every single one of these stupid titles:
http://memeburn.com/2013/05/...
I am in a company as a shareholder with a partner who threatened to take away my shares on several occasions when I don't agree with him. At the time our company was in debt, capital accounts were low, and we were hemorrhaging money to keep afloat. The dumbass tried to offer me $200 per share to "buy me out." The company was $5,000 in the hole and my shares were worth around -$11 each. He never had that much money. -
I no longer work for a startup company. On Monday I’ll start work for a real company, one that values project managers and their infrastructure. As a DevOps engineer, I value the IT resources that power my old companies SaaS platform. My old position is not being back filled and they’re hiring a full time dev instead of and Ops engineer. They have chosen to proceed with zero employees who know Azure or the platform their own software runs on.
Word to the wise when choosing to work for a startup. Ask these questions:
- Do they have a dedicated product manager/owner , who isn’t also the CFO?
- Do they value infrastructure and their IT resources ?
- Do they have decent powered laptops to work with?
- Do they have too much technical debt because they’re always building new features ?
- Do they work 18 hour days because they set poor work/life boundaries ?
- Who handles Support tickets , and what’s a typical support issue like?
- Do they have a branching and merging strategy? Don’t accept “we’re too small” as an answer! It’s a trap that they don’t want one.1 -
The switch from “Wild West” to ITIL uncovered so much bull crap. 20% of the people where doing 80% of the work. And then people were keeping some things alive by shear will, once Changes and Service Requests were required, it was shown how awful the environment truly was and how few people in the company knew how anything worked.
-
Product and Design have a common enemy. Yes, you guessed it right, Engineering.
The former aim to solve user problems and focus heavily on aesthetics most of the time. While the latter actually does it.
As a Product guy, I admit that I absolutely hate the role these days because all that are asked to focus on is engagement retention conversion and other fancy metrics. Community has missed the entire point of why the fucking role exist.
On the other hand, engineering always asks the best questions. Focuses on performance and scale while periodically checking on tech debt. Yes, they suck at business or sales but when the solution works, things automatically make money.
I DON'T FUCKING CARE HOW BEAUTIFUL YOUR APP IS, IF IT DOESN'T SOLVE MY PROBLEM THEN IT'S RUBBISH.
Functionality and UX matters to more than colour scheme or fonts. Reason why Amazon is a huge. They are functionally solving a great problem while constantly improvising UX and not giving a rat's ass on UI.
Another down side to your fancy design is that the UI elements make things heavier. No wonder engineers have always been the best problem solver.
We lost our way. Tech world needs to go back a decade or two to fix the tech debt.8 -
My tech debt meltdown is happening right now. We are releasing our huge micro service based product next week with no automated testing of any sort. Our front end clients are relatively DRY. No tests and dry = can't change anything = hacks on top of hacks.
Why? Team lead won't listen to me and has beaten me down so I don't care anymore. If it's broken fuck it.2 -
What time do you get up on work days? I'm starting to think I should have me time in morning (reading, learning, coding my own things) before going to work.
I've think I've come the the conclusion that this job/team is sorta chaotic and tedious and there's no skill growth. Not learning anything new. Usually just something broken, integrate some new feature, build something that I've already built before but differently for this specific case. Nothing fun or challenging, or new.
And also tired of trying to be a "role model", make things right. I tend to like to keep things orderly, documented, well tested and clean but everyone else seems to just bulldoze their way to get whatever they need, leaving a mess behind... It's been like 2yrs already but the technical debt seems to be growing not shrinking...17 -
Former classmate: Our alma mater is looking for alumni to participate in career day. Share what skills you need and the steps you took for your career path!
Me: Thanks for the invite. But I’m not a good role model for this.
FC: Why not? You’re a successful engineer!
Me: So I used my full tuition university scholarship on an art degree because I was too depressed after a long physical illness. Oh, and for some reason a lot of y’all assumed I went to a private uni when I went to the public uni. Then I went to graduate school immediately after and during a recession and ended up with tens of thousands in student debt. Then I did a lot of part time jobs before going to a shady coding bootcamp. I’m lucky to have encountered an advocate and a company willing to take me on as a junior dev. I’m pretty sure I was a diversity hire and I was definitely underpaid. I’m lucky to have moved on from there and to be thriving now. I’d tell the students to skip college (like I had considered) and go into a trade. And I’d also tell them a lot of life is luck and not just hard work.
FC: 😧2 -
Time for a full refactor. Everyone can go home for three days while I unfuck every page and pattern.
-
First and foremost introduce concepts like version control from the beginning. As for the rest, the motivated students will teach themselves the relevant things and the others will fail/drop out. That seems to take place now.
My biggest complaint with the education system is more general and not CS specific. Remove all of the gen ed requirements. REMOVE ALL THE GEN ED REQUIREMENTS. They don't make you "more well-rounded" they just set you back 2 extra years and throw you into twice as much debt as necessary. We spend 13 years learning the foundational things just to spend 2 years in college paying out the nose to go through it again.
Fix that and add a few relevant ideas into CS degrees and I think the education system is decent. There will always be bad teachers, but software developers need to be able to pick things up themselves so it's just preparation for when they get a job and have a useless senior dev to work for. -
If you give the client a choice of:
- Quick and dirty solution which results in tech debt
- Better solution that would be cheaper in long run
They will always choose the first without fail..2 -
Widget "hack" in secondary.
When I was around 13 or 14 I was enrolled at a public school in the UK. In an effort to try be eco friendly, the students and a IT technicain teamed up to try and create a widget that would track the consumption of printer credit used by all users (staff and students).
At first, I was just playing around with the homepage source code but eventually noticed the widget had separate code within the page.
Because all of the computers were interconnected, I grabbed the source code of the home page and put it into a notepad editor.
I used the intranet to look up staff names and student login usernames. I replaced my user ID with several staff members.
Boom, I could see how much paper they had used, how much they owed the library etc. May not be as impressive as others exploits but some staff were in debt by hundreds and never paid back a penny.
Hope you liked my story.2 -
I worked for a company that was in entertainment news. Specifically rock music.
On the terrible night of the Battaclan (spelling?) terror attacks in Paris. Few years ago our site was one of the first to run the story (the main attack happened at a rock concert). Anyway the tech debt that we’d been complaining about for months reared it’s head. The site got so much traffic that it was just fucked all night. Literally couldn’t get the databases back up for about 7 straight hours. -
Let's Americanize idioms:
1. Break the ice — Open the wallet
2. Bite the bullet — Pay the price
3. Hit the nail on the head — Count the exact change
4. Let the cat out of the bag — Drop a dime
5. Piece of cake — Easy money
6. Costs an arm and a leg — Break the bank
7. Under the weather — In the red
8. The ball is in your court — The check is in your hands
9. Burn the midnight oil — Spend the last dollar
10. Hit the sack — Cash in for the night
11. Barking up the wrong tree — Investing in a bad stock
12. When pigs fly — When money grows on trees
13. Kick the bucket — Cash out
14. Spill the beans — Drop a coin
15. Break a leg — Make a fortune
16. Pull someone's leg — Shortchange someone
17. Once in a blue moon — Once in a financial windfall
18. A blessing in disguise — A hidden treasure
19. The best of both worlds — A double dividend
20. Caught between a rock and a hard place — Between a loan and a hard debt16 -
3 months to get married:
* gets another client, everything good
2 month to get married:
* lose previous client, all good, the previous client didn't pay as much as the current one
1 month to get married:
* previous client don't wanna pay for the previous month
* lost the second client
Great job 👍 debts + no fucking job6 -
Fuck stupid managers.
My current agency tried to create a bundle of generic Microservices with the hope of save time and money on future projects. That was two years ago (i was working here from 4 months ago).
What they have now? well, a sort of distributed monolyth were if one service goes down, everything else fails, infinite technical debt, no security policies (yeah, all the apis are open!!!) Business rules on the frontend . . .
And what the stupid manager say? "Everything must be ok because i designed it very well, i research a lot for this"
Stupid boomer.
PD: Yeah, despite the fact he is judt a manager, he take the responsibility to design the full architecture, idk why no one srops him.4 -
I'm done fighting with my professor over my thesis project. They want me to go slower in building my project and we only have 7 weeks to deployment. Well screw you how in the hell do you expect me to prototype, build, bug fix and deploy all this and go SLOWER. YOU AREN'T AIMING TO BE A CAREER DEVELOPER ARE YOU?
I feel really sick this morning. Between the anxiety of graduating soon and my debt...
I just want live for myself. Not the sake of a school or some corporate entity. When this is over I want to work overseas in Europe. Do something for myself for once.2 -
So new job started.
Just for context- old company was shit.
Promised the world but.
No benefits.
Terrible project management.
High pressure.
But green field interesting work (except by now it’s a few years in so it’s a ‘browning’ field but I was on it from the start).
New company first impressions..
Seems a fantastic company.
True to their word they have money for tools.
Making time for personal development.
Much bigger development community/department.
Seems like the term are under far less pressure so far at least.
But a MASSIVE amount of tech debt.
People seem to want to do the right thing and they’re making time to try and deal with it.
But one or two are very opinionated as to how to deal with it.
So this could go either way and only time will tell I guess.
Trying not to over analyse every little thing they say but I’m hyper sensitive to it at the minute while in the early days.
As always the real challenge in IT is the people not the tech. I count myself as part of the problem, sure I will form some opinions and sharing them too.3 -
rant="""
It's too many features for me to keep up with. And the client just bounces between this matrix of all the possible permutations of them, refusing to admit that he is asking for mutually exclusive behavior in more than one place. I have mentioned to him at least 12 times a year that there is too much going on, not organized, we need to simplify, prioritize, or we will have 100 half baked untested features.
Of course it is more or less made it out to be that this is all my fault, or at least it's hard not to feel that way when I say:
It will be a long time before X will be working, we need 25 other things first.;
Next day he asks:
Have you made any progress on X;
I reply: Now we need 24 things to be done at this rate it will be a month.;
He replies:
Ok but I need this yesterday. How about if you add a new feature Y that does everything X does without those 24 things?;
I reply: That will not work at all like X. Y is just X + 1 more feature.
He replies: Ok well I need Y so when you're done with X I need a way to do it like Y also. I just thought it'd be easier.
EASIER TO ADD MORE FUCKING FEATURES YEAH SURE THATS EASY AS FUCK YOU FUCK FUCK FUCK. He's a nice enough guy, pretty smart compared to my first few paying gigs, but wtf really? How do I come out and tell you I need 25 days and you ADD more work? This was one example.
IN TWO days he has added 12 features. And during the week has asked for 29 UI interfaces to be COMPLETELY different. This is becoming COMMONPLACE. Every week there is either a huge change, or a conversation like about that finds its way into the entire business flow inside an dout.
The worst thing is: I TOTALLY understand what he needs. I feel that HE doesn't. This weekend I spent literally HALF of his retainer on getting equipment into my hands to bring it back to find out it DOESNT WORK. Why aisn't HE doing this so I can finish the features from NOVEMBER that HE NEEDS in order to PROCESS SALES.
I've tried and tried but I just can't get through to this client what a tremendous waste of time his \"process\" is, for lack of a better word. Constant changes, contsant additions, lack of clarity, needless repetition and contradictions, constantly adding moonshot ideas to compete with every industry in the region, and not beta testing anything until something goes wrong.
Fuck this guy! His business is failing and I felt responsible for the longest time but it is clear to me that if I wanted to save his business I would have to ignore 95% of his feature requests. I ignore 50% now because of the stress in trying to determine which of the 3 different paradigms he is talking about changing. I will lose this client, and I feel like he will sue me to get all of his money back. He holds me to very little honestly - BUT WEEKLY reminds me that he won't be able to pay me next month if feature XY and Z arent ready!
If a developer is CLEARLY overwhelmed, it makes NO sense at all to continue to PILE ON feature after feature
"""
try:
while true:
rant+=", after feature"
except DevHeadExplodes as inevitable:
raise YourDevsRatesOrLookElsewhere(inevitable)8 -
I Started in 2012 at 12 years old with Minecraft as an introduction to computer programming. I created a few of my own mods and released them to the forums. I think my name was "lilwillis2" if you want to look them up. Once I created mods, I got into game development. I used The Cherno's game programming tutorials and a few others on youtube. After having my fun with game Dev and the debt of College soon to come, I got into developing my own apps, which got me into using react-native. React native made me realize that I should probably try to stay up to date with the latest frameworks and languages, so that I can create a surpieror product in much less time. It also made me realize how quickly programming changes. Last year, before getting into react-native, I got a summer job using Django and mezzanine at a local company as a web developer and they want me to work there again this year, maybe even on a salary with a pay raise. I recently turned 18 and I already look at code I wrote a few months ago as crap 😂, but hey it means I'm improving quickly!
BTW, if anyone knows any tips on paying/saving for college, please do let me know!1 -
tech debt is a b!+ch you can only pay if your client somehow approves the budget for something they will never notice.6
-
Fuck my project manager. He wants to sacrifice code quality, test coverage and technical debt in favor of more features. In the future when everything takes longer or breaks guess who is responsible? Certainly not him.3
-
I'm very short tempered at the moment.
A lot like Dr Cox in Scrubs.
And really ... You mother fucking stupid idiotic developers with your tendency to discuss absolutely everything just to not have to work for a dozen more minutes...
But ok. Let's discuss.
But even that seems to be absolutely impossible for you little shitheads.
Instead of discussing solutions, nooooooooo....
We're grown up developers so we discuss how the baddy manager hurt our lil feelings by saying that we're morons for wasting all the fucking time without coming up with a solution.
Now my lil cry babies, once the baddy manager got your pacifiers so at least once in an hour my migraine finally calms down for not hearing your bitching pathetic lil whiny noises...
Face it. Over the years you collected a huge ton of mother fucking tech debt because no one of you actually took a bit of time to use that empty space in your head to think at least a mu further than the dumb jira task you were given.
And yes. That ends badly.
And yes. As it is now in a state of cluster fuck, guess what. You have to work. You get money for it, remember?
And yes. if you would stop moping and bitching and crying and being a pathetic lil piece of shit, you'd realize we could come up with solutions very fast.
But nooo... Let's talk about our feelings.
And how we are over worked.
And how nothing works.
Cause yes. That will be the hail mary that saves us all.
Let me give u a hint: it's a mother fucking waste of time bitches.
I think it's time I put a pacifier not only in your mouth, but arse too. Maybe it helps overcoming the anal and oral phase of childhood so we can at least have something close to adult talk.
*breathes in*
Gooozfraba.3 -
Does anyone work on a team with multiple stacks?
For example we have batch jobs in Java but also have a JS front-end and APIs.
How do you divide the developers and the work across these projects?
Currently everyone does everything but I feel like this is inefficient and hard to develop expertise. And different people or even the same person will make the same mistakes over and over again because they don't know how to do X or they forget or overlook some quirk. When I switched Beck to JS took me like a week to get a Promises nailed down again. And this morning someone else had a production bug and couldn't figure it out. But when I looked at the code I could pretty much see where an issue could be (uncaught exception in a promise)
Also the testing frameworks are very different and there's a lot of infrastructure technical debt, things that really should've been done a long time or fixed but no one had the time or expertise to do it or notice it (until it causes a production issue and then everyone is like WTF is happening??!!!!).
I'm not the manager but I always feel that the team needs to be split along the language lines and specific people need to own these projects to review and code changes for all these common newbie errors. And also developer enough expertise to foresee problems before it becomes a production issue.9 -
Technical debt.... so much technical debt it’s driving me crazy!
It’s not only that there’s commented out lines in abundance, methods and whole classes not used anywhere anymore in a decade and code using not only deprecated standard library functions, but some that have been REMOVED in earlier versions of the language (have no idea how those have even stayed functional...), and documentation that has very little to do with the reality... but today, I submitted a pr to fix the documentation for setting up dev env - which was outdated already when I started a few years ago!
I know we are understaffed and busy, but c’mon - it doesn’t take much to leave the code in a better place than when found...4 -
I did it y'all, I just put in two weeks. Goodbye tech debt, goodbye anti-patterns, goodbye constant firefighting.5
-
TLDR;
How much do you earn for your skill set in your country vs your cost of living?
BONUS;
See how much I & others earn.
Recently I became aware of just how massive the gap in developers earnings are between countries. I'd love to calculate a fixed score for income vs cost of living.
I know this stuff is sensitive to some so if you prefer just post your score (avg income p/m after tax / cost of living).
I'm not shy so I'll go first:
MY RATES
Normal Rate (Long term): $23
Consulting / Short term: $30-$74
Pen Test: $1500 once off.
Pen Test Fixes: consulting rate.
Simple work/websites: min $400+
Family & Friends: Dev friends are usually free (when mutually beneficial). Family and others can fuck off, even if they can pay (I pass their info to dev friends with fair warning).
GENERAL INFO
Experience: 9 years
Country: South Africa
Developer rareness in country: Very Rare (+-90 job openings per job seeker).
Middle class wage in country: $1550 p/m (can afford a new car, decent apartment & some luxuries like beer/eating out).
Employment type: Permanent though I can and do freelance occasionally.
Client Locality: Mostly local.
Developer Type: Web Developer (True web dev - I do anything web related from custom HTTP servers to sockets, services, advanced browser api's, apps & more).
STACKS / SKILLSETS
I'M PROFICIENT IN:
python, JavaScript, ASP classic, bash, php, html, css, sql, msql, elastic search, REST, SOAP, DOM, IIS, apache
I DABBLE WITH:
ASP.net, C++, ruby, GO, nginx, tesseract
MY SPECIALTIES:
application architecture, automation, integrations, db's, real time data, advanced browser apps/extensions (webRTC, canvas etc).
SUMMARY
Avg income p/m after tax: $2250
Cost of living (car+rent+food): $1200
Score: 1.85
*Note: For integrity when calculating my cost of living I excluded debt repayments and only kept my necessities which are transport, food & shelter.
I really hope you guy's post your results, it would be great to get an idea of which is really the worst / best country to be a developer in.20 -
love it when people rage quit when you fix the tech debt problem they created because they think the fix is too stupid 🤣BYEEEEE!
-
My team now does daily mini-standups: what you did, what you will do, what's blocking u
But with this wfh, I feel like slacking more or just seen to have less critical work to do... but not sure if the other guys are just "padding their list" or actually really busy.
So wondering when I have nothing to do for work/no defined deadlines or deliverables... How do you look busy?
I do have a lot of optional tech debt improvement work I could do but basically these are like backlog... And not really fun.6 -
The company I work for now has so much tech debt. When I find an issue, I can’t necessarily fix it right away because I have other priorities. If something isn’t a site-breaking issue, then I only fix it when a user or staff member reports it.
The website is a mess because it was built and maintained by an outside dev agency. It was so expensive to outsource that my employer decided to bring development in-house.
That’s where I came in. I found so many issues. Tech debt. UX weirdness. Newish features that no one seemed to use. It goes on.
So I’m balancing new feature development, fixing bugs, and trying to lessen our tech debt. I’m a team of one.1 -
Too much technical debt
Write more unit tests
Unit tests failing, the code will be right so change the tests to pass
Too many unit tests to maintain, they look a lot like technical debt
Remove unit tests to reduce maintenance overhead -
Boss: We need a discount coupons system right now
Me: We have lot of security concerns, if we implement that as the things are right now, that will be exploited by hackers to get infinite discounts
Boss: Dont worry, i will monitor everything personally for avoid problems
Me: :facepalm:
PD: I entered this software agency 4 months ago by necessity and everything was a mess, they pay 250 bucks to all their devs.
They have what they deserve, a shitty software that can be exploited everywhere
Pls give me another Job xD
PD2: I can sell you lot of exploits for this shitty platform they built JAJAJAJAJAJAJA okno2 -
So this happened when I was interning. We were developing an online application for hospitals. Now as it is with any new product. We had a lot of small issues popping up related changing of text or design colors. Now this piss kissing product manage of ours who has had no prior experience of a product of the scale we were developing started posting issues in the company’s internal whatsapp group. It was fine initially when the issues were less and small. However, when the amount and intensity grew, I suggested that he be given access as a issue poster on the git repo of the code.
Now I couldn’t comprehend his level of douchiness before hand but this guy started posting issued there but only a link to a google doc with the issue described there.
Then when came the time to change the status of these issues, I asked him to verify for his satisfaction that the issue is resolved and mark it as such. So Mr. Shitmenot started to maintain a fucking google sheet to maintain the status of issues and asked us to do the same. And upon demarcation he would manually change the color of the cells representing the issue. Like what the fuck dude.
I complained about this to my mentor who also happened to be he CEO but he couldn’t care less as if it was some debt that he owed the guy.
Safe to say I left the company shortly after things started to get out of hand and more shit began to happen. Yes there was more stuff that happened!!! -
MySQL 5.5 end of life’d in 2010. In 2021 my company started an upgrade to 5.6. The outdated dependencies meant we needed 25 engineers for 2 months full-time to make the upgrade as invisible to users as possible. We still took about 90 minutes of downtime on cutover day. Not upgrading MySQL on time meant we paid way more in terms of engineering hours. The reason we call it debt, is because you pay interest when you don’t tKe care of it right away.4
-
By making these shitty languages that basically abstract away anything difficult, Python, Javascript whatever, we've only enabled shit code to hit production which inevitably one day will either blow up or just add eternal technical debt. Even worse is when an MBA gets power to enable this.8
-
So, I guess this is some good news...
I'm currently on annual leave, speaking to few colleagues and one of them mentioned that the Snr. dev mentioned in my previous posts has handed in his notice.
We also have a new line manager, so hopefully I'll actually be able to sort out technical debt, implement the changes I want to implement without being blocked off or PRs closed without notice.
So I guess this is a win, also means a new Snr. dev position has opened up so you bet I'm gunning for it when I get back.2 -
I have a folder in my project called Technical Debt. As of now it has the same number of files as the rest of the project.
-
"God we've got an awful lot of technical debt, there's no process for anything here, no one knows how to use it, how it works or what even what it really does. Should we try to spend some time documenting and fixing that since this problem is going to keep cropping up again and again and the guy who wrote it left 2 years ago"
"Nah, the execs want features, fuck the fact that we are constantly struggling to meet deadlines due to being horrendously understaffed and everything takes 3 times as long as it should due our crippling technical debt. Lets keep hacking away with our old rusty saw instead of taking 10 mins to sharpen it"5 -
untangling some spaghetti deep in a tech-debt-ridden repo:
find the bug causing function
only comment:
`//TODO: replace this once <jira_ticket_url> is done`
go to url
updated: 3 years ago
I miss CS undergrad1 -
Last week, I have the courage to leave my job which was only paying me only 180 dollars a month as a Software Engineer for 2 years, and worked on-site so plus travel time and travel expenses, though, that was my first job and I learned a lot.
Tomorrow, I will start my new job that has a WFH setup, and with better pay.
I'm a bit nervous and overthinking what if they will not like me or they will terminate me before paying my debt (debt from preparing my room from WFH setup).
Any tips from WFH people and on how to not screw up on this setup?
Wish me luck guys and thanks for the answers!3 -
Recently installed SonarQube and its been amazing to see the level of code quality (or lack thereof)
Some projects have 30 to 60 days of technical debt and I found a few files with a cyclomatic complexity over 100. I’m still learning what the “good” numbers should be.
Yesterday, couple of devs were very proud they were going to start reducing the numbers, they started with one of my solutions that had 5 minutes of technical debt. Yes, 5 minutes.
DevA: “OMG…look at this…it has a cyclomatic complexity of 11…that’s terrible. I thought we were supposed to be professional developers.”
DevB: “And take a look at this, he used the double-slash instead of a triple slash for comments. How does any of code even compile?!”
Me: “Maybe we should tweak some of those SonarQube rules so they make more sense to our code base. We’re never going to use unicode, so all those string culture warnings should go away and code comment formatting? Who cares? Be happy we have comments. I think we should also focus on the bigger fish in that pond. The CRM project is one of the biggest and has a lot of improvement opportunities.”
DevB: “There you go again, don’t bring me problems, bring me solutions..ha ha”
DevA: “Yea, no kidding …hey…did you see the logger? OMG…the whole class is over 25 lines…we gotta split that up into smaller projects so it’s more manageable.”
It’s a good thing our revenue stream isn’t dependent on people getting work done.3 -
My CS degree was useful in getting me 70,000 dollars in debt. ( Software developer from US) but most softwarr jobs require a degree in the US today unless you have plenty of experience it seens
-
A little background on project fubar:
Project fubar was started a couple of years ago, by an entirely different set of devs, against an entirely different set of requirements which were never made transparent to this day, on a new platform and framework.
That means it had APIs either outdated or deprecated, front-end logic that did things it wasn't supposed to be doing and lots of scope creep and technical debt.
I had to support and fix fubar for the last few months to prime it for UAT. It was the equivalent of plugging leaks which created more leaks.
Finally, I couldn't take it and asked for a week off. I timed it so it would be right after what would have been the final UAT deployment and I'd be back after they completed their test rounds, so I could fix any new or returning defects.
Today I just found out that fubar got put on hold, that UAT was a failure and all fubar-related work had to stop. I have some mixed feelings on this: I worked hard to get fubar working as business wanted, and I was proud of that. But I also didn't like that fubar was constantly changing in scope and function.
I wonder if anyone else has ever felt the same thing?2 -
*everyone bitching about a piece of software that everyone hates because it's awful, doesn't work, AND costs millions of dollars*
Me: Hey here's a solution that's basically free and gives us everything we need, and all of the enhancement requests
"Cool! We'll look into it for 2020. Keep working on it for a third of what you should be making though"
.. but we need it now??1 -
My goals for the future:
* Finish my online schooling
* Get a job, and move to wherever that job takes me
* Pay off my school debt
* Go for a masters
* Continue working and save up
* Apply to be a professor for programming and engineering
* Get a business degree
* Start a business
* Eventual heat death of the universe2 -
Many "purists" love to piss on JavaScript and web development. And to an extent I can understand ostream’s frustration with these people.
It’s easy to criticize because yes: many web projects are indeed shit.
But I’d like to argue that the reason why so many of these projects are crappy is because of bad management:
- unrealistic deadlines
- no clear testing strategy
- or no testing at all because of deadlines
- no time allotted to catch up on technical debt
- etc.
This type of management is far more commonplace in web projects because things need to get delivered quickly and if they’re delivered with bugs, it’s no big deal as lives aren’t at stake.
I doubt this type of management is tolerated in projects where you’re working on software for welding machines (for example), where the stakes are that "you’re expected not to kill anyone" (to quote demolishun)
So in these types of projects, management can’t tolerate anything much below perfection and thus has to adapt by setting realistic deadlines that take into account the need for quality processes and thorough testing.
If this type of management was more common in web development, I can guarantee that web applications would be much more reliable and of better quality.
I can also guarantee that poorly managed non-web projects as outlined above would be just shitty as many web products.
My point being that’s it’s really DUMB to criticize fellow devs that work with web technologies on the basis that the state of websites/web apps is a mess. It just so happens that JS is the language of the web and that the web is where things are expected to be delivered quickly (and dirty … but we can fix it later mentality)
Stop acting like you’re the elite. I have no doubt you’re super smart and great at what you do. So be smart all the way and stop criticizing us poor webdevs that have to live with the sad state of affairs. ❤️38 -
"Do it right do it light..do it wrong do it long"
My old peewee football coache's sage advice on the pitfalls of technical debt..1 -
Fucking damn! This program is so poorly built that it's racking up terrible amounts of technical debt. This should be fucking easier than this, but because of how closely coupled everything is I'm now having to suffer through this ungodly beast of code.
I was aiming for a nice top down model where things communicated straight down, but with each additional feature requested by my PM, there are things that are growing increasingly more difficult to build around.
I could rebuild the entire thing, but this is the culmination of 8 months of work!
GOD KILL ME PLEASEEE -
I love working on legacy products. You just need a good shower and possibly a therapist after.
- Sensitive data sent over the internet encrypted with DES (not even 3DES). Guess it doesn't matter that the key (singular, for the last decade) is basically 0123456789ABCDEF.
- Client databases with open default port, admin/admin superuser.
- Critical applications (potential for substantial property damage, maybe loss of life) with a single point of failure and without backup.
Suggestions, to slow down a bit with sales, so we have time to rewrite this steaming pile of crap are met with the excuse: be more pragmatist, this is standard industry practice.
Some of this shit can be fixed on my own time if my conscience nags too much, but others would require significant investment of time from multiple developers, which would slow down new business.
Guess the pay is ok, so that's something... -
Fuck, I knew that my code for my thesis would at some point become bad and very unmaintainable. Workaround here and there, everything put together "to fix later", just to make it all work "for now". I know what my code does where and when but my tech debt has reached a critical point, where a new idea and new procedure cannot be simply be added. Well, time to refactor and modularize as much as possible😪
Wish me luck that the whole project doesn't brake. Oh and of course so many different changes that I don't know what to put in git and in which order to do so.12 -
Giving a short talk on technical debt at our monthly meeting tomorrow. I hope it helps people in my organization understand why we need to take care of all the quick and dirty work we do. I'm tired of people saying how long updates take and the reason is because we cause the problems.3
-
Demo Driven Development
Now let's hit some deadlines, add the tests later, and the technical debt will probably just be somebody else's problem. -
ColdFusion and all ColdFusion devs should be executed. Its a god-awful software from the 90's and if you still use it you're either braindead or ignorant.
Shut up about legacy CF code too! No one cares whether or not your embeddable calendar would be hard to make in JS; fucking figure it out.
I realise that CF may make things easier in the short run, but in the long run you'll have introduced so much technical debt that you'll run crying back to JS anyways; CF is so hard to refactor and even to make flexible that you would spend less total time over an application lifecycle learning JS.11 -
All day long meeting with business consultant about company future, software architecture, technical debt, refactoring, resources, projects.
Conclusion from top consultant, ex country manager of a weeeell known tech company:
Who cares about "code" anyway? (disgusted smile)3 -
Stakeholders must learn that code quality and a user-friendly frontend are not "nice to have". If they don't fix their priorities accordingly, someone will have to pay their technical debt and that's going to be expensive.5
-
On a project that will crash and burn due to a badly projected date given to the business. I'm team lead and the Developement manager. I'm not sure how to save my career from this one. 22 years at this company and this may end my employment.
Can't change the date because the business has had it with deployment failures. Not enough time to do any of the technical debt and I'm not sure one if the issues has a solution.
Time to create a resume I guess. Been a really long time.
Let me know if you want a developer in Des Moines!2 -
I would replace it completely with industry apprenticeship, along with every other major. Education in the USA has become a scam designed to mine children for debt. If we're shackling kids to their student loans we at least owe them relevance in their chosen workplace.
Germany apparently let's people choose apprenticeship over university for work such as engineering. Does anyone know more about that? Does it work? Would it work for programmers?5 -
yOu kNow wHat? i'Ve hAd iT wiTh tHis fUckiNg hoPpeD uP coUntRy, i'Ve bEen oUt tHe aRmy lEss tHan a yEaR aNd, fuLl dIsclOsurE, i kNew iT wAs bAd bUt wHat iN tHe sKullfUckeRy iS wrOng wIth tHe u.k?
abSolUte rEtarDs eVErYwhEre, wIth sOme oF tHe mOst pIggIsh, sOul dEstrOyiNg aNd sUiCide mOngErinG lEaders i hAve eVer mEt (thAt's a hElluVa aChievemEnt aFteR 5 yEaRs iN tHe aRmy).
thE aMouNt oF iLleGal iMmiGranTs tHat dOn't hAve a wOrd oF eNgliSh oR siNgle tHiNg tO gIve tHis cOuntRy, oTheR tHan pAediPhilia, rApe, kNiveS, dEbt, aNd iDiocy.
yEt tHe gOveRnmeNt iS anAlly rApiNg eVerY siNgle bRitIsh cItizEn tO gIve eVerY siNgle iMmiGranT bEttEr lIviNg cOndItioNs tHan 90% oF pEople wHo aRe hEre lEgallY.
thE wOke-iSm tHat pErmEateS eVerYthiNg iS bEyonD a jOke nOw tOo. wHen tHe hEll dId bAsiC lIfe bEcomE sO coNvOlutEd, "ofFenSive" aNd "scaRy" tHat pRimaRy sChoOls hAve dRag qUeeNs cOmiNg iN tO rEad, sEx eD claSses tHat tEach sHit lIke sEx cHanGes, tRanSiTionIng, bEndiNg tO eVerYone's wIll, aNd tO bE pUnisHed fOr aSking qUesTions?
it fEels lIke tHerE's a cRusHing wEighT oN mY chEst 24/7 aNd i cAn't eVen sPeak aBouT iT bEcaUse nOw frEe sPeech cAn gEt yOu dEmonIzed, oStrAcized, aNd eVen lOckEd uP!
it'S oKay tHougH, yOu wOn't bE lOckEd uP wIth aNy rApiSts, pAediPhileS, thieVes, oR sA's bEcauSe tHey're aLl bAck oN tHe sTreeTs tO mAke sPacE fOr aNyOne wHo dAreS hAve a vOice.
evEry tIme i tAlk tO pEoplE nOw i fEel vIolent aNd fuLl oF rAge. sOme oF tHe tIme iT's nOt eVen tHeIr fAult, i'M jUst bEing cHippEd aWay aT. coNstAntly.
i'M gEnuiNelY scAred i'M gOing tO lOse mY sHit aNd bReak sOmeone's nEck, oR mY oWn."2 -
I switched my job a few months ago.
And now instead of having daily rants in our team lead's channel on slack on how I wish to inflict physical harm on one of my interns (and I'm talking interns that would just interrupt a daily to make their breakfast), and having something to bitch about because our method of version control was using the IDE's history.
And that I came on here to make another post about the times that I brought up that we should address our technical debt, and only being met with "we don't have technical debt" by our CTO.
I now have a good dev environment, with also a lot more trust given to the employees, where I actually don't have much to complain, and 0 reason to really post rants about my work here :D
(and the previous company I worked at got sold and merged with another, so I jumped that ship in time :P) -
Innovation week is upon us! Rejoice and delve into the years of tech debt to be refactored within one week!
Why does anyone pitch "innovation week" as a fun learning experience when a we are doing is cleaning under the rugs? We can barely get typical feature requests out the door in a week due to the overbearing demands of SAFe and Agile ceremonies. -
More a call for discussion...
How can it be that devs constantly whine about technical debt, how everything is "ancient" bla bla bla...
Yet don't want to update libraries / stuff unless one explicitly rams an klingon pain stick up their arse because one is very very very very tired of lame excuses.
Even better example - and reason for the rant - new microservice.
They honestly started with JDK 8.
Looking at the dependencies is like walking in a museum...
OWasp Dependency check?
Lot's of 7.5s and greater (NVD score).
How brain fucked ignorant can one team be?!!!
Let alone that that thing - despite being just a skeleton project - has already 178 dependencies.
I don't want to look at the build files, I'll guess I'd turn to Freddy Krueger otherwise...
But really - why whining all the time like you have a clit / arsehole full of sand and then starting a new project with an obviously copy pasted graveyard skeleton?!5 -
I lent money to a dev friend in need, he said "I'll pay you back when the customer pays me" ... I'm ready to forgive the debt...
-
It's hard to see my parents struggling financially. This pandemic has really brought us down to massive debt. My weekly allowance is just enough to feed my cats.
:(5 -
Worst: Realizing there were crippling and horrible bugs in software that got shipped to customers. Also realizing that we truly don't know the amount of technical debt that contributed to these bugs. My most terrifying comment from a colleague: That software was written on a weekend and the dev was getting 3 hours a sleep a night. One of the bugs I found I was fighting for almost a year to even find what was causing the bug.
Best: Finding those bugs and eradicating them. Having confidence that the bugs we know about are truly dead and gone. Til we meet again...next...3 -
Due to covid, mgrs decided to fire 10% but could not negotiate schedule increase with internal IT. With no promotions or hikes, few full stacks we have leave.
Now am working with 2 data engg doing cloud java microsvs work while learning. Their first delivery was applauded by their mgr who is under pressure to retain them.
I as arch review their code. No unit tests, print statements all around, shoddy exception handling, variable naming issues. We have Sonar by default in our build. They ignore the report. I ask them about it. Seems mgr told them he is getting a contract person from another team on part time basis to do/fix. I share my confusion.
Mgr calls me up and checks if we can put it as tech debt backlog and deploy to prod !!!1 -
Adding "highly skilled in code divination and paying off bankrupcy-level technical debt" to my resume.
Thanks PHPepsi, you trained me good for this...1 -
Posted previously about our codebase being a monolithic, poorly-written, pain-to-maintain gigantic cluster-fuck. And the efforts made to rewrite it.
Well, we made huge success the previous year in this regard. I rewrote the entire API while my other team mates worked on two different UI apps one of which is now in production and the other soon to be released in alpha.
Processes have being put in place for our team and are being improved.
We still have some technical debts though.
Dev goal for 2020,
- Pay most of the technical debt.
- Dive deeper into Flutter and finish the app I wanted.
- Play with ML, AI and Game dev.4 -
So working for a company and the dev team I’m apart of works on a legacy rails app. Technical debt is high, no automated tests, no proper routing and also running unsupported versions of the language.
I joined seven months ago and got the current team doing automated testing so that’s a plus, they bought this app four years ago and there’s been no language updates, testing, cleanup, security updates, nothing, just adding to bad code.
Now we’re looking to actually upgrade language versions, the language and the framework now this will cause a lot of stuff to break naturally due to how outdated it is.
So I started putting proper routes into place how things should of been when things were being built as we have some spare time I decided to go out of my way to clear up some of the technical debt to get ahead of the curb. Re-done an entire section of the app, massive speed improvements, better views, controller, model, comment clean up and everything exactly how it should be.
I push the PR,
*other dev* - “why are we doing all of these other changes”
*me* - “well to implement routes properly, we have to use the new routes I just did some extra cleanup along the way”
*today, me* - “can you lend me a hand with one of the routes the ID isn’t getting passed”
*today, other dev* - “this wouldn’t of happened if you didn’t redo all these files, let’s just scrap the changes”
…
Sooo, I’ve spend three weeks improving one section in the app, because I’m having issues with one route according to this dev I should scrap it? Wait come again, am I the only one in this team who cares about making this app better all round?
Frustrating…4 -
https://techcrunch.com/2020/06/...
Yet another tool to "empower" management into thinking they are able to do in days what takes engineers years to accomplish.
All this is going to do is create technical debt for developers to consume when management is promoted for a "job well done".
Fuck.3 -
What i thought to be a cool company, turned out to be a shitshow.
Our "Team Lead" when assigning tasks keeps saying things like "it's only..." or "It's just..." or "You only need to change one line [there]..." And that's in regard to a terrible product with a pile of tech debt. So when you actually start to develop/fix things, you end up redoing third of the whole application.
How do you deal with this? How do you tell the "leader" that he should look into what we have in a code before making us all look bad for doing "just this one line change"?2 -
So, after having my mental breakdown with the 500k LoC Zend Frameshit PHFuck 5.5 with 0 test project, for a whole year; and after moving to a better job, I now inherited a React/Node/GraphQL project with a shitty architecture. It's so shit technical debt can almost be payed with actual cash... or flesh, ass-for-arch.
However, line test coverage is over 90%, so I guess it is an improvement.1 -
Join a team that understands technical debt and actively squashes it...
Yes I am having a bad day, or should I say month, because I have to work to pay down other people's debt... -
8 months ago, me and my teammate developed an API and a web application for one of our client. The API was supposed to be consumed by mobile app which another team was working upon. Now my suggestion for the mobile team was to use something like ionic or react-native. This was purely to keep technical debt on lower side since hybrid apps don't deviate too far for both Android and iOS platforms. But mobile team went with the native apps and developed two separate apps which both have some differences.
The client didn't even use the iOS app since past 6 months. Now all of a sudden she reported several bugs and the person managing the mobile devs put that all on us. I tested some of the bugs and seems like the same feature is working on Android but not on iOS.
Came to know later that the iOS developer who was working on the app had resigned and left the company exactly 6 months ago. Right after the apps first launch. And since then mobile team hasn't put any replacement person for the project. That fucker was trying to buy some time by putting it all on us.
And now here I am, experimenting again with Flutter. So far it seems quite decent.3 -
The more I investigate mobile development the more it becomes apparent to me that modern development is a *massive* pile of technical debt thats going to burst, crash, and burn one day, along with the entire industry.
If it takes a newbie more than ten minutes in your framework to add a fucking *button* and navigate to a new screen, then your framework is shit.10 -
Once upon a time i had a great idea.
Because i couldnt be bothered to do anything productive i created a simple app in the C# that would look into every .js file (from a game that uses it for the gui/main menu) and search for "//todo" lines.
I did it mostly for kicks. I got that idea when i encountered one //todo in a file when i was trying to mod that game.
Yes i know grep exists: fuck you.
It would have taken me more time to learn that than to write that 20 line program...
The result? Over 30 lines of //todo with some briliant pearls in the type of:
>Temp workaround because X
>Workaround for race condition
>Clean that up
>Obsolete
When i return home i will post real quotes. They might be amusing to read...
The game is based on a custom C++ engine. HTML, CSS and JS is used for main menu and some graphical interface in game.
The most amusing thing is that this inefficient sack of chicken shit is powering one of the biggest (no playerbase but unit, world, gameplay vise) rts that i have ever played.
But still in spite of a dead community, buggy gui as shit and other problems i love this game and a lot of other people love it too. It is a great game when it works correctly.
To the interested: JS portion uses jquerry and knockout lib.14 -
I really fucked up thinking I had all the time in the world.
I also wrote very shitty code but I know that would've been hard to avoid, so it's cool. -
Woke up in the middle of the night thinking about work and how the team seems to be always a few steps away from the next production issue and well always busy with urgent work too so that the crap that produces more and more tech debt never get cleaned or fixed...
And now it's grown so big... The bad habits are just sparking more bad habits and well the only person (boss) able to correct course still hasn't realized for the last 4 years... Constantly thinking things will get better after the next sprint. Hell we don't even use proper sprint planning... even I can't keep up anymore and can never get any long term high value/low immediate return work done...
So I guess I'm having a work overload, nervous breakdown before even going back to work...
I have an urge to tell all this to his boss and have him give him a wake-up slap or maybe bring in a more experienced/veteran manager to set the ship right but my boss personally is a very nice guy so don't want to rat him out...
So not really sure now what to do other than maybe just stay in my lane and put up the blinders? And let the whole forest around be burn down... Though I still gotta bear the heat till it all dies down by itself...
Can't say when that is though...3 -
As a person who never took any CS courses, I don't really see the market value of them, apart from getting through ignorant degree gating at companies with backward corporate philosophies.
As I understand, even a degree isn't really that helpful in getting your foot in the door.
That said, the week 92 question assumes there is something wrong with the nature of CS instruction. College is not trade school. The point of it is to get an education, not a job. Many employers require that education, and that's their prerogative, but for a number of reasons, chief among them being the rapid pace of the advance of technological concepts, most employers do not.
A candidate having a CS undergraduate degree is far less attractive to an employer than one without a degree, but who has a year or two of experience with the technologies the position involves.
That said, I personally think that as college is for an education and not career building, computer science curricula should focus on theory, and not on applied technology. A focus on the latter just guarantees that the subject material will be dated and irrelevant.
But as many people (maybe even most) think college is trade school, I think it's absolute madness to enter into debt slavery in exchange for expiring qualifications.3 -
I don't get why this retard keeps ignoring my comments on a PR he asked me to review. He is a level above me so I can't push it. I just approve his PR and let him know I do so but with a comment. He then ignores the comments and merges his rubbish changes into the codebase thereby creating a tech debt.6
-
Company tool over a Magento shop from an internal solo developer. They made a new theme based on a bought theme, but the developer who started it is leaving. The 'developer' (yes, quoting it now) made a royal mess about it; rewriting core files, overwriting theme files, leaving JavaScript alerts all over the place, placing business logic in templates and defining CSS classes with functions in custom module block classes. I could go on for a while. After the first sprint we tried to convince the customer to do a complete rebuild, but we couldn't convince him...
The 'developer' has been hold on for now to give support on his crappy code and my next few months are filled with working in this mess without cleaning up the technical debt because we don't have enough time for that... FML1 -
!Rant
How do I get into Technical blogging? I think I have a lot to say and it will probably vent my frustrations, especially on the need reduce technical debt...
and also figure out what m my ideal team would be...
But whenever I start writing (which is rare) I can never finish... Gets sidelined by other things...4 -
Well I ended up getting two jobs through my college so now I've gotta pick between:
- A legacy maintenance job with a better environment and salary, for a minimum of two years.
OR
-An IT based job with a lower salary but no fixed initial working period.
Advice devRanters?
PS: I am in debt because I took a loan for college tuition. 😐
*Confused*6 -
Why the FUCK SCALEWAY DOESN'T DELETE MY FUCKING ACCOUNT!
Arrgh. I just want it to be deleted. I clicked delete almost 3 months now. I used their service for 2 months, charged for 4.
Ok, there is the story.
> Be me
> Be broke
> Buy their 3 Euro package
> Use it for 1 month, you know, install npm, vpn and stuff
> Be broke
> You have 0 euros in your account
> Cannot log in to server couse you didn't paid their bill
> Sure, they have right to do that
> Forget about it
> Earn money
> 3 months later, remember it
> Ok, I want to delete it, couse i don't use it anymore
> Remember you used more than 1 month, so pay your debt
> There is 3 issued bills
> Try to delete account
> Wait 1 month
> They didn't deleted your account
> Fuck it, there is the money you want
> Pay all the bills, hope it ends
> Wait 1 week
> Nope
> Open a ticket
> Says it will be deleted in few weeks.
> Wait 1 month
> DIDN'T FUCKING DELETED
WHY CAN'T THEY DELETE THAT SHIT FOR FUCKS SAKE. WHAT CAN I DO FOR MAKE THEM DELETE MY FUCKING ACCOUNT?
FUCK.9 -
[Fairly existential career question] How fulfilling would you say your career in development has been?
[Long rant] for years I had been planning on becoming a rabbi, majored in religious studies etc, until I realized there would be no way out of my rapidly growing debt if I chose to continue on that path. i had to drop out 3 years into my undergrad due to financial issues, and as it is now working full time im barely holding my head above water. I spent a lot of time being sad about it until i decided to change things and started getting into accounting before I discovered coding. I am SO GLAD I discovered coding cause accounting was so boring...Now I'm excited to be going back to school for software development and I'm in a bit of a pink cloud having discovered something thats both exciting/fun/challenging AND lucrative... But i do worry about 5, 10 years in the future, will i still be as stoked about it? Religious leadership was and is something I know i would feel ~fulfilled~ over a lifetime, and while my newly discovered passion for coding literally keeps me up at night getting fired up on solving problems and writing my little newb programs, i think I'm afraid of burnout?
[Tl;dr] I'm making an education+career switch to software development and i wanna know how folks feel about their career years into it, do you still love it just as much? Feel jaded? Regretful? Happy?4 -
Everyday I heard people tell me that a college degree is worthless and the student debt will destroy my life. Im a sophomore at university ($75000 a year) majoring in computer science. What are your guys experiences? What the pros/cons of being self taught / getting a degree? I just want to set my life up and be able to provide for my family21
-
Shut down the bootcamps. The market is over saturated. Most are just showing YouTube videos anyways as a big chunk of the curriculum. They make people think anyone can code, but you really need ambition and an ability to accept failure when your code doesn’t work (not just memorization skills or a can-do attitude). Even though some states do have regulations, they rely on the public to report any illegal activity. That’s why a lot of scams persist. They’re also making the debt crisis worse with ISAs.10
-
I waa pretty sure fortune cookies were getting weirder... but seriously, it's gotten THIS bad? Not a fortune, nor a proverb, just a one-liner on political finance?
Just seems extra messed up that you can now be prompted to discuss national debt via fortune cookie from chinese take-out. We do owe the most to china afterall. Yet fortune cookies are invented by us(and typically one of the few things produced stateside). Just seems extra off...6 -
!dev Just realized I think I have a over diversified stock portfolio...
Now half 30 different stocks... Some of them etfs....
So many possible themes... Health care, ev, tech, recovery, US vs China debt...
How do you decide?8 -
I'm in a dilemma.
I started this job about 9 months ago and it's really not what I expected. I'm the sole developer in my department that handles applications built around our customer database.
Well it's pretty boring and there is a lot of technical debt with the source code since usually 1-2 people are taking care of it so they never had proper conventions. And we have super old applications running on legacy solutions like cold fusion 🤢
I also receive a lot of problem tickets that never contain enough information to actually do anything and the people don't realize I have no idea what they do or what their business processes are.
The upside is I'm paid very very well for this job > 100 in a place where cost of living is cheap. And when there's no work to do I can work on side projects.
It's really not fulfilling work and idk if I should stick it out. I also don't know where I would head next. There's not very many companies working on cool stuff. Maybe remote work?
Anyone else have a similar story?6 -
Conversation with American developers, suddenly we began to talk about college and how in debt they are. I tell them that don't have an education related debt.
They were skeptical at first, but then we found that my entire education costed less than one semester for them. That's one positive thing about living here.
How about you guys? Happy with the cost of higher education where you live?3 -
So... I’ve recently started a new role, and luckily I’ve established myself as someone that knows his shit (more or less) TM.
I’m leading the charge on tech debt, and raising issues about it, first on my radar is the monstrosity of their approach to app config.
It’s a web app, and they store config in a key-value table in the database.
Get this. The key is the {type}.{property} path and this is fetched from the database and injected *at construction* via reflection.
Some of these objects get instantiated dozens of times per-request. Eurgh. -
I'm really trying my best to improve but the work I'm doing (both the code and the business theme) is so god damn boring that I feel like I'm torturing myself just trying to keep up. How am I supposed to learn and build myself when everything is so dull and gray? I can't even talk semi-passionately about the work I do, its all just picking up user stories with lengthy business specs on them updating old code or writing up some new code to fit some business / API standard I know nothing about. Occasionally I'll review other code from a developer doing the same thing and sift through trying to find some way to improve a project I don't care about. Hold down the nausea that comes from fighting off the mental fatigue as I struggle to find the words to explain how a component I made works in terms I don't understand too people that know and care much more than I do...
I'm exhausted, I'm burnt out. This isn't me, and every day I wake up and tell myself that my salary makes me happy because it gives me the ability to do the things I enjoy and live on my own and provide for loved ones, and then struggle to swallow the lump in my throat as I drive in the cold to a giant corporate office with a thousand other Me's doing the same shit but better and improving.
I honestly love what my company offers me as compensation, I'll likely not find any better. But once I have some experience under my belt and some debt paid off I have GOT to find a jobs somewhere that doesn't drain the will to live out of me2 -
Today, for a feature that doesn't need to be released at all, we had to choose between delivering 2 months later so we could pay the technical debt, or release on time with even more technical debt, and 96% sure this will kill the project.
Guess what?1 -
Remaining two days of current sprint : I offer to code unit tests to increase coverage, technical debt and stuff.
My colleague : I will start next sprint's feature.
:facepalm: :jealous:1 -
Me: Hey, that modification though it will fix the issue, it will add a lot of tech debt in the future.
Lead CoWorker: We'll take care of that when that happens.
Guess who's fixing that TODAY? -
For me, it was when I was on a team doing government work. We had an entire team devoted to deployments etc which were handled via ansible.
Ansible was fairly new at the time (~2015, they had just been bought by RedHat) but the team was definitely doing a great job picking it up and creating install playbooks for _every_ piece of our distributed infrastructure (load balancers, application servers, queues, databases, everything).
I luckily left before stuff got too hairy, but last I heard they are more than 6 months behind schedule. They STILL can't get a reproducible install process with the ansible playbooks! And it's all due to tech debt ie not giving any time to fix things, so its just band aid after band aid.
It's really sad to hear because the sytem itself was pretty cool, completely horizontally scalable and definitely miles ahead of the program they've been using for the last 20 years. -
Oddly enough, i have simultaneously been less busy and more productive since working 66% remotely.
I find myself with more time that feels "wasted" or not busy, but my metrics show that I have more production, better results, and far nicer documentation. A bunch of us also sat down and did a bunch of coursework on really putting together a domain script library for one click onboarding of new servers or new client setups. We spun up a bunch of new virtual environments that literally solved headaches that had existed for years that never got dealt with because of too many other tickets.
Some of our web clients freaked out at us because the business is moving away from doing maintenance of legacy web work (small to midsize businesses). But it didn't matter. Rather than respond with a "make them happy," the response was "well, we will get rid of them as clients. We need to focus our energy on the essential service sectors we support."
Hell, we even got an automated test that has been broken apparently since 2018 to work again.
Granted, the incoming workload has slowed down. But it's still interesting to me to see that despite the slowdown, there isn't any concern; its still paying the bills and we are getting rid of technical debt everywhere. Tbh, this has really been a good reality check.1 -
After weeks of constant rush, I finally managed to have one week dedicated entirely to reduce Tech Debt.
It felt so good to close all these todos, finally write those tests, that documentation :)1 -
My coworker had to face this one: When SonarQube shows you 50 years of technical debt within 1.5 million lines of code from someone else and you have to fix the worst.
#FeatureDrivenDevelopment -
Extremely frustrated with the release process and versioning system at my current company. Don't know if this is same everywhere or the half ass release managers can't think of a better way here.
Basically for any client raised issue that can't wait for next release are built as a hotfix. However hotfixes are never bundled togather or shiped to other clients. This is causing a vicious chain, two clients raise two separate issues on same version. Instead of fixing them as single hotfix (however minor the issues) we create two hotfix versions for each with only their issue. A week later same clients come back with the issue the other raised. Once again instead of bundling what is now effectively same code we build hotfixes on top of the clients respective branches. We now have two branches to maintain with same codebase. No matter how serious issue, the hotfix is never made generally available and always created on client's specific hotfix version.
Now that was an example for only two clients, in reality we have released five patch versions of a product in last 2 years. Each product version contains about a dozen artifacts (webapps, thick clients, etc) with its own version. Each product version being shipped to various clients. Clients being big banks never take a patch of product even if it fixes their issues and continues requesting hotfix. We continue building hotfixes on client branch and creat ever increasing tech debt. There is never a chance to clean up or new development. Just keep doing hotfix after hotfix of same things.
To top if all off, old branches are still in svn while new in git. Old branches still compile with ant new with maven. Old still build with java 5,6,7 while current with 8. Old still build from old jenkins serve pipelines while new has different build server. Old branches had hardcoded integration db details which no longer exists so if tou forget to change before releasing it doesn't work.
Please tell me this is not normal and that there are better ways to do this? Apologies I think I rambled on for too long 😅5 -
Ideal job
I do creative projects whatever I want with no deadlines or pressure, everyone loves whatever I make except me because I know I can do better than that last crap I made, getting paid plenty of money to pay off all my family and friends debt and have plenty left over. Specifically making fun programs useful software or web apps and have plenty of free time for taking retreats and going out into nature away from computers and technology.1 -
> People: Mister IHateForALiving, the external consultant who took care of the new client is about to leave :) his leader is searching for someone to help him and build the new features :) we think you should be doing it, you're very good with the frontend
I WILL NOT FIX
YOUR FUCKING
TECHNICAL DEBT
You fucking moron of a "tech lead", working like a human was free; you chose to work like a dog and encouraged the external consultant to work like a dog as well. From now until you resign, this mess is yours to clean.3 -
What do you call time spent by a new dev learning a company's codebase?
Genuinely asking because, as a non-native English speaker who has to communicate with English speakers on a regular basis, I usually end up saying that a dev is still studying the code or familiarizing himself with it.
I'm not sure why it kinda feels off for me. Is there a specific term that describes this?
Sort of how technical debt tells me that it's the cost for someone being lazy with his work before.10 -
I'm just glad that someone helped me do front end in an unrealistic deadline given to us in 2 weeks to finish a corporate-scope project .(2 of us working on)
Now that we realize that he made was another issue that leads to technical debt.
I will do all the refactoring and assure that it works perfectly fine. -
Ok so first technical blog post/rant cuz I just reduced a lot of debt... Prolly gonna put this in an email to my boss (he says progress improvement is now a priority but there are some problems as listed below):
So last week, I spent a lot of time investigating db logs manually to figure out a prod issue: tiring, time consuming, and not very effective.
This week I built an app. It took a few days but having the time to design it correctly, it is very powerful.
So in order to really do process improvement, you need to have: dedicated the time, the problem solving mindset (the right people), and the understanding of what the problem is and why so you can build a good solution (time and people).1 -
Javascript makes me wanna blow my fucking brains out.
Why the fuck isn't appendChild working? It shouldn't be this fucking hard to get a simple result.
p = document.createElement("p");
p.textContent = String(new Date().getTime());
doc = document.getElementById("todoList")
doc.appendChild(p);
Done from within a listener function for another element, listening for onkeyup. Using bulma.
Jesus fucking christ and this is the profession I chose.
At this rate by the time I'm fucking competent I'll be replaced by wage slaves from india who started training at the age of ten because their government actually gives a shit about investing in their people instead of saddling new generations with trillions in bank debt so goldman fucking sachs can hire more underage prostitutes from epstein and mossad.23 -
When you do work on a front end ticket. You implement the things as UX tells you to, make a few mistakes, fix those as well when QA catches them.
But then UX realizes other improvements they can make , so you toss some of those in and move some of the other shit to tech debt to avoid possibly failing the sprint due to rabbit hole of front end awfulness because you suck at your job.
Then later somebody else a couple degrees above you in job hierarchy, notes a couple tips and things you could fix unrelated to your ticket. But when will it ever end or do. I suck and hate front end work, AY LMAO LEMME SUBMIT THE SAME SHIT WHICH RENDERS DIFFERENTLY BETWEEN CHROME vs CHROMIUM AND EVERYTHING THAT USES CHROMIUM.1 -
The customer told us that we have had a good momentum lately and that we need to keep it so that we can finish on time. What makes me frustrated is that what he perceives as "momentum" actually is increasing technical debt and overtime work...2
-
I'll never finish this shit!!!
Whenever I close a task I end up creating one or two more I found in the way, it's like an infinite rollercoaster of technical debt and perfectionist-me throwing work at myself.1 -
Hey guys, first time writing here.
Around 8 months ago I joined a local company, developing enterprise web apps. First time for me working in a "real" programming job: I've been making a living from little freelance projects, personal apps and private programming lessons for the past 10 years, while on the side I chased the indie game dev dream, with little success. Then, one day, realized I needed to confront myself with the reality of 'standard' business, where the majority of people work, or risk growing too old to find a stable job.
I was kinda excited at first, looking forward to learning from experienced professionals in a long-standing company that has been around for decades. In the past years I coded almost 100% solo, so I really wanted to learn some solid team practices, refine my automated testing skills, and so on. Also, good pay, flexible hours and team is cool.
Then... I actually went there.
At first, I thought it was me. I thought I couldn't understand the code because I was used reading only mine.
I thought that it was me, not knowing well enough the quirks of web development to understand how things worked.
I though I was too lazy - it was shocking to see how hard those guys worked: I saw one guy once who was basically coding with one hand, answering a mail with another, all while doing some technical assistance on the phone.
Then I started to realize.
All projects are a disorganized mess, not only the legacy ones - actually the "green" products are quite worse.
Dependency injection hell: it seems like half of the code has been written by a DI fanatic and the other half by an assembly nostalgic who doesn't really like this new hippy thing called "functions".
Architecture is so messed up there are methods several THOUSANDS of lines long, and for the love of god most people on the team don't really even know WHAT those methods are for, but they're so intertwined with the rest of the codebase no one ever dares to touch them.
No automated test whatsoever, and because of the aforementioned DI hell, it's freaking hard to configure a testing environment (I've been trying for two days during my days off, with almost no success).
Of course documentation is completely absent, specifications are spread around hundreds of mails and opaquely named files thrown around personal shared folders, remote archives, etc.
So I rolled my sleeves up and started crunching as the rest of the team. I tried to follow the boy-scout rule, when the time and scope allowed. But god, it's hard. I'm tired as fuck, I miss working on my projects, or at least something that's not a complete madness. And it's unbearable to manually validate everything (hundreds of edge cases) by hand.
And the rest of the team acts like it's all normal. They look so at ease in this mess. It's like seeing someone quietly sitting inside a house on fire doing their stuff like nothing special is going on.
Please tell me it's not this way everywhere. I want out of this. I also feel like I'm "spoiled", and I should just do like the others and accept the depressing reality of working with all of this. But inside me I don't want to. I developed a taste for clean, easy maintainable code and I don't want to give it up.3 -
Any of you are annoyed by your non-technical manager work practices?
Every release I feel like our manager's goal is to have our planning and results look good in front of higher management, no matter if it is true or not.
Oh this big task could not be done because we had to plan 4 months in advance with no info and poorly done requirements? Well let's just push it to the next release we can't have unfinished tasks logged in.
Oh we don't have time to work on tech debt and refactoring, there are too many features and bugfixes to do. Well maybe that is why there are so many bugs, eh?
Oh your automated test results need to all look perfect, does not matter if your test are even good or actually doing anything in the first place, as long as it passes.
Also, I was promised agile and got a waterfall-like bullshit process instead that barely works.
Anyways just morning rambling.1 -
The adventurous world of javascript and typescript never ceases to amaze me.
I'm investigating some paths to take for migrating this legacy project which has incurred some technical debt. Because of... reasons... even the frontend Vue project needs to be built on a Windows system. No, you can take your hands down, even wsl or docker aren't alternatives here. It's a long story and ties in with said debt.
I'm keen on rebooting the entire frontend using a newer Vue cli and scaffold up all the essentials like eslint and typescript which is currently not used. This is gonna be sweet.
Except, typescript (BY Microsoft) doesn't play well on a Windows (BY Microsoft) filesystem because of a recent change to support - get this - wsl. I can't decide if it's hilariously ironic or genius.
This response about sums up my current mood. https://github.com/Microsoft/...
Of course, further digging in other repos like node only turns up issues closed due to it being on Windows' end.
So now my readme has a troubleshooting section describing how to make changes to your filesystem if you run into issues in Windows and I want to go home.6 -
I go to add a method call in a business logic class that's used exclusively in a particular service, and get blocked in the PR by some other guy-
Other Guy: refactor this into the shared framework referenced by all our microservices
Me: it is only and would only be used in this service
OG: what about the other business logic class in this service?
Me: it's not used there, and if it does end up used there then we can refactor it into a class that they both reference then
OG: I need to know when the abstraction of this function will be done. is it going to be delivered next sprint?
Me: YAGNI - better to avoid doing extra work when we don't know if we'll even need it
OG: tbh you can still abstract it with some generics and lambda magic, but im not gonna enforce that
Me: premature abstraction is the root of all evil (tongueout)
OG: not really, its the root of not having a million miles of tech debt in 2 years
I just can't win for losing with the anti-YAGNI yogi.1 -
I hate weekly demos. Why not wait until something is done and ready to show, and then schedule a show an tell?
Otherwise you're just racing around to get some half-ass, not working rubbish in to make things look good. Yet it probably doesn't work at all, and is filled with technical debt that will make it to production.4 -
The term "technical debt" is poorly used. I hear folks of all stripes and roles proudly proclaim that they've "reduced technical debt" in some way. It's used as a catch all to describe some kind of supposedly beneficial change. I think it's just more software process word salad. Mostly because there seems to be some assumption that "Yay, that stuff that was changed is no longer a problem" when odds are that it will be changed again before too long for more "technical debt reduction". Software changes over time because the requirements change over time. I don't see the need for the phrase at all, and I think using it gives some false sense of accomplishment when really the constant change of code is the normal state.6
-
"I need help"
I joined this new service based company and they dumped this giant messed up jquery/php spaghetti project on me, with no comments or any technical documentation. It's completely unmaintainable.
It's been a couple days, and it has already started to take a toll on my health. I feel anxious, causing me nausea at times. I wanna quit, but no other developer is free to takeover in their company.
Am I a crying little bitch? I wanna man up to it, but it's shaking my peace of mind.
It's pile of garbage, and they want me continue working on it.
I know some of you would say, it's an opportunity to fix something. But they don't want changes or fixes. They want me to continue piling it up with more features, ultimately increasing the technical debt.6 -
I figured it all out, where all the bad code comes from, I know it now!
I think good developers need two things, an ego that makes them wanting to be competent and perceived as such and (very important) a problem with authority!
All the bad code is written by people who wanted to be liked by their teachers. The PM and PO are their teachers now and they make everything possible for them. Technical debt and human costs are swept aside when the authorities want a stupid feature now - because they have to like you and you need to be a nice pet to whip! -
just read about that DRAGONBRIDGE takedown.
Apparently it was some system set up to disseminate pro-China anti-USA propaganda in multiple channels.
Now, I totally can believe something like this would exist - too easy a jab to a fantastically big payout if it actually works. However, isn't it easy to call *anything* contrary to *anything* a propaganda plot?
That is why I believe in NOTHING that is on the internet. NOTHING. The internet says I have "credit card" "outstanding debt" to "pay" "ASAP".
Yeah, right. Half of those aren't even real words (I mean, "card"?! come on). You won't get me, opposing view propaganda machine!1 -
Fuuuuuuuck!!
CR estimates:
Part 1: 2h including testing
Part 2: 2h-2days-maybe never (small changes on horrifically fucked up project noone understands with tons of tech debt)
Managed to pull off the part two in one day.. //yay me?!
Additional day to unfuckup git fuckups (including but not limited to master head not compiling because a smartass included *.cs in .gitignore file which he also pushed..don't ask, I have no clue why..) which was a huuuge deal for me as I usually use only local repo and had no idea how to tackle this.. coworker helped out.. seems I was on the right way, but git push branchy was acting up & said I had to login & ofc I had no clue what the pass was set to (first setup was more than 2yrs ago)..so new key, new pass.. all good.. yay!
Back to the original story/rant: Now I'm stuck with writing jira explanation why it was done this way & not the way customer suggested. They offered only vague description anyways which would require me to do a hacky messy thing, ew.. + it most probably would require major data modifications after deployment to even make it work..
Anyhow, this expanation is also easy peasy in english..
BUT...
I must write it in my native tongue.. o.O FML! Spent almost 40mins on one paragraph..
Sooo.. if anyone will petition to ban non english in IT, I'm all for it!!2 -
We were refining a tech debt issue about aligning the names and types of the same reference id on different response models. This is to not confuse our API users and make it more intuitive.
Discussion was wrapping up as we all agreed it was a no-brainer and pretty straight forward.
Then suddenly, one colleague goes: "But what's the benefit?"
Errrm...2 -
"This component is still using this thing which it shouldn't use." (Changing it won't reflect on the user in any way nor will it trigger a crash. It'd be nice to change it but who cares.)
"Feel free to update it."
Happy 1st birthday to low priority tech debt baby. May you grow up to have a long and fulfilling life.1 -
Comment introduced by a commit 3 years ago before an empty function:
```
%% TODO determine if there needs to be something here or if this can be removed
```4 -
Figure I can simplify the code if I have the compiler handle *some* of the register allocation.
Eh? What do you mean "NP-hard"? Dafuq's an ENN-PEE?
**frantically reads wiki**
I can proudly say that I understood absolutely nothing; CS stands for cocksucker or rather abysmal failure at the most basic forms of communication, I don't just sit here all day expecting you to flawlessly prove my point with every swallow of breath you draw, yet here we are.
Perhaps one factor involved in producing the generalized cluelessness of my colleagues, I mean their "imposter s*ndrome", has a bit to do with how fucking thick you've formulated this glorified bollocks you call theory. Were not for your incompetence, arcane crackheads like me would simply __not__ be capable of rising to the top of this field entirely via determination and a big salami, therefore I owe you both a debt of gratitude as well as every last word and sign of total disrespect.
As interesting as the study of computational complexity can be, if done correctly that is, you idiots are stuck in a mathematician's abstract mindset in a field entirely devoted to application of ideas rather than *just* the ideas themselves.
To answer my own question, it means there's no known efficient solution. That's it. The part about nondeterministic polynomial convolution of an irreductible rectosigmoid junction can apparently be skipped altogether. Anyway, I solved the problem with the computational equivalent of pizza sticks while you were out in the field mentally jacking off to λ.
Lecture is over, now go clean up the ethereal masturbatory residue if you will, I have mystical el Khwarizmi type-shit to solve via further clubbing of abstraction through liverwurst bologna of immense proportions. ^D3 -
"All Tech Projects Run Over Budget"
https://medium.com/@team_96861/...
I was on a nice streak of being calm for a while and then this article just dropped today. Fuck management and fuck whichever dumbass wrote this piece of shit.
Is anyone else pissed off at this? It makes it sound like software engineers are slow and never on time, and the main reason for a project's failure is the inability of programmers to meet deadlines. I find this a little sus, especially as it's written by someone in a management position.
I would argue that projects fail because:
1. Management takes the very feasible timeline given to them and throws it out the window, opting to impose impossible deadlines instead, because FUCK your employees right?
2. Clients have requirements that can't be met (I agree w/ this from the article, but not the part about developers not accounting for issues--I always do this and everyone I know does this)
3. Technical Debt arising from when management tells the software engineers to *just do it this way because it's cheaper*
The calculator they made is nice but it's also quoting estimates that I and everyone I've spoken to agree with, so this is clearly not a software engineer problem, it's a fucking management problem. "Budget" = accounting's job.
/rant
That being said, the "take their quote and triple it" part had me dead...1 -
I think it would be nice to see less contracts with those companies which only have in mind barebones training and profit. That kind of relationship between institutions drops the standards and it's expensive af. Those who sells cheap computers and bad software and charges more than ten time their value, those with enough power and influence to bend every single rule...
That kind of companies shapes the industry according to their needs, and will never give a shit about anything but the next semester. They teach you to be just a bit more than a user, they charge you like if they were really teaching science.
You end up full of debt, self taught on the technologies that matters, and accepting jobs on projects as outdated and mediocre as the "educational plans" you paid thousands for. And all that just to get a piece of paper signed by a stranger who doesn't care about you, and enjoyed by a corporation which wouldn't even consider to hire you because they know what they sold to the education department.
Fuck this, today I hate it all. -
if you're not crazy you're clearly not pushing yourself enough
I got a friend who gets weirdly sentimental about people acting "human", and he defines it as them being irrational
I never understood wtf irrationality meant, but this book I've been recently reading defined it as someone (or an organization) with competing interests that have not been unified yet, so basically hypocrites and chaos / impulsivity and etc
so if you're not irrational you're not human, because you haven't pushed yourself hard enough to grow into all sorts of conflicting angles, and amass karmic debt via hypocritical concepts
be crazy or be lazy
and I'm part of this community I lurk in and I absolutely adore the people in it. they're all fucking crazy, because they push themselves so hard. it's the only place I found that feels so human. I think my friend might be right
not like a place where everyone just complains how hard they push themselves either. God those people are insufferable
but you can see it in their odd personalities, the infighting, the obvious non-rectified principles... but fuck are they driven. like they care about stuff, and they chug along with the broken bits and all. it's just so vibe -
Sometimes I wonder if it's the norm, that the frontend reassemble almost nothing on the backend...
Even worse when a solution is agreed and sold one way, but implemented another.
Usually eliminating the opportunity to properly expand on, without hacky work-arounds.. further driving the technical debt..1 -
Being at college and unemployed
Things are going great, learned much and thinking I'm ready to work.
First job
WebDev, minimum wage, still at college but not learning so much because of time.
Quit because I didn't receive two paychecks out of three months I worked there.
Second job
working with banks, java but only old editions 6 and down, mostly maintaining lots of old code. Three months contract is expiring, I have student debt and really don't want to work here but it seems to me I don't have a different option5 -
Have you ever considered switching to IT support/help desk?
I mean, sometimes I try to analyze my own situation from a 3rd person perspective and I realize I could have a pretty much stressless job with still enough money to live a normal life.
I have a BSc and MSc(soon to have) in CS, with focus on AI/ML. I've always been a geek with a problem solving attitude, that's why I got into computers in the first place. And now I'm pondering if I should just try an IT Support position, it's the kind of things I used to do as a teenager when a classmate had a network/computer problem, it doesn't even feel like a job to me. I could call it a day, get home at 5/6pm, and spend time on my personal projects (software, infosec) with a fresh mind, going to bed (and sleep) knowing that the next day would be a nice one. No clients wanting a new feature that you gotta implement and push on a production server friday afternoon because your ceo(who is also a pseudo proj manager) just said:"Yes, we can", while you watch the technical debt rising like amazon's stocks.
Maybe this is just the burnout talking, I don't know. Maybe I should just try being a software engineer outside of Uni in the first place, and only then start pondering.
Maybe a sysadmin position...
Have a nice day12 -
Can someone, with senior experience in the whole software development process at a large scale company, come talk some sense into our development managers on how you properly run a development company??
The way we do things is wrong in so many ways, but I can't get trough to them, maybe someone with more authority will.
Like im talking about things like, no version control, being totally blindsighted to technical debt, no code review, telling me we shouldnt use 3rd party tools to track issues, tasks, etc.
Are there like intervention companies for this?11 -
Slowly I'm learning not to give a shit anymore. This project I'm on can burn. I'll make progress and help out my fellow devs, but if it takes me longer than estimated to complete my tasks because of the unforeseen technical debt arising from this piss-poor excuse of an application design (plus we're 13 devs working on like 5 different feature branches - God help us with our merge conflicts) then so be it. If my tech lead complains, he can find someone else to take the wheel.2
-
I need some advice to avoid stressing myself out. I'm in a situation where I feel stuck between a rock and a hard place at work, and it feels like there's no one to turn to. This is a long one, because context is needed.
I've been working on a fairly big CMS based website for a few years that's turned into multiple solutions that I'm more or less responsible for. During that time I've been optimizing the code base with proper design patterns, setting up continuous delivery, updating packaging etc. because I care that the next developer can quickly grasp what's going on, should they take over the project in the future. During that time I've been accused of over-engineering, which to an extent is true. It's something I've gotten a lot better at over the years, but I'm only human and error prone, so sometimes that's just how it is.
Anyways, after a few years of working on the project I get a new colleague that's going to help me on my CMS projects. It doesn't take long for me to realize that their code style is a mess. Inconsistent line breaks and naming conventions, really god awful anti-pattern code. There's no attempt to mimic the code style I've been using throughout the project, it's just complete chaos. The code "works", although it's not something I'd call production code. But they're new and learning, so I just sort of deal with it and remain patient, pointing out where they could optimize their code, teaching them basic object oriented design patterns like... just using freaking objects once in a while.
Fast forward a few years until now. They've learned nothing. Every time I read their code it's the same mess it's always been.
Concrete example: a part of the project uses Vue to render some common components in the frontend. Looking through the code, there is currently *no* attempt to include any air between functions, or any part of the code for that matter. Everything gets transpiled and minified so there's absolutely NO REASON to "compress" the code like this. Furthermore, they have often directly manipulated the DOM from the JavaScript code rather than rendering the component based on the model state. Completely rendering the use of Vue pointless.
And this is just the frontend part of the code. The backend is often orders of magnitude worse. They will - COMPLETELY RANDOMLY - sometimes leave in 5-10 lines of whitespace for no discernable reason. It frustrates me to no end. I keep asking them to verify their staged changes before every commit, but nothing changes. They also blatantly copy/paste bits of my code to other components without thinking about what they do. So I'll have this random bit of backend code that injects 3-5 dependencies there's simply no reason for and aren't being used. When I ask why they put them there I simply get a “I don't know, I just did it like you did it”.
I simply cannot trust this person to write production code, and the more I let them take over things, the more the technical debt we accumulate. I have talked to my boss about this, and things have improved, but nowhere near where I need it to be.
On the other side of this are my project manager and my boss. They, of course, both want me to implement solutions with low estimates, and as fast and simply as possible. Which would be fine if I wasn't the only person fighting against this technical debt on my team. Add in the fact that specs are oftentimes VERY implicit, so I'm stuck guessing what we actually need and having to constantly ask if this or that feature should exist.
And then, out of nowhere, I get assigned a another project after some colleague quits, during a time I’m already overbooked. The project is very complex and I'm expected to give estimates on tasks that would take me several hours just to research.
I'm super stressed and have no one I can turn to for help, hence this post. I haven't put the people in this post in the best light, but they're honestly good people that I genuinely like. I just want to write good code, but it's like I have to fight for my right to do it.1 -
A lot of the skills I use at work are actually learned on my own time. And a lot of the time, it feels like I trying to drag the team forward but everyone else does things that drag them, and thus me as well, backwards.
There's always work but most of it is low value and there's just less and less time to make things better because no one else has any opinion of how things should be...
Maybe I should just give up... Again....
I really need to find a better job or at least one without so much technical debt.
Feels like actually my PM is exactly like the name of in Phoenix Project... But I guess he'll never take any meaningful action.
But when I'm not sure what that is... Guess it really is hiring the right people and doing things right from the start, it at least fixing them immediately.
**END internal monologue and summary** -
I feel like the fear of technical debt is driving organizations to make rash decisions. I think we’re creating more technical debt by rushing to replace perfectly working and supportable systems with clobbered together ones using the framework of the week. Maybe I’m just old though too. I don’t know, I think I’m just getting tired of re-writing the same system over and over again.7
-
So we have duplicate code because dumb devs thinks Bootstrap (4) is kick-ass for mobile. 😒 Can't do jack with their tables.
I told them to use Flexbox instead. Bootstrap (even 4) is antiquated and there's better options.
My recommendation is to use Flexbox Grid with React to build a modular living style guide with built in unit testing for styles and interactions.
Basically got told that my opinion is just an opinion and is the same as using Bootstrap. 😭
Anyone have some solid "facts" on Bootstrap I can use in the long run? We haven't even launched anything and we're already in technical debt because of this stupid framework decision. Someone please help. 😞3 -
Really trying to tutor my friend so he can land a front end position. He's currently working in fast food and is about to be hit by crippling student loan debt. Is there anything better I can do to give him a hand? I'm fairly entry level myself but I know what I'm doing. I've started teaching him Git and told him to focus on knowing HTML and CSS, and to use vanilla JS if he wants to practice.
He's still really early on, like trying to figure out which elements have hrefs and trying to remember the difference between classes and IDs. Think I'll be able to coach him into an internship offer by the end of the year?3 -
Today I created some reusable clean decent code to replace the random chaos in a huge project and then realised I had 3 options:
1. Sort out every instance to use the new code. This is very high risk because the project is both a shit show and has no tests. I don't have time to manual test or write unit tests on so much stuff.
2. Move over only some so that I can manually test. Still no time to unit test (management is fucked on their priorities). This will fuck the project even more since i will never get time to revisit this and adds yet more inconsistency and chaos to a project on its last legs and has this problem in droves.
3. Leave the project fucked
\_(^^)_/
I'm veering towards option 3 these days.1 -
Whenever I go out for a walk now, I get a monologue in my head about everything wrong with my team... But using managerial terms like man-month, velocity, chaotic, context switching costs, lack of processes and standards, need for more slack, too much low value busy work, technical debt, scope creep, (violation of) the two-pizza rule... by a lot7
-
Finishing this app we are developing and fixing all the technical debt from my first years in the company.
Wish me luck. 🤞1 -
I find it very surprising that people at work are always reluctant to do code reviews. There are no standards in place and everyone is free to push whatever they want. There is Sonar but it doesn't catch bad logic. Don't know how are we going to deal with this technical debt.4
-
Questions to other freelances out there.
I suppose it's a common occurrence to be involved in some project, asked to add some feature or modify something, and then looking at the source and find an unmanageable burning mess.
If upon such a discovery you decide you're not taking the job - for example, given the situation you need to charge quite a lot more and the customer cannot pay the appropriate amount - how do you go on explaining your reasons?
You just go out directly telling them about the dire situation of their codebase? Try to find a nice way of telling the truth? Make some excuse (cannot because personal reasons)?
Just curious2 -
'Tech debt' is the word that every CEO hates to hear during roadmap review.
Instead, talk about how certain part of the code will drastically slow down future development, make it more difficult to troubleshoot, and reduce engineering happiness overall.1 -
Been working long hours and 6-day weeks for not much gain these days. At this rate, I think I will likely end up poor after working myself toward an early grave. My retirement fund actually looks kinda nice when combined with family wealth inherited or that may be inherited sometime in the next 20 years. But the high taxation that’s coming, inflation, and public debt problems that will feed inflation spirals will way more than halve my net worth by the time I am old enough to retire. At that point, I won’t be suicidal but I will be praying to die before I run out of money. From what I see of the local homeless population we try to help, being dead is preferable to sleeping on the street.2
-
Hasn't technology become magic - and we ignorant sorcerer's apprentices who can perform a video call to the other side of the globe perhaps while we understand only some bytes of the thousands software snippets that were piled up by us code monkeys to perform the miracle? ...
This however has always been the state of software (for us developers): that this house of cards needs constant care by our hands to not collapse - in constant fear we may preserve the facades while the number of components that interact, the sheer mass of code only allow for guesswork and hotfixes accumulating the technical debt. Yes, we have all that terms for that. The problems are known since the 80s or 60s, so we might be relabeling it once in a while, but mainly it is just: complexity.. or entropy.2 -
First project at new company ended up shit as clients kept using the backlog to define and refine their business requirements. Did not go to production.
Second project at same company ended up the same way, except it had more infrastructure issues than technical debt (and an asshole for a project manager).
Basically I'm scoring 2 for 2, and totally expecting my next project to be doomed too for a 3 score. Maybe I'll build up enough rep as that guy who dooms projects to just sit on my ass and collect my paycheck while I work on my personal stuff. -
PHP gurus / masochists.
I've been using Symfony components for new, isolated features in a legacy php application for awhile now. the time has come to integrate using the kernel, and routing for new endpoints while existing endpoints use the existing apache means of loading pages.
It's not my first rodeo doing this, but I'd appreciate any wisdom/resources/patterns you followed for anyone who's had to do the same.
My clients don't have the means to do hire the appropriate ammount of devs to do a proper port, so this is a long path towards modernization by ceasing to bolt on features to existing code and instead, when working on something, updating it to the new design pattern and then extending that, with a spec, documentation and code coverage.3 -
I'm more pissed than I've been in awhile. With classes coming back soon and having to catch up to my classmates in college and as a developer, have to work part-time to pay off debt. Now I just found out that I have high cholesterol at EIGHTEEN and need to exercise regularly. All this putting off has now crashed down on me and I have no idea how I'm going to do this all at once. For the sake of my future (and my heart), how the heck am I gonna do all this?2
-
I wrote a site specific web crawler for my job(debt collection agency) spent well over 175 hours on it, database integration, remote spider deployment, easy GUI. I need a major raise if I'm going to give it to them though, I'm currently making 12/hr under the title of legal assistant, think I could get a raise to 23/hr. What would you do?9
-
how hard is it to set up a wordpress site? i hate to ask but am too busy just to try.
i always build everything from scratch, but my mother constantly asks for a new website providing wp-templates as examples. none of my past fancy features were used so i am a bit tired of putting in the effort. is it worth it or would i just create technical debt? what about security concerns, updates and upwards-compatibility with new php versions to come?3 -
Sometimes I think computers and the work conspire to make me an alcoholic. Trying to rush the release and thanks to piled up technical debt it's taking ages. And as it is taking ages, other work is piling up so I would have to rush to something else without cleaning it up and will be swearing again next time. That gives me headache. And to cure it I need to drink. And drinking gives me different kind of headache. All those stupid endless circles are ruining my life!1
-
Found this in a shell script. Instead of just one regex, why not use grep and sed, even though you could have just done it all with sed!
IMAGE_TAG=`grep defproject project.clj | sed -e 's/^.* \"//' -e 's/\"//'`2 -
Does anybody else compost at home? I’ve recently started considering our teams backlog like a compost pile. You need a mix of Carbon rich and Nitrogen rich products for proper compost. (Greens and browns, fruits and paper shreds). It seems like a healthy team would have a mix of features and debt reduction stories in their backlog. Am I too far off here to make the analogy work ?1
-
Management that understands and respects the true virus like nature of technical debt. Considers the implications of bolting on more features. Gives me a place at the table in decision making regarding these matters.
Don't settle for any less. -
Our company has the opportunity to start moving towards a more microservices architecture approach.
There is so much technical debt that needs to be paid back, this opportunity is a godsend!
Now, of course, the whole "programming language debate" comes into play at this point.
To provide some context, we've reached the point where we need to be able to scale, and at the same time where speed and performance are also important. I would argue that scale is of more importance at this stage.
Our "dev manager" (who is really only in that position since he's the oldest, like scribbling on a notepad and the sound of his own voice) wants to use Rust, as this is a peformant language. He wants to write the service once and forget about it. (Not sure that's how programming works, but anyhoo). He's also inclined to want to prematurely optimize solutions before they're even in production.
I want to use Typescript/NodeJS as I, along with most on the team are familiar with it, to the point that we use it on a daily basis in production. Now I'm not oblivious to the fact that Rust is superior to Typescript/NodeJS, but the latter does at least scale well. Also, our team is small - like 5 people small - so we're limited in that aspect as well.
I'm with Kent Beck on this one...
1. Make it work
2. Make it right
3. Make it fast
We're currently only at step 1, moving onto step 2 now!7 -
I can't say how a CS degree helped me since I dropped out, but in all of my tech related jobs we turn down candidates with a CS degree left and right. Turns out showing up for class and managing to pass doesnt give you real world experience, passion, or even knowledge. I used to be a floor factory worker and my team lead was a CS degree holder.
But hey, maybe the crippling debt and super unrelated classes were worth it. -
So our code gets released on Monday. Do you guys think I survive another week and not get fired?
It’s Friday. Survived another week. I feel like Monday is like my last day. I feel every day is my last day at work.
Well for many reasons which are true. Rewording my review so that I don’t get fired prematurely:
Sucks at Jira, does not do many code reviews, lot of technical debt. There is more... -
going to pick up my brand new bmw now (im in bank credit debt but at least I'll get to fuck whores (women) more easily)11
-
!Rant
A question/survey for the community.
I'm a junior web developer who has the bug for traveling. I want to work in different countries and move around a lot. How could I make that work? I'm US born without a dime of debt and a wanderer's soul. Do I just simply apply to jobs in different countries? Do I do this until I can safely freelance? Thoughts? Help? Ideas? -
My team is pretty small right now. It's myself and two other guys. One lead, who's been here for five years. A senior who we brought on 2 weeks ago. And me, a regular app dev. The lead put his two weeks in last week and has been trying to brain dump as much as he can onto us.
I've been building a list of prioritization to compensate for when he leaves based on what he was saying was the most important. This list has gotten pretty massive after reviewing most of the processes in place.
I was hired mainly to quell new requests coming in and not to maintain our systems, so that's what I did. I didn't examine our prod code base too closely. I wish I had. It's in a sorry state. I'm pretty sure I have about 2 years of tech debt for a crew of two guys constantly working on it.
I've been trying to prioritize based on what gets the most bug fixes and change requests. These apps will see the biggest changes and will undergo the most maintenance.
Since I'm just a regular app dev it feels weird trying to come up with this and try to prioritize this and come up with a plan. It feels like someone else should have. If it needs done then I guess it needs done. I need to be able to collaborate and work with my co worker and be able to plan for what projects are coming next.
If anyone has any suggestions to tackle tech debt please make them. Or if there's any help for managing priorities in a different manner that may prove helpful I'm open. Honestly, I don't want to tackle this completely blind, it feels like a lot.1 -
The moment you realise the team you have joined has just finished a brittle implementation: "Wish I was here to stop this."
-
I never did get that break I wanted. Though, I did get off incident tickets.
Has been replaced with project after project though, with the emphasis being on "getting it over the wall", so as you can imagine. There is a pile of tech debt that's just being ignored. It'll blow up in production one day.
It's not all doom and gloom though. I've gotten the opportunity to write a few things, from scratch that are separate from the rest of our products. Nothing nicer than a clean slate, not built upon a steaming pile. -
What's the minimal feature set that can make a language as ornamented as JS into a comfortable REPL?
Should I write a full parser or should I try to patch my way around with regex?
It will have to interface a lot with JS so it has to be able to manage JS datastructures in some fashion, which means that I can't just make a whole new command line with its own programs.
My current plan:
Some delimiter (probably a semicolon) will take the output of a command and inject it in the next in case you decide halfway through a line to do some more processing, It also awaits promises and does some other nice stuff to make controlling such pipelines easy. I have an elaborate system in mind to decide where a value must be injected to make the line valid so in most cases you don't even have to indicate it. JS has beautifully simple syntax rules so I have a lot of technical balance to burn before I start building technical debt.
I have some ideas for automatic parentheses and commas in function calls. I realize while using a command line you do not want to tap shift often. My main idea here is that two names or values in js are always joined by an operator so the first missing operator is a call and following missing operators are commas until the end of line. This has lots of nasty edge cases though, like that no argument expression can begin with a unary operator or a bracket of any shape. You can always prepend a comma but it's cognitive load.
Anyway, do you have any suggestion or warning besides "js bad" which I know but it's the most popular sandboxable language and has a massive existing set of libraries which I kinda need.3 -
Does rapid application development methodology leads to more technical debt compare to other ones? With a factor like deadlines, a small number of team etc? 🤔
-
Im hoping the dept of ed will work with me here.
i have been trying to pay off this technical debt. Otherwise, the new feature won't launch and i might screw up this contact. hope that the govt will understand that i can't pay financial debt until these bugs are resolved.
I mean that's how it works right? -
GUYS GUYS IM GETTING A PRENUP
If I understood it correctly it means I can just borrow shitload of money and blow it all and go into debt and they cannot do anything because all my shit belongs to my wife.
Time to buy bitcoin and befriend a junkie.11