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 - "who wants to help me fix it"
-
Root gets ignored.
I've been working on this monster ticket for a week and a half now (five days plus other tickets). It involves removing all foreign keys from mass assignment (create, update, save, ...), which breaks 1780 specs.
For those of you who don't know, this is part of how rails works. If you create a Page object, you specify the book_id of its parent Book so they're linked. (If you don't, they're orphans.) Example: `Page.create(text: params[:text], book_id: params[:book_id], ...)` or more simply: `Page.create(params)`
Obviously removing the ability to do this is problematic. The "solution" is to create the object without the book_id, save it, then set the book_id and save it again. Two roundtrips. bad.
I came up with a solution early last week that, while it doesn't resolve the security warnings, it does fix the actual security issue: whitelisting what params users are allowed to send, and validating them. (StrongParams + validation). I had a 1:1 with my boss today about this ticket, and I told him about that solution. He sort of hand-waved it away and said it wouldn't work because <lots of unrelated things>. huh.
He worked through a failed spec to see what the ticket was about, and eventually (20 minutes later) ran into the same issues Idid, and said "there's no way around this" (meaning what security wants won't actually help).
I remembered that Ruby has a `taint` state tracking, and realized I could use that to write a super elegant drop-in solution: some Rack middleware or a StrongParams monkeypatch to mark all foreign keys from user-input as tainted (so devs can validate and un-taint them), and also monkeypatch ACtiveRecord's create/save/update/etc. to raise an exception when seeing tainted data. I brought this up, and he searched for it. we discovered someone had already build this (not surprising), but also that Ruby2.7 deprecates the `taint` mechanism literally "because nobody uses it." joy. Boss also somehow thought I came up with it because I saw the other person's implementation, despite us searching for it because I brought it up? 🤨
Foregoing that, we looked up more possibilities, and he saw the whitelist+validation pattern quite a few more times, which he quickly dimissed as bad, and eventually decided that we "need to noodle on it for awhile" and come up with something else.
Shortly (seriously 3-5 minutes) after the call, he said that the StrongParams (whitelist) plus validation makes the most sense and is the approach we should use.
ffs.
I came up with that last week and he said no.
I brought it up multiple times during our call and he said it was bad or simply talked over me. He saw lots of examples in the wild and said it was bad. I came up with a better, more elegant solution, and he credited someone else. then he decided after the call that the StrongParams idea he came up with (?!) was better.
jfc i'm getting pissy again.9 -
I think I want to quit my first applicantion developer job 6 months in because of just how bad the code and deployment and.. Just everything, is.
I'm a C#/.net developer. Currently I'm working on some asp.net and sql stuff for this company.
We have no code standards. Our project manager is somewhere between useless and determinental. Our clients are unreasonable (its the government, so im a bit stifled on what I can say.) and expect absurd things from us. We have 0 automated tests and before I arrived all our infrastructure wasn't correct to our documentation... And we barely had any documentation to begin with.
The code is another horror story. It's out sourced C# asp.net, js and SQL code.. And to very bad programmers in India, no offense to the good ones, I know you exist. Its all spagheti. And half of it isn't spelled correctly.
We have a single, massive constant class that probably has over 2000 constants, I don't care to count. Our SQL projects are a mess with tons of quick fix scripts to run pre and post publishing. Our folder structure makes no sense (We have root/js and root/js1 to make you cringe.) our javascript is majoritly on the asp.net pages themselves inline, so we don't even have minification most of the time.
It's... God awful. The result of a billion and one quick fixes that nobody documented. The configuration alone has to have the same value put multiple times. And now our senior developer is getting the outsourced department to work on moving every SINGLE NORMAL STRING INTO THE DATABASE. That's right. Rather then putting them into some local resource file or anything sane, our website will now be drawing every single standard string from the database. Our SENIOR DEVELOPER thinks this is a good idea. I don't need to go into detail about how slow this is. Want to do it on boot? Fine. But they do it every time the page loads. It's absurd.
Our sql database design is an absolute atrocity. You have to join several tables together just to get anything done. Half of our SP's are failing all the time because nobody really understands the design. Its gloriously awful its like.. The epitome of failed database designs.
But rather then taking a step back and dealing with all the issues, we keep adding new features and other ones get left in the dust. Hell, we don't even have complete browser support yet. There were things on the website that were still running SILVERLIGHT. In 2019. I don't even know how to feel about it.
I brought up our insane technical debt to our PM who told me that we don't have time to worry about things like technical debt. They also wouldn't spend the time to teach me anything, saying they would rather outsource everything then take the time to teach me. So i did. I learned a huge chunk of it myself.
But calling this a developer job was a sick, twisted joke. All our lives revolve around bugnet. Our work is our BN's. So every issue the client emails about becomes BN's. I haven't developed anything. All I've done is clean up others mess.
Except for the one time they did have me develop something. And I did it right and took my time. And then they told me it took too long, forced me to release before it was ready, even though I had never worked on what I was doing before. And it worked. I did it.
They then told me it likely wouldn't even be used anyway. I wasn't very happy at all.
I then discovered quickly the horrors of wanting to make changes on production. In order to make changes to it, we have to... Get this
Write a huge document explaining why. Not to our management. To the customer. The customer wants us to 'request' to fix our application.
I feel like I am literally against a wall. A huge massive wall. I can't get constent from my PM to fix the shitty code they have as a result of outsourcing. I can't make changes without the customer asking why I would work on something that doesn't add something new for them. And I can't ask for any sort of help, and half of the people I have to ask help from don't even speak english very well so it makes it double hard to understand anything.
But what can I do? If I leave my job it leaves a lasting stain on my record that I am unsure if I can shake off.
... Well, thats my tl;dr rant. Im a junior, so maybe idk what the hell im talking about.rant code application bad project management annoying as hell bad code c++ bad client bad design application development16 -
Oh man. I have been waiting for this one. Gather round lil' chil'rens it's story time.
So. I was looking for a new project because my old one was wrapping up and that's what my company does. So I was offered some simulation type stuff. I was like "sure why not, I want to make a computer pretend it isn't a computer no more." Side note I should not be a psychiatrist.
So, prior to coming on to this job I felt stifled by my old job's process. This job was a smaller team so I thought the process would be a little smoother. But it turned out they had NO process. Like they had a bug tracking system and they held the meeting to add things to the system, but that was just fucking lip service to a process.
First of all, they used the local disk on the test box as their version control. and had no real scheme as to how they organized it. We had a CM tool but gods forbid they ever fucking use it. I would be handed problem reports and interface change requests, write a bug to track it, go into the code and about 75% of the time or more it had already been worked. However, there was no record of it being worked and I would have to fucking hunt that shit down in a terribly shitty baseline (standardize your gods damned indentation for fuck's sake) and half the time only found out it was done because when I finally located the piece of code that needed changing, the work was already done.
Then, on top of all that, they ask me what time I want to come in. I said 10am, they said okay. One day I roll in at 10 and my boss is mad. Because I missed a meeting. That was at 9. That I wasn't told about. He says I can keep coming in at 10am though (I asked and volunteered to help get him up to speed on the things I was working he said it wasn't necessary) so I did, but every time I missed a 9am meeting he would get pissed. I'm like PICK ONE!!! They move the meeting to 9:30am (which is not 10am).
This shit starts affecting my health negatively. Stress is apt to do that. It triggered an anxiety relapse that pushed me back in to therapy for the first time in 7 years. On top of that the air quality in the office is so bad that I am getting back to back sinus infections and I get put on heavy antibiotics that tear up my stomach along with the stress and new meds tearing up my stomach. So one day as I am laid out in pain, I call out sick. Two days in a row. (Such a heinous crime right.) Well I missed a test event, that I wasn't even the primary or secondary on.
So fast forward to the most pissed off I have ever been. I get called in to a meeting with my boss's boss. As it turns out, my coworkers are not satisfied by the work that I'm doing (funny because I thought I was doing pretty good given that my only direction was fix the interface change reports and problem reports. And there was no priority assigned to any of them).
And rather than tell me any of this, they go behind my back to the boss and boss's boss. They tell me I need to communicate (which I did) and ask for help when I need it (I never did). That I missed an important event (that I played no part in and gods forbid I be sick) and that it seemed like I didn't want to be there (I didn't but who WANTS to work a corporate job).
They put me on a performance improvement plan and I jumped to another project. I am much happier now. Old coworkers won't even say hi, not even those I was friendly with, but fuck them anyway.5 -
I was unemployed and had to sent out 10 or so job applications per month to e eligible to receive the money substitution for unemployment...
Anyways, not many jobs fit my experience, so I was sending out to those with higher/different requirements aswel.. That day I was meeting my sister and she was already waiting for me, so I quickly sent out a totally unpersonalised application for a job I wasn't qualified for. Next day I got back response email with a self grading questionaire I didn't really understood, all about MS technologies I never worked with..which means I didn't know how to grade myself..I decided to ask around people to try to help me grade myself, but then I totally forgot about that in the next days and never replied to that email.
Anyways, week later I got email for job interview from a sister company (found that out later, snooping through linkedin). I was surprised someone requested a meeting with me, especially without the agenda (at that time I was not aware it was a job interview).. Anyways I went there, found out the guy interviewing me thought they lost my questionaire. I explined the situation and he just decided to ask me around to see what I know. So we talked about my past experience and the guy who was doing the interview explained what is what & and explained what I did before and together we figured out what I know and what my experiences are... After we were done, he said that everything else, the payment and other stuff about the job position I should discuss with the director. Not to ask questions, but negotiate.. O.o And just like that I got the job, because they liked my CV & attitude (I like to learn new stuff) and they thought I'd fit in perfectly.
I'm still working there, it's been 4 years now, I think.. loved it since the day one.. Got 'promoted' to another project, crappy old code noone wants/dares to touch but I love it! The guys think I am weird cuz I like to solve/fix things and make them better, and previous employees who worked on that project have all lost their shit and quit. They are all wondering how I can handle this, but little do they know about devrant & my love for the crazy!!2 -
OMG people please stop being so fucking lazy... help me help you... RN I have multiple support people asking me to fix a bug that they can't even describe (and honestly I doubt it exists) and a fellow developer who refuses to give me a DB or migration to test his patch but wants me to merge it urgently. FOH and die, y'all.20
-
So I got a job and on the first day I was giving a task to fix a bug which they said it was urgent that the software is been used by the financial department, so if I don't get it fixed soonest they would be loosing money.
I completely don't know how the software works, so I thought they would give me some time to get familiar with the code base but fu*k I gat to fix this if not they would See me as a person who does not know his stuff.
Some minute later, the CTO messaged me asking me how I introduced the bug in the first place, I was like I have not even cloned the repo, I have not pushed any code lol. At that point I know I'm gonna be so f**ked in this job .
So after sometime I fixed it but I had to get permission from the lady that manages the database because I was not given access and I need to update a field name in a table for everything to work well. I asked the lady to help update the field since she is the only one that has access to it and its urgent and every body is waiting for me. She told me to wait for 1hr and remind her that she's busy right now, after some hrs I reminded her but she kept telling me she will update it later.
Nobody wants to hear that I was not the one delaying the fix, so since I can push some code to the report and it's get deployed, I wrote a script to update the field and I removed the code later. With that done the fix was live and everybody was happy!
The next day, the lady came to me and was like I tried to update the field when I went home but it has already been update but I don't know why. I told her I don't know too :p😃2 -
So I was just wondering why is do Snapchat take worse photos on android but we have better cameras so I download and check the source code naturally I check the source code and lo and behold I see this apparently snap for android doesn't use the camera it just screenshots it wtf?1
-
As someone who has been developing a game (not even close to 20% done) and dealing with bug reports, I'm pissed off by this one report from a game I play, which I'll just shamelessly copy-paste it here for y'all to read and rant
"Title: [sic]lag never fixed
[sic]i dont wanna report lag doesnt mean there's no lag ,
the LAG is real, and is getting worse and worse everyday, vespa please fix the problem,
i used to think i could bear this lag, but i cant ,i just cant, after 5+ times game crashing everyday,my patient is losing . you say u are fixing it every maintenance,but what is this BXXX SXXX?all i could see it you are trying your best to grab money from my wallet(well u FXXXING successed),and the promise you made to fix the lag never ever ..........
sorry for my bad Chiglish, but./......"
I'm not a developer of the game, but this pisses me off. The guy wants fixes on the "lag"; which lag?? latency?? FPS?? random freezes??; while giving absolutely ZERO details on the "lag" AND accusing the company of stealing money without doing sh-t, which is not true as far as I can tell in-game. So, I instinctively waltzed in and ranted at how sh-t the report is in detail, and accused him of inhibiting the game's development because of his sh-t report, and he replied with this (I told him I'm a game dev in the reply I mentioned):
"[sic]as a person who made this game should know what lag is just like u know what fuk is as a human being,and i said game crash ,thats the best way i could explain as a normal player not like you an arrogant indie game dev!and if u cant understand what course the game crash,as a player like me how could i know, thats the reason im asking for help here,and i hope they dont have such indie game dev like you who doesnt know lag(game crash)"
M-th-rf-ck-r. For the first time, I see true ignorance. While writing this, I'm typing my next reply for the m-th-rf-ck-r that lacks common sense on reporting a bug. For f-ck sake if I found him I'll put a bullet through his head.2 -
So my coworker asked for help with his work. I understand that sometimes talking about the problem with someone else will help solve the problem, but seriously, don't ask me "How do I fix this?". If you wanted me to help you fix something, go to lunch and let me work on it for a couple of hours. I can't fix something by telling you what to do. I need time to look into the problem myself, do research, and run tests on my own. Telling to do that over your shoulder is a complete waste of our time.
Also, his attitude of complete helplessness is tiring. It's hard to help someone who continually reminds you of how much he just wants to give up.2 -
How do you deal when you are overpromising and underdelivering due to really shitty unpredictable codebase? Im having 2-3 bad sprints in a row now.
For context: Im working on this point of sale app for the past 4 months and for the last 3 sprints I am strugglig with surprises and edgecases. I swear to god each time I want to implement something more complex, I have to create another 4-5 tickets just to fix the constraints or old bugs that prevent my feature implementation just so I could squeeze my feature in. That offsets my original given deadlines and its so fucking draining to explain myself to my teamlead about why feature has to be reverted why it was delayed again and so on.
So last time basically it went like this: Got assigned a feature, estimated 2 weeks to do it. I did the feature in time, got reviewed and approved by devs, got approved by QA and feature got merged to develop.
Then, during regression testing 3 blockers came up so I had to revert the feature from develop. Because QA took a very long time to test the feature and discover the blockers, now its like 3 days left until the end of the sprint. My teamlead instantly started shitting bricks, asked me to fix the blockers asap.
Now to deal with 3 blockers I had to reimplement the whole feature and create like 3 extra tickets to fix existing bugs. Feature refactor got moved to yet another sprint and 3 tickets turned into like 8 tickets. Most of them are done, I created them just to for papertrail purposes so that they would be aware of how complex this is.
It taking me already extra 2 weeks or so and I am almost done with it but Im going into really deep rabbithole here. I would ask for help but out of other 7 devs in the team only one is actually competent and helpful so I tried to avoid going to him and instead chose to do 16 hour days for 2 weeks in a row.
Guess what I cant sustain it anymore. I get it that its my fault maybe I should have asked for help sooner.
But its so fucking frustrating trying to do mental gymnastics over here while majority of my team is picking low hanging fruit tasks and sitting for 2 weeks on them but they manage to look good infront of everyone.
Meanwhile Im tryharding here and its no enough, I guess I still look incompetent infront of everyone because my 2 weeks task turned into 6 weeks and I was too stubborn to ask for help. Whats even worse now is that teamlead wants me to lead a new initiative what stresses me even more because I havent finished the current one yet. So basically Im tryharding so much and I will get even extra work on top. Fucking perfect.
My frustration comes from the point that I kinda overpromised and underdelivered. But the thing is, at this point its nearly impossible to predict how much a complex feature implementation might take. I can estimate that for example 2 weeks should be enough to implement a popup, but I cant forsee the weird edgecases that can be discovered only during development.
My frustration comes from devs just reviewing the code and not launching the app on their emulator to test it. Also what frustrates me is that we dont have enough QA resources so sometimes feature stands for extra 1-2 weeks just to be tested. So we run into a situation where long delays for testing causes late bug discovery that causes late refactors which causes late deliveries and for some reason I am the one who takes all the pressure and I have to puloff 16 hour workdays to get something done on time.
I am so fucking tired from last 2 sprints. Basically each day fucking explaining that I am still refactoring/fixing the blocker. I am so tired of feeling behind.
Now I know what you will say: always underpromise and overdeliver. But how? Explain to me how? Ok example. A feature thats add a new popup? Shouldnt take usually more than 2 weeks to do my part. What I cant promise is that devs will do a proper review, that QA wont take 2 extra weeks just to test the feature and I wont need another extra 2 weeks just to fix the blockers.
I see other scrum team devs picking low hanging fruit tasks and sitting for 2 weeks on them. Meanwhile Im doing mental gymnastics here and trying to implement something complex (which initially seemed like an easy task). For the last 2 weeks Im working until 4am.
Im fucking done. I need a break and I will start asking other devs for help. I dont care about saving my face anymore. I will start just spamming people if anything takes longer than a day to implement. Fuck it.
I am setting boundaries. 8 hours a day and In out. New blockers and 2 days left till end of the sprint? Sorry teamlead we will move fixes to another sprint.
It doesnt help that my teamlead is pressuring me and asking the same shit over and over. I dont want them to think that I am incompetent. I dont know how to deal with this shit. Im tired of explaining myself again and again. Should I just fucking pick low hanging fruit tasks but deliver them in a steady pace? Fucking hell.4