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 - "bad quality everywhere"
-
Today was my last day of work, tomorrow i have officially left that place. It's a weird feeling because i'm not certain about the future.
The job was certainly not bad, and after all i read on devrant i'm beginning to believe it was one of the better ones. A nice boss, always something to eat/drink nearby, a relaxed atmosphere, a tolerance for my occasionally odd behaviour and the chance to suggest frameworks. Why i would leave that place, you ask? Because of the thing not on the list, the code, that is the thing i work with all the time.
Most of the time i only had to make things work, testing/refactoring/etc. was cut because we had other things to do. You could argue that we had more time if we did refactor, and i suggested that, but the decision to do so was delayed because we didn't have enough time.
The first project i had to work on had around 100 files with nearly the same code, everything copy-pasted and changed slightly. Half of the files used format a and the other half used the newer format b. B used a function that concatenated strings to produce html. I made some suggestions on how to change this, but they got denied because they would take up too much time. Aat that point i started to understand the position my boss was in and how i had to word things in order to get my point across. This project never got changed and holds hundreds of sql- and xss-injection-vulnerabilities and misses access control up to today. But at least the new project is better, it's tomcat and hibernate on the backend and react in the frontend, communicating via rest. It took a few years to get there, but we made it.
To get back to code quality, it's not there. Some projects had 1000 LOC files that were only touched to add features, we wrote horrible hacks to work with the reactabular-module and duplicate code everywhere. I already ranted about my boss' use of ctrl-c&v and i think it is the biggest threat to code quality. That and the juniors who worked on a real project for the first time. And the fact that i was the only one who really knew git. At some point i had enough of working on those projects and quit.
I don't have much experience, but i'm certain my next job has a better workflow and i hope i don't have to fix that much bugs anymore.
In the end my experience was mostly positive though. I had nice coworkers, was often free to do things my way, got really into linux, all in all a good workplace if there wasn't work.
Now they dont have their js-expert anymore, with that i'm excited to see how the new project evolves. It's still a weird thing to know you won't go back to a place you've been for several years. But i still have my backdoor, but maybe not. :P16 -
Perhaps if companies were driven not by greed, but by quality and improving the respective field they are in, perhaps the world would be a better place... But what do I know...7
-
Oh gee whiz fellas. I lived through my nightmare. Recently too.
(Multiple rants over last few months are merged in this one. Couldn't rant earlier because my login didn't work.)
I joined a new shithole recently.
It was a huge change because my whole tech stack changed, and on top of that the application domain was new too.
Boss: ho hey newbie, here take this task which is a core service redesign and implementation and finish it in two weeks because it has to be in production for a client.
Normally I'd be able to provide a reasonable analysis and estimate. But being new and unaware of how things work here, I just said 'cool, I'll try my best.' (I was aware that it was a big undertaking but didn't realize the scope and the alarming lack of support I'd get and the bullshit egos I'd have to deal with)
Like a mad man I worked 17+ hours a day with barely a day off every week and changed and produced a lot of code, most of it of decent quality.
Deadline came and went by. Got extended because it was impossible (and fake).
All the time my manager is continuously building pressure on me. When I asked questions I never got any direct/clear answers. On asking for help, I'd get an elaborate word vomit of what was already known/visible. Yet I finally managed to have an implementation ready.
Reviewer: You haven't added parameter comments on your functions and there aren't enough comments in code. We follow standards. Clean code and whatnot. Care for the craft verbal diarrhea.
Boss: Ho hey anux, do you think we'll be able to push the code to production?
Me: Nope. We care for the craft and have standards. We need to add redundant comments to self documented code first, because that is of utmost importance as Nuthead reviewer explained.
(what I wish I had said)
What I actually said: No, code is not reviewed yet.
And despite examples of functions which were not documented (which were written by the reviewer nut), I added 6-7 lines of comments for my single line functions describing how e.g. Sum takes two input integers and returns their sum and asked for a review again.
Reviewer: See this comment is better written as this same-meaning-but-slightly-longer way. Can we please add full stops everywhere even though they were not there to begin with? Can we please not follow this pattern and instead promote our anti-pattern? Thanks.
Me: Changed the comments. Added full stops. Here's a link for why this anti-pattern is bad.
Reviewer: you have written such beautiful code with such little gems. Brilliant. It's great to see how my mentoring has honed your skills.
.
.
.
I swear I would have broken a CRT on his stupid face if we weren't working remotely (and if I had a CRT).
It infuriates me how the solution to every problem with this guy is 'add a comment'.
What enrages me more is that I actually thought I could learn from this guy (in the beginning). My self doubt just made me burnout for little in return.
Thankfully this living nightmare will soon be over.rant fuck you shitty reviewer micromanagement by micrococks wk279 living nightmare fml glassdoor reviews don't lie9 -
I need guidance about my current situation.
I am perfectionist believing in OOP, preventing memory leak in advance, following clean code, best practices, constantly learning about new libraries to reduce custom implementation & improve efficiency.
So even a single bad variable name can trigger my nerves.
I am currently working in a half billion $ IT service company on a maintenance project of 8 year old Android app of security domain product of 1 of the top enterprise company of the world, which sold it to the many leading companies in the world in Govt service, banking, insurance sectors.
It's code quality is such a bad that I get panic attacks & nightmares daily.
Issues are like
- No apk obfuscation, source's everything is openbook, anybody can just unzip apk & open it in Android Studio to see the source.
- logs everywhere about method name invoked,
- static IV & salt for encryption.
- thousands of line code in God classes.
- Irrelevant method names compared to it's functionality.
- Even single item having list takes 2-3 seconds to load
- Lag in navigation between different features' screens.
- For even single thing like different dimension values for different density whole 100+ lines separate layout files for 6 types of densities are written.
- No modularized packages, every class is in single package & there are around 100+ classes.
Owner of the code, my team lead, is too terrified to change even single thing as he don't have coding maturity & no understanding of memory leak, clean code, OOP, in short typical IT 'service' company mentality.
Client is ill-informed or cost-cutting centric so no code review done by them in 8 years.
Feeling much frustrated as I can see it's like a bomb is waiting to blast anytime when some blackhat cracker will take advantage of this.
Need suggestions about this to tackle the situation.10 -
Overall, pretty good actually compared to the alternatives, which is why there's so much competition for dev jobs.
On the nastier end of things you have the outsourcing pools, companies which regularly try to outbid each other to get a contract from an external (usually foreign) company at the lowest price possible. These folks are underpaid and overworked with absolutely terrible work culture, but there are many, many worse things they could be doing in terms of effort vs monetary return (personal experience: equally experienced animator has more work and is paid less). And forget everything about focus on quality and personal development, these companies are here to make quick money by just somehow doing what the client wants, I'm guessing quite a few of you have experienced that :p
Startups are a mixed bag, like they are pretty much everywhere in the world. You have the income tax fronts which have zero work, the slave driver bossman ones, the dumpster fires; but also really good ones with secure funding, nice management, and cool work culture (and cool work, some of my friends work at robotics startups and they do some pretty heavy shit).
Government agencies are also a mixed bag, they're secure with low-ish pay but usually don't have much or very exciting work, and the stuff they turn out is usually sub-par because of bad management and no drive from higher-ups.
Big corporates are pretty cool, they pay very well, have meaningful(?) work, and good work culture, and they're better managed in general than the other categories. A lot of people aim for these because of the pay, stability, networking, and resume building. Some people also use them as stepping stones to apply for courses abroad.
Research work is pretty disappointing overall, the projects here usually lack some combination of funding, facilities, and ambition; but occasionally you come across people doing really cool stuff so eh.
There's a fair amount of competition for all of these categories, so students spend an inordinate amount of time on stuff like competitive programming which a lot of companies use for hiring because of the volume of candidates.
All this is from my experience and my friends', YMMV.1 -
I am the technical lead in a project which uses a C# based framework. It's a lot of drag and drop, and C# scripts can be embedded for fancy stuff.
Scripts in general are not hard to do, it's harder to understand the business rules rather than the code itself.
I got hired as a junior to build this project from scratch as an MVP, and we need another junior to add enhancements and minor changes required from our end users. Since management wants me to move on working on more mid-senior development stuff, I'm supposed to be only supervising the juniors work (in the hopes that one day they'll be able to work on their own).
We've had bad luck filling this position. Our last hire is a guy like 17 years older than me, supposedly with experience in said framework but OH DEAR GOD.
Fucktard can't understand requirements and corrections, isn't able to deliver a 20 line script without fucking up. I give him a list with 3 mistakes to fix and only fixes two, crap like that.
Now, hear me out, the mistakes are stuff like:
- Unused variables
- Confusing error messages
- Error messages written in spanglish (mix between Spanish and English, we're located in Latin America)
- Untested features, this is the worst of all.
You may say "but he's a junior", sure. But as I said, he supposedly has experience, more years in IT than me, and fine, you're allowed to fuck up a few times on your first tasks but not make the same mistakes over and over, specially since we've already sat down and addressed these issues in presence of the CTO.
Fuck this guy. I genuinely dislike him as a person also, he is from another latin country and we have some serious cultural differences. For instance, he insists on sucking your ass constantly, being overly well manered (we already saluted with the whole team at the daily stand up, stop saying hello, good day, regards in each of your fucking chat messages or task submissions), and other mannerisms that are hard to translate, but whatever, all of these attitudes are frowned upon here. They're not necessary, we just want to keep it simple, cordial and casual and see you deliver the crap that you're being paid for with a decent level of quality.
On Monday the CTO comes back from vacation, I'm looking forward to that meeting, gonna report his ass, there is evidence everywhere on our issue tracker.4