Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "bugs"
Interviewer: For this next code challenge you will not be allowed to use the internet, or an IDE.
Interviewer: OR a keyboard OR a mouse. I will be verbalizing the code to you and you need to memorize it and tell me where the bugs are.
Interviewer: We must do this exercise to know how you are as a dev without any performance enhancing “aid”. This way we can understand where you are truly at skill-wise, and what you are truly worth from a compensation perspective.
Dev: If I get a job with you will I be allowed to use the internet and an IDE and a keyboard/mouse?
Interview: Of course you would! Getting anything done without those is just about impossible. We just need to evaluate you without them to see how good you REALLY are.
I quit and my last day is next week.
Apparently management has decided that I should spend my last day implementing a new feature for a customer where I have been the only developer, and release it to production (without first implementing it in test) the same day. A feature that potentially could cripple a whole workflow if done wrong.
Of course I advised not to release untested code to production on a friday, just before the only person that knows how it works leaves the company. But no, “the customer reaaaaaally wants it before summer, so just be careful not to write any bugs”.
I’m not saying that I’m intentionally gonna write bad code - but if I do, I’m not gonna pick up the phone when it calls.19
Dear children let's talk about how to ask a f***ing question.
You don't just go "I need help. I can't figure it out." We had trainings on this, I sat through 3 hours holding your hand to help you try and understand things.
And yet now we have scheduled another 3 hours to help you figure this out because you said you were having difficulty with it because you couldn't figure it out. How about instead of just saying you "Need help", you start by
1. Explaining what you are trying to accomplish
2. What specific issue are you facing? Is there an error message or something?
3. What have you already tried thus far that didn't work?
Instead of "I NEED HELP I CAN'T FIGURE IT OUT!" that is the sign of a lazy f****ing engineer, someone who doesn't want to think, who doesn't want to learn something new who wants to just coast by. Especially when this is going to become an increasingly important part of your job.
And of course you currently are still a whole job level above me because sitting around and keeping a chair warm for 10 years means you are a valuable contributor, instead of what you can actually DO!
This bugs me so much. So remember kids, when you need help, or need to ask a question, ASK IT THE RIGHT F****ING WAY!6
We passed a milestone: 250,000 phpunit testcases.
If it weren't for a heavily parallelized build pipeline which splits it out over 20 servers, it would take about 7.5 hours to complete.
Not hating on PHP, and without tests it would truly be hell...
But still, fucking hell, we outgrew PHP.
Not having a solid type system just means you either accept more bugs, or write thousands of unit tests to guard all the foundational cracks in the system.
On the bright side, I get a coffee break after every commit 😄22
Oh boy, the startup managers are writing a roadmap today. Can't wait.
5 mIlLiOn DaIlY aCtIvE uSeRs By EnD oF Q1! (2022!!!)
1 MiLlIoN dAiLy ReVeNuE bY tOmOrRoW!
zErO bUgS aNd KnOwN iSsUeS iN sYsTeM bY 5Pm ToDaY!
tHoUsAnDs Of NeW cUsToMeRs WiThIn ThE nExT hOuR!6
> make a change
> PR gets rejected
> IHATEFORALIVING! YOUR CHANGE IS NOT WORKING! EVERYTHING BREAKS!
> 3 hours long debugging session
> We find out a whole bunch of bugs
> Suddenly, everything works
> None of the bugs had ANYTHING to do with my change. In the instances where the app broke, my code wasn't even being called at all.
> My change was literally the one and only working thing
I wish life was like in The Office, when you just stop what you're doing and you drop the Jim stare at some camera3
I know a guy who writes everything in Haskell.
He writes backend AND frontend in Haskell and uses some kind of JRPC stuff to manage all that. He told me that his life is a pure heaven. He IS RELEVANT (!!!!!!), his apps always run without bugs (because in Haskell you can mathematically prove that there are no bugs), they are performant, faster than C (because you can't write a complex enough app in C that will be as efficient as compiled Haskell, because it's you vs compiler). He doesn't have any problems in life whatsoever. He never got burned out, he never got anxiety or depression. He doesn't act pretentiously and stuff, he's just a normal person who rarely even mentions that he can program.
Science says it can't be done! You can't only know Haskell and be a relevant software engineer! You know what, he didn't _know_ it was impossible. He's like that grandpa from a meme, he got Alzheimers, but because of it he forgot that he had Alzheimers, and now remembers everything.
The fun thing is that he looks like a typical gopnik, with adidas suits and stuff.
What a gem of a person.26
A repressed memory just popped into my head:
At my former job I tried to explain a problem I was having to the tech lead. Then, without fully understanding the problem, he decided to rewrite my code that I had been working on for weeks. His code, that took him 2 days to write, went straight to master without peer review.
He introduced about 10 regressions…
Queue the client meeting where the client says “These bugs came back, and we thought they were fixed already…” (They demo the bugs)
So obviously I say “I’ll let Techlead address that one.”
He just mumbles some stuff, and goes quiet for the rest of the meeting. Finally, when the meeting was wrapping up we hear “It’s Fixed!”
Everyone was like ???
“That bug from earlier, it’s fixed, it should work now….”
Would you believe this guy decided to code during the entire meeting, clearly missing important feedback and information that would help him understand the problem. Again, pushing to master without review….
Not to mention that we were talking about 10 regressions…3
Some 'wk306' highlights from different people:
Walk around the office in his underwear, because he forgot he left his trousers in the bathroom
Run a red light outside the office due to not wearing his required glasses. When questioned by co-workers, replied "I don't follow those facist rules"
Asking if we work less will we get paid more, because the project will take longer to do (while in a startup with no funding trying to secure some)
Tell a senior dev to stop testing in his spare time, as we won't be able to release on time if he keeps finding critical security bugs
Telling me "your timezone is not my concern", when asking for help with new tooling so we don't have to be online at the same time
Blaming my team for requesting too much help, leading to his team missing deadlines, in a meeting with very senior managers. When the reason we were requesting help was the handover doc we were given was filled with lies about features being finished and "ready to ship" and lacking any unit tests
Being accused of bullying and harassment to the CEO, because someone asked "did you follow up with X about the partnership they emailed us about". The person who was responsible, forgot 4 times, and saw it as an "attack" to mention it in team meetings
Telling an entire office/building mid November they've secured funding for at least the next year, then announcing in January after the Christmas break that its cheaper to move to India, so they are closing the office in 30 days2
So I just found out that my colleague who I often have to work with does not use a debugger to troubleshoot any bugs at all. Actually, he does not even run or test his code locally either with prints or something similar. He just commits java code directly on bitbucket, no source control, without making sure it compiles and then he runs a CI provided by devops that takes 4 freaking hours to run because he bloated that shit up somehow.
I suggested politely to help him find a more efficient approach and to use my hardware setups for speeding up his work because I assume it must be pretty painful to work with, but he just refused.
That and those "seniors" with 10 years Linux development XP in the embedded field who don't know basic commands like ls, cat and touch and code in notepad.
Fucking me, who the hell am I working with and can someone please end me?6
Out of all the bugs, the most annoying are the ones that come out and make me say "WTF?!?!? WHY THE FUCK HAS IT BEEN WORKING FOR THE LAST 2 YEARS??!!?!!??? THERE"S NO WAY IT COULD HAVE!"
When the bug surfaces, you investigate and see that it indeed IS a bug and there's no way it would ever work w/o a fix. But then SOMEHOW it's been working just fine for years....
It's like server elves went on strike and said "no more, it's enough covering that bug - it's time you fix it, lazy-ass idiot!"11
Biggest challenge I overcame as dev? One of many.
Avoiding a life sentence when the 'powers that be' targeted one of my libraries for the root cause of system performance issues and I didn't correct that accusation with a flame thrower.
What the accusation? What I named the library. Yep. The *name* was causing every single problem in the system.
Panorama (very, very expensive APM system at the time) identified my library in it's analysis, the calls to/from SQLServer was the bottleneck
We had one of Panorama's engineers on-site and he asked what (not the actual name) MyLibrary was and (I'll preface I did not know or involved in any of the so-called 'research') a crack team of developers+managers researched the system thoroughly and found MyLibrary was used in just about every project. I wrote the .Net 1.1 MyLibrary as a mini-ORM to simplify the execution of database code (stored procs, etc) and gracefully handle+log database exceptions (auto-logged details such as the target db, stored procedure name, parameter values, etc, everything you'd need to troubleshoot database errors). This was before Dapper and the other fancy tools used by kids these days.
By the time the news got to me, there was a team cobbled together who's only focus was to remove any/every trace of MyLibrary from the code base. Using Waterfall, they calculated it would take at least a year to remove+replace MyLibrary with the equivalent ADO.Net plumbing.
In a department wide meeting:
DeptMgr: "This day forward, no one is to use MyLibrary to access the database! It's slow, unprofessionally named, and the root cause of all the database issues."
Me: "What about MyLibrary is slow? It's excecuting standard the ADO.Net code. Only extra bit of code is the exception handling to capture the details when the exception is logged."
DeptMgr: "We've spent the last 6 weeks with the Panorama engineer and he's identified MyLibrary as the cause. Company has spent over $100,000 on this software and we have to make fact based decisions. Look at this slide ... "
<DeptMgr shows a histogram of the stacktrace, showing MyLibrary as the slowest>
Me: "You do realize that the execution time is the database call itself, not the code. In that example, the invoice call, it's the stored procedure that taking 5 seconds, not MyLibrary."
<at this point, DeptMgr is getting red-face mad>
AreaMgr: "Yes...yes...but if we stopped using MyLibrary, removing the unnecessary layers, will make the code run faster."
<typical headknodd-ers knod their heads in agreement>
Dev01: "The loading of MyLibrary takes CPU cycles away from code that supports our customers. Every CPU cycle counts."
Me: "I'm really confused. Maybe I'm looking at the data wrong. On the slide where you highlighted all the bottlenecks, the histogram shows the latency is the database, I mean...it's right there, in red. Am I looking at it wrong?"
<this was meeting with 20+ other devs, mgrs, a VP, the Panorama engineer>
DeptMgr: "Yes you are! I know MyLibrary is your baby. You need to check your ego at the door and face the facts. Your MyLibrary is a failed experiment and needs to be exterminated from this system!"
Fast forward 9 months, maybe 50% of the projects updated, come across the documentation left from the Panorama. Even after the removal of MyLibrary, there was zero increases in performance. The engineer recommended DBAs start optimizing their indexes and other N+1 problems discovered. I decide to ask the developer who lead the re-write.
Me: "I see that removing MyLibrary did nothing to improve performance."
Dev: "Yes, DeptMgr was pissed. He was ready to throw the Panorama engineer out a window when he said the problems were in the database all along. Didn't you say that?"
Me: "Um, so is this re-write project dead?"
Dev: "No. Removing MyLibrary introduced all kinds of bugs. All the boilerplate ADO.Net code caused a lot of unhandled exceptions, then we had to go back and write exception handling code."
Me: "What a failure. What dipshit would think writing more code leads to less bugs?"
Dev: "I know, I know. We're so far behind schedule. We had to come up with something. I ended up writing a library to make replacing MyLibrary easier. I called it KnightRider. Like the TV show. Everyone is excited to speed up their code with KnightRider. Same method names, same exception handling. All we have to do is replace MyLibrary with KnightRider and we're done."
Me: "Won't the bottlenecks then point to KnightRider?"
Dev: "Meh, not my problem. Panorama meets primarily with the DBAs and the networking team now. I doubt we ever use Panorama to look at our C# code."
Needless to say, I was (still) pissed that they had used MyLibrary as dirty word and a scapegoat for months when they *knew* where the problems were. Pissed enough for a flamethrower? Maybe.10
I was pressued to shift the blame.
We received an angry email from a customer that some of their data had disappeared. The boss assigns me to this task. This feature is relatively new and we've found some bugs in the past in here. I go through request logs, search the database, run some diagnostics, etc. for about 5 hours and I cannot find the problem. I focus on the bugs that we've had before but they don't seem to be the problem.
I tell the boss "sorry but I checked XYZ and I can't find the problem. I'm out of ideas." But the boss wanted answers by the end of the day. They did not want to admit to the client that we couldn't figure out what's wrong.
By now I was more pressured to find an answer, find something or someone to blame it on, not exactly to find the real solution. So I made up some BS:
"Sometimes, in HTML forms, the number inputs allow you to change the number by scrolling. We have some long forms where the user has to scroll. Perhaps the focus remained on the number input, so when they scrolled down they accidentally changed the number they meant to input."
The boss was happy with that. We explained this to the customer, and there's now a ticket to change type="number" to type="text" in our HTML forms and to validate it in th backend.
A week later another customer shows us a different error. This one is more clear because it had a stack trace, but I realise that this error is what caused our last error. It was pretty obscure, mind you, the unit tests didn't detect it.
I didn't tell the boss that they were connected tho.
With two angry clients in two weeks, I finally convinced the boss to give us more time to write more unit tests with full coverage.
I've told the same story multiple times but the subject of "painfully incompetent co-worker" just comes up so often.
I have one coworker who never really grew out of the mindset of a college student who just took "Intro to Programming". If a problem couldn't be solved with a textbook solution, then he would waste several weeks struggling with it until eventually someone else would pick up the ticket and finish it in a couple days. And if he found a janky workaround for a problem, he'd consider that problem "solved" and never think about it again.
He lasted less than a year before he quit and went off to get a job somewhere else, leaving the rest of our team to comb through his messy code and fix it. Unfortunately, our team is mostly split across multiple projects and our processes were kind of a mess until recently, so his work was a black box of code that had never been reviewed.
I opened the box and found only despair and regret. He was using deprecated features from older versions of the language to work around language bugs that no longer existed. He overused constants to a ridiculous degree (hundreds of constants, all of which are used exactly once in the entire codebase, stored in a single mutable map variable named "values" because why not). He didn't really seem to understand DRY at all. His code threw warnings in the IDE and had weird errors that were difficult to reproduce because there was just a whole pile of race conditions.
I ended up having to take a figurative hacksaw to it, ripping out huge sections of unnecessary crap and modernizing it to use recent language features to get rid of the deprecation warnings and intermittent errors. And then I went through the same process again for every other project he'd touched.
dad to uncle: you know, my son is a programmer
uncle to me: what do you do son, as a programmer
me: catch bugs
uncle( thinking ): 🐞🐞🐝🐝
uncle: I hope you find a better job in the future!!1
Worst collaboration experience story?
I was not directly involved, it was a Delphi -> C# conversion of our customer returns application.
The dev manager was out to prove waterfall was the only development methodology that could make convert the monolith app to a lean, multi-tier, enterprise-worthy application.
Starting out with a team of 7 (3 devs, 2 dbas, team mgr, and the dev department mgr), they spent around 3 months designing, meetings, and more meetings. Armed with 50+ page specification Word document (not counting the countless Visio workflow diagrams and Microsoft Project timeline/ghantt charts), the team was ready to start coding.
The database design, workflow, and UI design (using Visio), was well done/thought out, but problems started on day one.
- Team mgr and Dev mgr split up the 3 devs, 1 dev wrote the database access library tier, 1 wrote the service tier, the other dev wrote the UI (I'll add this was the dev's first experience with WPF).
- Per the specification, all the layers wouldn't be integrated until all of them met the standards (unit tested, free from errors from VS's code analyzer, etc)
- By the time the devs where ready to code, the DBAs were already tasked with other projects, so the Returns app was prioritized to "when we get around to it"
Fast forward 6 months later, all the devs were 'done' coding, having very little/no communication with one another, then the integration. The service and database layers assumed different design patterns and different database relationships and the UI layer required functionality neither layers anticipated (ex. multi-users and the service maintaining some sort of state between them).
Those issues took about a month to work out, then the app began beta testing with real end users. App didn't make it 10 minutes before users gave up. Numerous UI logic errors, runtime errors, and overall app stability. Because the UI was so bad, the dev mgr brought in one of the web developers (she was pretty good at UI design). You might guess how useful someone is being dropped in on complex project , months after-the-fact and being told "Fix it!".
Couple of months of UI re-design and many other changes, the app was ready for beta testing.
In the mean time, the company hired a new customer service manager. When he saw the application, he rejected the app because he re-designed the entire returns process to be more efficient. The application UI was written to the exact step-by-step old returns process with little/no deviation.
With a tremendous amount of push-back (TL;DR), the dev mgr promised to change the app, but only after it was deployed into production (using "we can fix it later" excuse).
Still plagued with numerous bugs, the app was finally deployed. In attempts to save face, there was a company-wide party to celebrate the 'death' of the "old Delphi returns app" and the birth of the new. Cake, drinks, certificates of achievements for the devs, etc.
By the end of the project, the devs hated each other. Finger pointing, petty squabbles, out-right "FU!"s across the cube walls, etc. All the team members were re-assigned to other teams to separate them, leaving a single new hire to fix all the issues.5
my colleague was ordered to the site of a customer who had claimed that our software was a total bunch of crap and nothing was working. they had created a list with something 100 bullet points of the bugs they had found in our software that made it impossible to work with. since their production was relying on it they were really pissed off. after a very uncomfortable meeting where they angrily disclosed the situation, finally he got access to the system they were working with. after a few minutes he found that the system's GPU and hard disk drivers were totally outdated and devices weren't even working correctly. after he had updated all drivers, our software worked perfectly fine. at least the customers were kind of embarrassed afterwards... ¯\_(ツ)_/¯7
So today, again, I discovered the importance of unitests.
I was solving this performance issue, in which we had a few update actions for multiple entities in mongo, but it took FOREVER to complete, even when I unified it into one bulkWrite command.
Since the unified write did improve performance slightly, and we wanted to move on, we decided to let this bug go.
So there I was committing my changes when I got a rejection from the pre-commit hook since I didn't have enough unitests coverage.
Ok, let's start writing some unitests.
Some unitests also needed to test the bulk write. So there I was comparing expected with actual result, and suddenly I got a huge facepalm.
Apparently some rogue for loop iterated all entities again for each entity that needed update. So instead of getting one update per entity, I got N identical update commands per each of the N entities 🤦♂️
Needless to say, fixing this fixed the performance bug entirely.
Thank you unitests and pre-commit hooks!2
This has been my wallpaper since june, when I had to become a dev at work.
I've been drinking waaayyy too much coffee while hunting those missing semicolons these last months.1
#fuckapple for holding back the open-web. Most folk don't know that Chrome on iOS is just Safari with a skin; neither Google or Apple want you to know that.
If you hate web-apps on iOS, that is Apple's intentional doing. Apple cannot allow a bug-free and modern browser to run on their iOS devices, else they lose their 30% tax + dev fees cut. There are literally so many crippling bugs in iOS Safari that it HAS to be intentional.
There are email exchanges between Phil Shaffer and Steve Jobs from years past, where Phil didn't believe Apple could continue to gouge users 30%. He argued the open-web would make native apps largely redundant, and so to stay competitive, they'd need to drop the store fees to something reasonable. I suppose Steve Jobs saw a different solution -- just impede browser development.
As someone who develops free and open-source apps, I believe I am doing the world a favour by not supporting a native iOS app. When users complain about missing features in the web-app version, I tell them to take it up with Apple or buy an Android. Guess what? They sometimes actually do just that.
Join me if you have the balls. Tell Apple to FUCK OFF the only way they understand -- threaten their bottom line. At the very least, you'll never need to touch XCode again if you do. If time is money, that alone will make you wealthy.10
These fucking imbecile devs left me a bunch of bugs in a 150k LOC legacy hell...
Too bad it took some 8 months for them to finally surface in prod. God damned...
Technically, this whole codebase is one giant abyss filled to the brim with bugs.7
Some years ago i attended to a summer school abroad. I instantly built a connecection with this one girl, we spend the whole week together, talking, sharing humor, deep conversations etc. We also won the prize for the best project together. I guess it looked like the beginning of a love story for the rest of the course. For me it didn't exactly, actually I didn't had much romantic feelings for her; she was the arrogant, manipulative type I thought I could handle a friend but never as girl friend. We shared some darkness so to say. But I really hoped for a new close friendship. Since she had a boyfriend back home i thought she most likely wanted just the same. Anyway I was a bit worried she might want more because she made me quite a lot of compliments and told me how she liked me.
And yes, she wanted more: Whenever we talked on the phone after the summer school or met (she lived in a city not far away from mine by coincidence) she begged me for help with coding. She had a well paid as extremely interesting PHD position with a topic between political science and computer science. Besides classical humanities methods her topic would require a lot of coding though. But she had zero, absolutely zero clue of programming, and, as it turned out, zero interesst. I told her from the beginning she would have to learn quite a lot or pay someone to code for her. It was far too much to do as a favour by a friends or such. And, since it was part of her fucking PHD it would have been cheating somehow of she didn't do it herself. But instead, she kept texting me if I could 'help to fix some bugs', sending me unrelated code fragments she copied from SO and not even tried to understand. So I told her to fuck off at one point. After all it was not that we have been friends for decades; we only knew each other for a couple of months an spent only one week together. So thats it.
But I still think of it from time to time and it makes me angry because it feels like she was only nice to me because she thought i am this nerd guy who falls instantly in love to a charming good looking girl and does everything for her. I did neither at all but indeed wanted to be friends with her, thats bad enough. It even makes me more more angry that she actually has this awesome PHD project about politics in the fucking digital world and think of programmers like this. And that she will succeed without understanding anything bacause in the end there would have been a dude who did all the work for her I bet.8
Monday morning: The last straw.
After talking about in a previous rant about how my client wants to fix bugs that keeps popping out after bug fix.
Today I discovered, that all C-levels, worked all Saturday to "fix my code" because it "didn't work" and we "needed bug fixes not pretty things".
The app version I was working on for the last week is gone. Without mentioning that their "CTO" wrote a fucking crappy code to disable features that I added, breaking the build step.
This shit is enough for me, I'm done!3
Fuck this completely abysmal CMS!!!!
Not even god damn Einstein would be smart enough to understand this stinky pile of legacy code!
No, it's not enough to write an HTML template in PHP with less than 500 lines of code, noooooo, every god damn template HAS TO BE AT LEAST 3000 FUCKING LINES OF CODE WITH RANDOM INCLUDES EVERYWHERE!!!
Every fucking thing I fix spawns at least 2 new bugs! I FUCKING CAN'T!!!
I swear, if I meet these fucking worms of developers... someone will eat fresh turds mixed with puke from a highway toilet!17
that one legendary guy who cranks out code and builds insane features. PMs (product management) love him because he builds features in several months which 10 devs together couldn't have built in the same time (so they say), features that are loved by customers as well, become their new standard and that have saved our company's asses in the past.
features are really awesome, performant and have very few bugs (compared to the rest of the software シ).
but this guy seems to live for this job. he also works at weekends, at unholy times of day and night and even in his holidays (he doesn't care that this is actually illegal, in terms of employee's rights, and he wouldn't listen to his superiors, no matter what they tell him)
so far, so good - except that he will probably die of some stroke or something very soon due to this lifestyle.
but it must be an absolute pain in the ass to work with him, as long as you're a developer (or his superior).
he lives in his own world and within the software, his features are also his own world. since the different modules interact with each other, sometimes you would be assigned a bug that might have its cause in some interaction of your and his module. talk with him about it? forget it. he wouldn't answer most devs who contacted him for some reason. ever. fix it in his module yourself? might happen that he just reverts your changes to his module without comments. so some bugs would lie on your desk forever because theoretically you know what would need to be done but if you cannot reach out into HIS world, there's no way to fix it. also - his code might be good in terms of performance and low bug numbers. but it seems to be hard to work on that code for everybody else but him.
furthermore, he is said to be really rude. he is no team player, but works on a software that is worked on by a huge team.
PMs think he's a genius, just a great dev, but they don't understand that other devs need to clean up the mess behind or around him.
everyone who's been his superior so far recommends to get him fired, but the company wouldn't fire him because they don't want to lose his talent. he can just do what he wants. he can even refuse to work on certain things because he thinks they are boring and he is not interested in them. devs seem to hate him, but my boss said, they are probably also a bit jealous because of his talent. i think, he's not wrong. :)
i haven't actually met him so far or was actually "forced" to deal with him, but i've never heard so many contrastive things about one person, the reputation of his, let's say vibrant personality really hurries ahead. he must be a real genius, after all i've heard so far, like he lives in the code. i must say i'm a bit curious but also somewhat afraid of meeting him one day.
do you also have such a guy at your company?14
In my three years experience so far I can honestly say that 100% of the developers I've worked with are narrow sighted with regards to how they develop.
As in, they lack the capacity to anticipate multiple scenarios.
They code with one unique scenario in mind and their work ends up not passing tests or generates bugs in production.
Not to say I'm the best at foreseeing every possible scenario, but I at least TRY to anticipate and test my code as much as possible to identify problems and edge cases.
I usually take much more time to complete tasks than my colleagues, but my work usually passes tests and comes back bug free. Whereas my colleagues get applauded for completing tasks quickly but end up spending lots of time fixing up after themselves when tests fail or bugs appear.
Probably more time wasted than if they had done the job correctly from the start. Yet they're considered to be effecient devs because they work "fast".
REDIS: Great for cloud, will fuck up your local disk if too many write operations per second.
DynamoDB: WTF 10Mb should not be "too large for a single record"!!
SPARK: NEVER CONNECT IT TO A DATABASE! Wasted A LOT of cluster time. Also, can you be LESS specific on exactly what are the bugs in my code? 'cause I don't think it's possible.
NPM: can't install a package for shit. tried it waaaay to many times.
Makefiles: Just fuck you.
WSL1: breaks more often than a glass hammer.
Python >= 3.6: FUCK ENCODINGS!!
Jupyter: STOP MESSING UP WHILE SAVING!
Living is to collet bugs, it seems.5
Just startup stories:
Our backlog of tasks and bugs has officially reached 100+ tickets, all for me, the single software engineer at our "tech" company.
Huh, imagine that.4
i find it interesting that the intent when this app was created was probably to let people rant about bugs and stupid errors, post dev memes, and it has evolved to a point where we hear a lot of rants related to the work environment. my guess is that the rest of the internet is so visible and damning that this became a safe space where we can discuss work relations with less fear.
i love that the community here is so supportive in these matters :)4
I'd rather take a swim in a moist human massgrave than fix any more bugs of this cancer-inducing "selfmade" CMS developped by a "company" that shall not be named.
Sadly I am not aware of any such pit in the neighborhood, thus more bugfixing it is... yay ⚰️5
There are so many weird hacks in the quite legacy app I work with I could write a book about all them hacks…
But I must admit, the worst of them all is internal time. Yes, so some blockhead thought it’s a good idea to represent time in a manner completely removed from Datetime objects or timestamps or even string representations. Instead we deal with them as intervals represented by integers - and because this is not fucked up enough by itself, the internal time doesn’t start at midnight, yet the integer representations do. It’s a bloody mess. No wonder most of the bugs we face have to do with dates and time…5
Day x stand up meeting scheduled for late evening:
Manager: so, what's up?
me: fixed two bugs, analysis going on for another, having a couple of blockers, but nothing out of the ordinary.
Day x + 1 stand up scheduled for morning:
manager: what's up?
me: *repeats pretty much the same stuff, with some updates on the analysis
manager: but this is what you told me yesterday.
me: but there haven't been any working hours between our two conversations.
manager: your efficiency is questionable.
me: *thinking about my happy place with a clenched jaw2
Another day, another shitty set of JIRA tickets.
In this week's edition, we run into an issue you'd think is a meme, something you couldn't even make up: three tickets with IDENTICAL titles, but miraculously, they actually refer to three DIFFERENT tasks! (Also comical, they're not bugs, they're tasks, but mouth breathers don't really know the difference, and at this point I just don't have the energy to attempt to explain what could be explained to elementary school children.)
I present a rare look into our national archives!
This document features two exhibits:
Exhibit A: product owner's original ticket titles
Exhibit B: translated-into-competency-because-i'm-not-mentally-deficient ticket titles
Just more proof that 'product owners' don't own shit, the devs are the real ones who actually know what is going on.
I mean just LOOK at Exhibit A's titles. As a big smart manager, do you write those tickets, smile, and say to yourself "Ah, yep, that's very clear, I'll definitely remember what each of these mean literally 5 seconds from now!"
Is asking for literally 30 seconds more of thought too much to ask for? Apparently.
Just kill me
Happy friday ☠️7
Hey here we go:)
My first comic series - “DevStory”
A story of two devs aiming at changing the world’s impact about cryptos by their own token project.
Bugs, cheap scammers, money, flying unicorns and a lot of laughs!
Features of any software product development: there is a catastrophic lack of time to get rid of bugs, but always enough time to make them even more. 🤦♂️
i am just curious, how often you use devrant.
to be honest,.. if my life is good.. no bugs. no miss management. I don't even remember devrant exist..
but as soon as I got frustrated from code,management, life.. Devrant is the first thing I type of my browser before starting any work :P3
> In an online team meeting where our manager is telling us to wrap up the final bugs and get the release out as soon as possible so we can enjoy Christmas and the last week of the year stress free
> Opens LinkedIn while in the meeting since all my discussion points are done
> First post on my feed
Managers don't understand that there will ALWAYS be bugs shipped to production, no matter how hard you try to prevent or test against them.
inb4 any comments really, i've seen facebook, instagram, and all the 'big players' crash and have bugs multiple times before, so don't go around swinging your dick like your company's software has no known bugs (don't even get me started on the devrant mobile app) I'm just saying bugs are a fact of software8
There are devs who are chill. Then there's me. Deadlines give me anxiety. Being responsible for the code I didn't write and being blamed for the bugs I inherited stress me out.3
I have a friend, he's name is Joe, he's a Tarantula and he's the only web developer I've seen that loves bugs.3
I have a deep love hate relationship with TypeScript. What a marvelous piece of shit that compiles into an app with less bugs.4
FML or how I made myself unhireable
TL;DR: Working as a QA.
New job sucked.
Left after three months.
Got laid off from the next one after 4 months (not my fault).
Got a Dev job back in the first company.
Job sucks, cannot leave… (5 months in)
I was doing pretty well as a QA Enginner. Started with internship, then junior in company A, then big pay rise moving to company B, where I quickly got promoted to Senior. As I was nearing 3yrs of exp, I decided it’s time for a change, as things were getting worse project-wise and felt like I was regressing. Also I was constantly bombarded with offers of +50% of my salary I could easily land, while company offered 10%.
Moved on to company C. This is where it started getting rocky. I was told I would be working on this one project, strictly test automation, nothing exciting but an easy gig. However week in, I was told to work on this other project 50/50. This was a startup kind of thing. It was a nightmare. Only manual testing. Most tickets had only a vague title, no description, no requirements, nothing. How do one test something without any knowledge how it should work? Besides that, the project lead on the client side was aggressive sometimes.
The workload was immense - 4 devs, 2 of them doing heavy overtime, so the output was like 6 devs and half of a tester….
Despite raising the problems, nothing was going to change, nor I could switch projects. The job began to heavily affect my mental health. Decided not to prolong my contract and left after 3 month probation period.
Quickly landed a job in company D. As my burnout as a tester kept bothering me more and more I decided that this was going to be my last job as a QA and next one will be a Dev. You see, I never enjoyed the tester part, I always enjoyed the automation part more. The plan was to learn in free time and after 18-24 months start applying for a dev role to see if I can land one (switching inside D was not an option). All plans went to hell, as I was handed a one month notice by the end of my third month. A month before my wedding… I was told the company was having financial issues and was laid off with about 30% of people in the company (mostly new hires).
I got depressed. I wouldn’t get out of bed for a few days. I never thought something like this would ever happen to me. Standing by my decision I was applying for development jobs, but most recruiters seeing either only QA experience or my recent 3 and 4 month employment periods weren’t responsive. Applying for testing jobs was a bit better but still nothing like before C and D.
Since company B I stayed in touch with my former manager, and he kept telling me that a new team has taken over most of the shitty work, and they are now working on cooler stuff and have more coming. He encouraged me to come back, as he has always thought highly of me professionally.
Looking at my options, I could probably get another testing job with lower pay, maybe I could land a junior Dev with like 1/3 of my salary or I could go back. So in my dark time I have reached out to my manager and just like that he got me a Senior Dev position, same pay as in company D.
Finally what I wanted right? Yeah… As soon I as joined all the new initiatives were being dropped one by one, and backlog got flooded with bugs and sh*t again. Five months in I hate my job again. Cannot leave cause no one will hire me…
Where I made the mistake?
Shouldn’t leave B despite facing regression and being underpaid?
Shouldn’t leave C no matter what?
Shouldn’t come back to B?6
all that decades spent on debuggers, strict typing, static analyzers, fucking unit tests
ima put frogs in my code so they eat bugs
S̸ ̶T̶ ̵O̴ ̴N̵ ̶K̶ ̸S̷
I am always perplexed by people who write stuff like: "I don't know why people would use Rust, I simply never write code with bugs in it"
Like, using C or C++ is fine of course, but don't pretend you're perfect and that all of your bounds are checked, all of your allocations are freed exactly once and that you never forget to lock a mutex.18
Today was a bad dev day working on a shitty React project. Not that React in itself is bad, but it can be hell to work with when the code is a big pile a crap full of anti pattern code. I spent the day refactoring to try to fix a bug, but to no avail. It would take days if not weeks to put some order in this mess and to prevent such bugs.6
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
Product manager: When building new features, we find we have bugs that reappear in other parts of the app where the bug was solved before. We have to find a solution to this issue.
Dev: These are called regressions, they happen all the time in software development.
Product manager: ...
Dev: Fuck outta here! Its friday!3
Today I learnt about Vigil, the programming language that deletes offending functions from your source code, which contain bugs. Vigil adds 'supreme moral vigilance' and 'punishes' code that fails to meet specific programmatic specifications.
my boss some months ago: so there is this new project, and we're planning to slowly fade in and gradually increase the time you guys work on this project
new pm last week: welcome to the project, you're now 100% allocated to the new project, that's your highest prio now
me: ...what about the other projects? they might have questions xD
pm: don't worry about that, dealing with that is not your job
my boss this week: yeah no, the other releases are most important for our company. the new project needs to be subordinated and has lower prio, at least lower prio than critical and highly prioritized bugs.
me: so.... who decides which items from which projects i shall prioritize higher than the new project and how much time i shall spend on them?
my boss: it is your job to talk to people, give them estimates and tell them how many items you can work on, so they can decide which items they pick
so basically i'm having the feeling that i need to manage myself here. it will be fun to attend the new project daily standups and tell the new pm all the time that i couldn't do anything because i had no time. anyone else with this experience? is this normal? actually i liked our new pm's attitude "dealing with that is not your job". i should have known it was too good to be true ^^'5
By Linus, do not fear what you see
and curse not I, but those before me
hold steady in the storms to come
brace for bugs, wherever from
I pass on to you, the light of PHP
Use it well, to fight against scrutiny
if it works, keep it so, ask not why
my time is over, while yours is nigh1
Man all I ever do is fix bugs in a giant overgrown calculator, that has references to code before I was even born. It might be new job time
A new update was just released to AltRant!
This update features:
- Massive UI responsiveness fixes and enhancements, including many fixes for UI bugs, fixes and things that needed tweaking
- A COMPLETE overhaul of all devRant API methods (a switch to my new library, SwiftRant)
- Progress with Android compatibility (replaced incompatible libraries for compliance with Mutata)
- Enhanced security with the Keychain
Here’s the link to join again:
At my new internship I am have to work in Magento. I come to FUCKING hate it.
From the phtml files, the choice between caching or having to wait 20 fucking seconds for a page reload to the huge file structure and the "documentation".
The whole fucking thing is a mess with a shit load of bugs and confusing git tickets that never seem to be added as updates!!!
Fucking hate this shit
Despite all the code bugs, manager worries, colleagues' annoyances, self pity, low self esteem, constant guilt all the way, we are still alive and kicking
I guess 2022 will be nothing different but I also wish it will be super interesting and satisfying
Wish You And Your Families a Very Happy New Year 2022!1
I had a dream last night that my upcoming interview was on Discord instead of Zoom and all of the microphone bugs were hitting me at once and the guy couldn’t hear me.
Killing people is bad. But, there should be a law to allow killing people who don't write proper unit tests for their code. And also those "team leaders" who approve and merge code without unit tests.
Little backstory. Starts with a question.
What is the most critical part of a quoting tool (tool for resellers to set discounts and margins and create quotations)? The calculations, right?
If one formula is incorrect in one use case, people lose real money. This is the component which the user should be able to trust 100%. Right?
Okay. So this team was supposed to create a calculation engine to support all these calculations. The development was done, and the system was given to the QA team. For the last two months, the QA team finds bugs and assigns those to the development team and the development team fix those and assigns it back to the QA team. But then the QA team realizes that something else has been broken, a different calculation.
Upon investigation, today, I found out that the developers did not write a single unit test for the entire engine. There are at least 2000 different test cases involving the formulas and the QA team was doing all of that manually.
Now, Our continuous integration tool mandates coverage of 75%. What the developer did was to write a dummy test case, so that the entire code was covered.
I really really really really really think that developers should write unit tests, and proper unit tests, for each of the code lines (or, “logical blocks of code”) they write.20
Just finished a defect fix, and turns out there's another unrelated but harder bug in the codebase. We are in the last few days of the release.
I told my tech leads that it was an unrelated problem and showed them in detail. I told them I was starting work on it now, but there should probably be a new defect entered for it.
They actually said for me to piggyback the old defect and let this go under the radar. Actually laughed it off like it was no big deal. Like WTF! I don't think its very unreasonable for devs to want separate defects for separate bugs. They're worried about analytics and shit, but I'm the one left holding the rug, looking like I spent a week on a trivial defect.5
I currently work on a legacy system for a company. The system is really old - and although I was hired as a programmer, my job is pretty much glorified data entry. To summarise, I get a bunch of requirements, which is literally just lots of data for each month on spreadsheets and I have to configure the system to make it work, which is basically just writing a whole bunch of SQL scripts.
It’s not quite as simple as that, because whoever wrote the system originally really wrote it backwards, and in fact, the analysts who create the spreadsheets actually spend a fair bit of time verifying my work because the process is so tedious that it’s easy to make a mistake.
As you can guess, it is pretty much the most boring job ever. However, it’s a full time job with decent pay, and I work remotely so I can stay home with my son.
So I’ve been doing it for about 18 months and in that time, I’ve basically figured out all the traps to the point where I’ve actually written a program which for the past 6 months has been just doing the whole thing for me. So what used to take the last guy like a month, now takes maybe 10 minutes to clean the spreadsheet and run it through the program.
Now the problem is, do I tell them? If I tell them, they will probably just take the program and get rid of me. This isn’t like a company with tons of IT work - they have a legacy system where they keep all their customer data since forever, and they just need someone to maintain it. At the same time, it doesn’t feel like I’m doing the right thing. I mean, right now, once I get the specs, I run it through my program - then every week or so, I tell them I’ve completed some part of it and get them to test it. I even insert a few bugs here and there to make it look like it’s been generated by a human.
There might be amendments to the spec and corresponding though email etc, but overall, I spend probably 1-2 hours per week on my job for which I am getting a full time wage.
I really enjoy the free time but would it be unethical to continue with this arrangement without mentioning anything? It’s not like I’m cheating the company. The company has never indicated they’re dissatisfied with my performance and in fact, are getting exactly what they want from employing me.5
Fixing out of scope/unrelated code quality issues when working on bugs/features.
Especially with older projects where pretty much the entire code base is a quality issue.1
Seeing ALL the members of my team finally coming into their own. One person tackled our entire not-at-all-simple CI/CD setup from scratch knowing nothing about any of it and, while not without bumps in the road, did an excellent job overall (and then did the same for some other projects since he found himself being the SME). Two of my more junior people took on some difficult tasks that required them to design and build some tricky features from the ground-up, rather than me giving them a ton of guidance, design and even a start on the basic code early on (I just gave them some general descriptions of what I was looking for and then let them run with it). Again, not without some hiccups, but they ultimately delivered and learned a lot in the process and, I think, gained a new sense of self-confidence, which to me is the real win. And my other person handled some tricky high-level stuff that got him deep in the weeds of all the corporate procedures I'd normally shield them all from and did very well with it (and like the other person, wound up being an SME and doing it for some other projects after that). It took a while to get here, but I finally feel like I don't need to do all the really difficult stuff myself, I can count on them now, and they, I think, no longer feel like they're in over their heads if I throw something difficult at them.
A few critical bugs slipped into production this year, with a few requiring some after-hours heroics to deal with (and, unfortunately, due to the timing, it all fell on me). Of course, that just tells us that next year we really need to focus on more robust automated testing (though, in reality, at least one of the issues almost certainly would not - COULD NOT - have been caught before-hand anyway, and that's probably true for more than just one of them). We had avoided major issues the previous three years we've been live, so this was unusual. Then again, it's in a way a symptom of success because with more users and more usage, both of which exploded this year, typically does come more issues discovered, so I guess it tempers the bad just a little bit.2
Was working on a high priority security feature. We had an unreasonable timeline to get all of the work done. If we didn’t get the changes onto production before our deadline we faced the possibility of our entire suit being taken offline. Other parts of the company had already been shut down until the remediations could be made -so we knew the company execs weren’t bluffing.
I was the sole developer on the project. I designed it, implemented it, and organized the efforts to get it through the rest of the dev cycle. After about 3 month of work it was all up and bug free (after a few bugs had been found and squashed). I was exhausted, and ended up taking about a week and a half off to recharge.
The project consisted of restructuring our customized frontend control binding (asp.net -custom content controls), integrations with several services to replace portions of our data consumption and storage logic, and an enormous lift and shift that touched over 6k files.
When you touch this much code in such a short period of time it’s difficult to code review, to not introduce bugs, and _to not stop thinking about what potential problems your changes may be causing in the background_.3
It's the third time in two weeks that I've updated something and caused it to break. Different packages and different projects each time. Each time I've updated at night and tested it and made sure everything was okay only to be woken up in the morning by complaining customers and a newfound bug. Better lay off the updates for now.5
I can't find a website I used years ago... maybe someone here remembers its name.
It was a place with daily code challenges, real time code battles, you had to fix bugs, syntax errors, you could choose different programming languages, and receive points based on the number of chars used to fix the issue, etc.
I hope it still exsits, it was really fun.
Thanks in advance!5
Finally, I finally got my dream job, but three weeks after starting, I will say I am going into depression.
First, I have to learn a new language (the lang is less than 7 years old) on the job. The language is so different from the paradigm I am used to-from OOP to functional programming, it has very little confusing documentation and a small but growing community.
Though I have been able to show some work, goddamit, it's taking me blood and sand to adjust and be productive.
My onboarding tasks are fixing bugs and implementing a feature, and it has been like walking in a dark tunnel.
I have to face my problem alone as all the devs in the team have swapped.
I rarely sleep, and I recently started to have an existential crisis!
Also, I work part-time on another project, and my output is so poor due to the fact that I am trying to adjust to the new job. Just this evening, I got a call from the manager who was passively aggressive, complaining and asking me to rethink (a passive way of saying "you are fired, if you do not...").
I am feeling anxious. It is taking so much time daily to adjust to the new job.
Will the depression pass?10
This is more of an advice seeking rant. I've recently been promoted to Team Leader of my team but mostly because of circumstances. The previous team leader left for a start-up and I've been somehow the acting Scrum Master of the team for the past months (although our company sucks at Scrum generally speaking) and also having the most time in the company. However I'm still the youngest I'm my team so managing the actual team feels a bit weird and also I do not consider myself experienced enough to be a Technical lead but we don't have a different position for that.
Below actions happen in the course of 2-3 months.
With all the things above considered I find myself in a dire situation, a couple of months ago there were several Blocker bugs opened from the Clients side / production env related to one feature, however after spending about a month or so on trying to investigate the issues we've come to the conclusion that it needs to be refactorised as it's way too bad and it can't be solved (as a side note this issue has also been raised by a former dev who left the company). Although it was not part of the initial upcoming version release it was "forcefully" introduced in the plan and we took out of the scope other things but was still flagged as a potential risk. But wait..there's more, this feature was part of a Java microservice (the whole microservice basically) and our team is mostly made of JS, just one guy who actually works as a Java dev (I've only done one Java course during uni but never felt attracted to it). I've not been involved in the initial planning of this EPIC, my former TL was an the Java guy. Now during this the company decides that me and my TL were needed for a side project, so both of us got "pulled out" of the team and move there but we've also had to "manage" the team at the same time. In the end it's decided that since my TL will leave and I will take leadership of the team, I get "released" from the side project to manage the team. I'm left with about 3 weeks to slam dunk the feature.. but, I'm not a great leader for my team nor do I have the knowledge to help me teammate into fixing this Java MS, I do go about the normal schedule about asking him in the daily what is he working on and if he needs any help, but I don't really get into much details as I'm neither too much in sync with the feature nor with the technical part of Java. And here we are now in the last week, I've had several calls with PSO from the clients trying to push me into giving them a deadline on when will it be fixed that it's very important for the client to get this working in the next release and so on, however I do not hold an answer to that. I've been trying to explain to them that this was flagged as a risk and I can't guarantee them anything but that didn't seem to make them any happier. On the other side I feel like this team member has been slacking it a lot, his work this week would barely sum up a couple of hours from my point of view as I've asked him to push the branch he's been working on and checked his code changes. I'm a bit anxious to confront him however as I feel I haven't been on top of his situation either, not saying I was uninvolved but I definetly could have been a better manager for him and go into more details about his daily work and so on.
All in all there has been mistakes on all levels(maybe not on PSO as they can't really be held accountable for R&D inability to deliver stuff, but they should be a little more understandable at the very least) and it got us into a shitty situation which stresses me out and makes me feel like I've started my new position with a wrong step.
I'm just wondering if anyone has been in similar situations and has any tips or words of wisdom to share. Or how do you guys feel about the whole situation, am I just over stressing it? Did I get a good analysis, was there anything I could have done better? I'm open for any kind of feedback.2
Gotta love the "natural is better" fallacy. Nature's development is basically relying on "it's not a bug, it's a feature" principle, while relentlessly throwing bugs out in production. I'll take my prescribed meds over your phytotherapic over-the-counter BS, thanks.6
As a dev, how can you work with a teamlead that second, third and 4th guesses your decisions?
Simple example: fixed a bug, but temlead was shitting bricks about some error. Did a thorough research and told him that that error message was already in codebase for years and can be safely ignored because there is no workaround. Main thing is that our solution is working and I followed the latest standards. Basically I had to advocate for myself. Fine. Shit happens I get it. But it seems that this is becoming a pattern.
Then I had to do another issue: fix some bugs. While testing I was not able to reproduce any bugs. Filmed a video of app, attached all proofs to the jira issue and informed the teamlead. He couldnt believe his eyes! One month ago he saw the bug and now its gone! I had to retest 3-4 times everything and he still doesnt take my word for it.
I cant continue working like this. I have few years of experience under my belt, never had to deal with such insecure teamlead. How can I work if he second guesses everything what I do? Jesus.5
so i updated to android 12 recently, and there's this annoying bug where if you're on multitask ("recents") screen and lock, then you open up to a blank/black screen.
how, just how tf did this pas testing? or was there no testing? it looks like this is an issue across multiple fones and ik 12 has been in beta for a while. so just like...fuggin how8
Its most enjoyable when you are working on a codebase that was cleary planned and thought out beforehand. Bugs are easy to fix, features are easy to make because you already have a blueprint of how its supposed to look, modifying features is easy because you already know where to look to make the changes. You can work with plain jquery or fucking visual basic and youll still have a better time then with any modern framework if you have that.
Haskell: Turning runtime bugs into compile-time errors.
Python: Turning compile-time errors into runtime bugs.3
I think i have fallen into clinical depression becahse i am uncontrollably crying while writing code. I am having so many bugs i dont knkw hkw tk fix. I published my app to google plah store and the registration doesnt work. On app store cant be even published. After 4 years of development i failed i am so sad and depressed3
Scared of losing your job? Just sprinkle a couple of bugs here and there. Make sure they still need you6
How much of mentoring should I expect as a junior dev? 4 weeks in this job. I get assigned a ticket, tryhard for 3-4 days on it only for my implementation to be replaced by a mid/senior with another broken solution with new bugs which I dont even know how to debug. They are not even in the office, I have to call them and mentoring that I get is max 30min a week. Is that normal? I expected at least 30min a day mentoring. I feel that I cant grow here as fast as I would want to. If I wanted to waste my time on digging through dozens of articles to learn what senior could tell me in 10 minutes, I wouldnt have accepted this job.9
User: looking up anything in Google Help Center (support.google.com)
Google: (bunch of outdated or misleading answers)
Google: This question is locked and replying has been disabled.
To make it even worse: "Please note that this forum is run by volunteers known as Google Product Experts who are not Google employees and are merely advising on best practices and interpreting Google's policies based on their experience."
So Google uses the free work of volunteers dabbling workarounds for their bugs and misfeatures and, despite Google's reputation as a search engine, fails to present their end users helpful, up to date information.
Dear Google, why not just offer a paid version of your free service where users can actually expect quality of service? I remember the internet before Google and I can't wait for the internet after Google! Seriously!1
Browser automation is a PITA. I’m going on my fourth side mission with this crap and I honestly still look like a newbie. I’ve tried Java Selenium with Chrome, Excel VBA with IE9, Vanilla JS in the browser console, and tonight I’m thinking to concoct some kind of hybrid CDP & Selenium approach in Chrome. Never used CDP before, not even sure where to start but I heard it sucks like anything else unless you get some extra libraries and plugins and stuff.
It doesn’t help that I can’t get just anything I want from our IT Department. It would be another PITA to ask for puppeteer. If puppeteer is totally legit please let me know.
Selenium sucks. The buttons don’t click, the waits don’t wait. Its unusable. Iframes are annoying as all hell but I can deal with that. HTML Tables suck too. It doesn’t help I have to restart my whole java program and whole Chrome every time an element doesn’t get picked correctly. Scripting one single element can take all fucking night.
Chrome dev tools what the fuck. Why the fuck is the DOM explorer in the same window as the web page I’m working on?? I can’t undock it. Am I supposed to use a fucking TV screen to work with this bastard?? If I use the remote chrome tools on port 9225 or whatever - It Still Renders The Whole Fucking Page Alongside The Console. Get Out Of My Way!!! The nested HTML CODE IS ONE CHARACTER WIDE ALL THE TIME. I can’t for the life of me figure out what the fuck I’m looking at. Haven’t you people ever heard of A HORIZONTAL SCROLL BAR at least.
Fuck I tried using getElementById, and the Xpath thing and its not all that great seeing I have seemingly 1000s of nested Divs all over the god damned place oftentimes containing a single element. I’m finally on chrome now should I learn Jquery now? I mean seriously wtf.
I use this one no code tool for dev it has web automation built in. As you can imagine its just as broken as anything else!! I have 10 screens to navigate it gets stuck on the second screen all the damn time. Fuck I love clicking the buttons when my script misses and playing catch up with it.
I can’t get the new selenium that has CDP but I do have some buggy ass selenium from a few years back. Yeah, I remember reading there was a pretty impactful regression defect in the version I have. Maybe I’m being gaslighted by some shit copy of selenium?
The worst part is that I do seem to be having issues that the rest of the internet’s devs do not seem to be having. People act like browser automation is totally viable and pretty OK. How in the fuck hell is my Selenium Test Suite going to be more reliable my application under test?!!?? I’ll have more fucking bugs in my test suite than in my application. Today, I have less than half a test script and, I. already. fucking. do.
I am still SUPER PISSED at the months of 12 hour days (always 8 hours spent on normal sprint work btw only 4 to automation) I spent trying to automate our regression tests. I got NOWHERE.
I did learn a lot about HTML and JS though like I’m not that mad…but I’m just trying to emphasize my achievement on my task was zero.
The buttons don’t click. There are so many divs and I swear you sometimes need to select a div somewhere in the middle sometimes to get it working. The waits don’t wait. XHR requests are invisible. Java crashes 100 times before I find an xpath and thread.sleep() combo that works. I have no failure modes to use — Sometimes I click the same element 20x in a script because I have no way to know if it clicked the first time! Sometimes you gotta scroll the page to make the click work. So many click methods all broken. So many wait methods all broken. Its not just the elements don’t click! There are so many ways to click that almost work but surely they all fail the same in the end. ok at this point I’m just repeating myself…
there yet even more issues that I can’t remember…and will soon remember as I journey into this project yet again…
thanks for reading I hope I entertained and would love to hear your experience!7
I had a pretty good year! I've gone from being a totally unknown passionate web dev to a respected full stack dev. This will be a bit lengthy rant...
- Got my first full time employment dev role at a company after being self-taught for 8+ years at the start of the year. Finally got someone to take the risk of hiring someone who's "untested" and only done small and odd jobs professionally. This kickstarted my career, super grateful for that!
- Started my own programming consulting company.
- Gained enough confidence to apply to other jobs, snatched a few consulting jobs, nailed the interviews even though I never practiced any leet code.
- Currently work as a 99% remote dev (only meet up in person during the initialization of some projects.) I never thought working remotely could actually work this well. I am able to stay productive and actually focus on the work instead of living up to the 9-5 standard. If I want to go for a walk to think I can do that, I can be as social and asocial as I want. I like to sleep in and work during the night with a cup of tea in the dark and it's not an issue! I really like the freedom and I feel like I've never been more productive.
- Ended up with very happy customers and now got a steady amount of jobs rolling in and contracts are being extended.
- I learned a lot, specialized in graph databases, no more db modelling hell. Loving it!
- Got a job where I can use my favorite tools and actually create something from scratch which includes a lot of different fields. I am really happy I can use all my skills and learn new things along the way, like data analysis, databricks, hadoop, data ingesting, centralised auth like promerium and centralised logging.
- I also learned how important softskills are, I've learned to understand my clients needs and how to both communicate both as a developer and an entrepeneur.
- First job had a manager which just gave me the specifications solo project and didn't check in or meet me for 8 weeks with vague specifications. Turns out the manager was super biased on how to write code and wanted to micromanage every aspect while still being totally absent. They got mad that I had used AJAX for requests as that was a "waste of time".
- I learned the harsh reality of working as a contractor in the US from a foreign country. Worked on an "indefinite" contract, suddenly got a 2 day notification to sum up my work (not related to my performance) after being there for 7+ months.
- I really don't like the current industry standard when it comes to developing websites (I mostly work in node.js), I like working with static websites (with static website generators like what the Svelte.js driver) and use a REST API for dynamic content. When working on the backend there's a library for everything and I've wasted so many hours this year to fix bugs and create workarounds related to dependencies. You need to dive into a rabbit hole for every tool and do something which may work or break something later. I've had so many issues with CICD and deployment to the cloud. There's a library for everything but there's so many that it's impossible to learn about the edge cases of everything. Doesn't help that everything is abstracted away, which works 90% of the time but I use 15 times the time to debug things when a bug appears. I work against a black box which may or may not have an up to date documentation and it's so complex that it will require you to yell incantations from the F#$K
era and sacrifice a goat for it to work properly.
- Learned that a lot of companies call their complex services "microservices". Ah yes, the microservice with 20 endpoints which all do completely unrelated tasks?
C# forces you to handle null cases and other stuff upfront to avoid runtime bugs. It slows down development when you make mistakes and builds better applications overall but boy are the compile errors fucking annoying 3
The thing about startups is that you have the opportunity to be involved in a lot of different things. I easily get bored with repetitively doing almost the same thing day in day out.
In my current company, I have been working on the same mobile app for close to two years. It’s the same basic thing, build UI, make API calls, and fix bugs. I am so bored that I’m fit to climb a wall. Anyways, I’ve started applying for backend positions.
But then startups are volatile and things are almost always unorganised.2
Debugging is removing various bugs from program code. So, programming is about creating and adding these very bugs to the code?👾1
I don’t know if it makes sense to post bugs here but here we go anyway.
See how the "weekly topic" text overlaps with other text at the top.
It seems like the height of this area is fixend and is not adapting to the text when it wraps into the second line.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
In my university have different projects but i don't have any personal project in my github. Any script not even a project from scratch, only report bugs but any contribution. I am subscribed in different mailing list (debian, php, perl) for help.2
I started using WordPress in the 1990's - building all kinds of sites that looked OK until all the plugins and new themes came along. As the years have gone by I've become bored with all the tedious little errors and bugs. To the point that I abandoned my print website 10 years ago.
Just tried to edit it today and FUCK NO get me out of here. It's like painting a Rembrandt with a fucking elastic band.6
Have you ever felt this way?
Taking a tour back in my developer life when I have little experience on my stack I spend days trying to fix bugs and finish tasks.
The funny thing is that I felt I was working much harder and earning less and I felt being used but that's not true because its hard to say that due to my little experience and besides those bugs won't show up if I had much experience, the bugs are very much avoidable and to crown it all an experience developer will fix it in little time, though I won't consider myself super experienced but at least I can say am better than those times and to me I have achieved some level of experience to look back at my misconceptions in the past.
XFCE keeps crashing in the weirdest way when I boot, 50% of the time it works, the other 50% the startup applications launch like normal but the window frames and the bars are gone and none of the positioning shortcuts work. It's like an issue specifically with xfwm but I have no idea how the wm in particular could be fucked. I already know that the compositor can fail without taking the wm with it.