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 - "everyone makes mistakes"
-
Good Morning!, its time for practiseSafeHex's most incompetent co-worker!
Todays contestant is a very special one.
*sitcom audience: WHY?*
Glad you asked, you see if you were to look at his linkedin profile, you would see a job title unlike any you've seen before.
*sitcom audience oooooooohhhhhh*
were not talking software developer, engineer, tech lead, designer, CTO, CEO or anything like that, No No our new entrant "G" surpasses all of those with the title ..... "Software extraordinaire".
*sitcom audience laughs hysterically*
I KNOW!, wtf does that even mean! as a previous dev-ranter pointed out does this mean he IS quality code? I'd say he's more like a trash can ... where his code belongs
*ba dum tsssss*
Ok ok, lets get on with the show, heres some reasons why "G" is on the show:
One of G's tasks was to build an analytics gathering library for iOS, similar to google analytics where you track pages and events (we couldn't use google's). G was SO good at this job he implemented 2 features we didn't even ask for:
- If the library was unable to load its config file (for any reason) it would throw an uncatchable system integrity error, crashing the app.
- If anything was passed into any of the functions that wasn't expected (null, empty array etc.) it would crash the app as it was "more efficient" to not do any sanity checks inside the library.
This caused a lot of issues as some of the data needed to come from the clients server. The day we launched the app, within the first 3 hours we had over 40k crash logs and a VERY angry client.
Now, what makes this story important is not the bugs themselves, come on how many times have we all done something stupid? No the issue here was G defended all of this as the right thing to do!
.. and no he wasn't stoned or drunk!
G claimed if he couldn't get the right settings / params he wouldn't be able to track the event and then our CEO wouldn't have our usage data. To which I replied:
"So your solution was to not give the client an app instead? ... which also doesn't give the CEO his data".
He got very angry and asked me "what would you do then?". I offered a solution something like why not have a default tag for "error" or "unknown" where if theres an issue, we send up whatever we have, plus the file name and store it somewhere else. I was told I was being ridiculous as it wasn't built to track anything like that and that would never work ... his solution? ... pull the library out of the app and forget it.
... once again giving everyone no data.
G later moved onto another cross-platform style project. Backend team were particularly unhappy as they got no spec of what needed to be done. All they knew was it was a single endpoint dealing with very complex model. There was no Java classes, super classes, abstract classes or even interfaces, just this huge chunk of mocked data. So myself and the lead sat down with him, and asked where the interfaces for the backend where, or designs / architecture for them etc.
His response, to this day frightens me ... not makes me angry, not bewilders me ... scares the living shit out of me that people like this exist in the world and have successful careers.
G: "hhhmmm, I know how to build an interface, but i've never understood them ... Like lets say I have an interface, what now? how does that help me in any way? I can't physically use it, does it not just use up time building it for no reason?"
us: "... ... how are the backend team suppose to understand the model, its types, integrate it into the other systems?"
G: "Can I not just tell them and they can write it down?"
**
I'll just pause here for a moment, as you'll likely need to read that again out of sheer disbelief
**
I've never seen someone die inside the way the lead did. He started a syllable and his face just dropped, eyes glazed over and he instantly lost all the will to live. He replied:
" wel ............... it doesn't matter ... its not important ... I have to go, good luck with the project"
*killed the screen share and left the room*
now I know you are all dying in suspense to know what happened to that project, I can drop the shocking bombshell that it was in fact cancelled. Thankfully only ~350 man hours were spent on it
... yep, not a typo.
G's crowning achievement however will go down in history. VERY long story short, backend got deployed to the server and EVERYTHING broke. Lead investigated, found mistakes and config issues on every second line, load balancer wasn't even starting up. When asked had this been tested before it was deployed:
G: "Yeah I tested it on my machine, it worked fine"
lead: "... and on the server?"
G: "no, my machine will do the same thing"
lead: "do you have a load balancer and multiple VM's?"
G: "no, but Java is Java"
... and with that its time to end todays episode. Will G be our most incompetent? ... maybe.
Tune in later for more practiceSafeHex's most incompetent co-worker!!!31 -
* had to share * read it on a tutorial website *
Remember that everyone makes mistakes.
Programmers are like magicians who fool everyone into thinking they are perfect and never wrong, but it's all an act. They make mistakes all the time.1 -
Hello everyone!
This is a kinda follow up to my previous rant:
https://devrant.com/rants/1442655/...
So, it’s been a week since I started the internship. I am kinda lost to be honest.
The first day was awesome, but I have been going downhill since then. I make so stupid mistakes and it seems like I always think different than my mentor/employer (me making mistakes). Then he corrects me and I have to rewrite the code which I had to spend hours to think and get working. 😕😕
As @RantSomeWhere said, the guy is actually nice and still appreciates me and helps me all the time. I am really thankful for that. 🙂
As @plant99 said, I do have to be working a lot to try and meet the tasks that I am given. The employer does tell me to not over work but I still do if I have to, to get the thing done. I don’t feel nice if I don’t finish the work. So I do spend up to 12 hours (not continuously) on it at times. 😅
The code base… oh my god!! It is so bad (to me). Don’t get me wrong, we use the linting and auto formatting tools, but I can’t get over the 2 space tabs in C++ code. It makes me feel like I am not looking at code but at paragraphs of mumbo jumbo stuff. 😭😭
Oh and yes, it is confirmed. I HATE FRONTEND WORK! Especially when languages like JS and C++ are used in combination and interact with each other. 😨😨😱😱
Don’t get me wrong, I don’t hate JS or frontend, but I hate doing it myself. So not my cup of tea. Kudos to those who actually do it! 😎👏🏻🎊
Overall, I guess, it is going decently. I feel so scared at times, consumed by the fear, that my code will be wrong and he’ll be disappointed in me. Yea I know that I shouldn’t be upset with how others feel. But it does make me sad when I disappoint my mentor (who is still rooting for me). 🙁
I am hoping to get better over time. This is definitely a great experience for me because my code has never been judged before. I have always been the “king of code” in my college/social circle. 🤭🤭
Honestly, this is actually humbling. I guess I definitely needed this 😅😅. And as they say, you don’t improve by being the top. You improve by leaping forward, ending up at the bottom of the heap of the next level, and growing up from there. 😅
Oh and I also realized - remunerative benefits are DEFINITELY motivating 😂😂😂😂
And the 5 days work also definitely makes me MUCH more excited for the weekends 😆😆😂😂
Thanks everyone for cheering, motivating, and giving me advise.
@oudalally I definitely found your advise quite helpful 😁😁😊😊
PS: ooh this my biggest rant/story yet! Yiiipppeeeeeee 😁😁😊😊7 -
Hey guys,
I think the topic of this week is very important.
Older, experienced devs are giving their skills and advices to the younger one.
Some of you maybe know it, I'm a young developer, who started his apprenticeship at september.
I'm feeling good there, the others are friendly. I learn a Lot there. I had experience before I started there. It's my Hobby to code so I started coding when I was 14.
You can't know anything, everyone makes mistakes, this is what I've learned and this is important to remember.
There are these days like today, when your Boss isn't there and you have to work alone. You have to do many things, and you are desperated because nothing Works, you can't ask anyone, you are completly alone. There are these days, when nothing seems to work. But there are also these days when everything Just Works fine and you are happy with yourself.
This is important to remember.
For me its very hard. Days like today are driving me crazy and I'm very sad, even when I know, that this is Kind of normal not to know everything and have Problems, especially when you are young as me and started your first apprenticeship 3 months ago.
Tomorrow I'm also alone, I'm a Little Bit feared of tomorrow (you say that in that Way? :P) When I think of tomorrow and that I don't know How to proceed and sitting there, I'm getting frustrated and Kind of sad. But I know that this will Make you even better some day, because you learn and gets better - day for day.
At least there was something good today. My stickers finally arrived! To Germany! That was fast! Thanks everyone, Thanks! And Thank you @dfox for building this great community!
What are you advices? And how you handle these situations? I hope tomorrow everything Works fine :/2 -
developer makes a "missed-a-semicolon"-kind of mistake that brings your non-production infrastructure down.
manager goes crazy. rallies the whole team into a meeting to find "whom to hold accountable for this stupid mistake" ( read : whom should I blame? ).
spend 1-hour to investigate the problem. send out another developer to fix the problem.
... continue digging ...
( with every step in the software development lifecycle handbook; the only step missing was to pull the handbook itself out )
finds that the developer followed the development process well ( no hoops jumped ).
the error was missed during the code review because the reviewer didn't actually "review" the code, but reported that they had "reviewed and merged" the code
get asked why we're all spending time trying to fix a problem that occurred in a non-production environment. apparently, now it is about figuring out the root cause so that it doesn't happen in production.
we're ALL now staring at the SAME pull request. now the manager is suddenly more mad because the developer used brackets to indicate the pseudo-path where the change occurred.
"WHY WOULD YOU WASTE 30-SECONDS PUTTING ALL THOSE BRACES? YOU'RE ALREADY ON A BRANCH!"
PS : the reason I didn't quote any of the manager's words until the end was because they were screaming all along, so, I'd have to type in ALL CAPS-case. I'm a CAPS-case-hater by-default ( except for the singular use of "I" ( eye; indicating myself ) )
WTF? I mean, walk your temper off first ( I don't mean literally, right now; for now, consider it a figure of speech. I wish I could ask you to do it literally; but no, I'm not that much of a sadist just yet ). Then come back and decide what you actually want to be pissed about. Then think more; about whether you want to kill everyone else's productivity by rallying the entire team ( OK, I'm exaggerating, it's a small team of 4 people; excluding the manager ) to look at an issue that happened in a non-production environment.
At the end of the week, you're still going to come back and say we're behind schedule because we didn't get any work done.
Well, here's 4 hours of our time consumed away by you.
This manager also has a habit of saying, "getting on X's case". Even if it is a discussion ( and not a debate ). What is that supposed to mean? Did X commit such a grave crime that they need to be condemned to hell?
I miss my old organization where there was a strict no-blame policy. Their strategy was, "OK, we have an issue, let's fix it and move on."
I've gotten involved ( not caused it ) in even bigger issues ( like an almost-data-breach ) and nobody ever pointed a finger at another person.
Even though we all knew who caused the issue. Some even went beyond and defended the person. Like, "Them. No, that's not possible. They won't do such dumb mistakes. They're very thorough with their work."
No one even talked about the person behind their back either ( at least I wasn't involved in any such conversation ). Even later, after the whole issue had settled down. I don't think people brought it up later either ( though it was kind of a hush-hush need-to-know event )
Now I realize the other unsaid-advantage of the no-blame policy. You don't lose 4 hours of your so-called "quarantine productivity". We're already short on productivity. Please don't add anymore. 🙏11 -
I'm working on a codebase that is terminally ill. It's split so badly into microservices that no matter what you do, every one of them talks to every one of them over and over. If there's any way they can avoid just invoking a method on a class and send themselves a message or make an HTTP request, they'll do it. One of the services just sends messages to itself for no apparent reason. Except it doesn't even send messages to itself. It sends an HTTP request to a controller in another app, and that controller sends a message which is received by the same class that made the request.
The point is that this application is screwed. The defects pile up and there is literally no one who can understand what it's supposed to do in any scenario. I'm good at this. I can follow confusing code and document it. But not this one. It's overwhelming. It's insanity.
When these defects come in we're told to just run the app from the UI, see what HTTP requests it makes, and start tracing the code manually. Running and debugging it locally would be a nightmare but it's impossible anyway.
They decided that we all need to understand the application better so we can work on it, so we were each given six poorly-define five-hour tasks to "understand" various things. Those things don't make any sense. It's like if someone gave you the source code to Excel and told you to spent five hours understanding columns, five more understanding rows, and five more understanding cells.
Here's the thing: I'm okay with learning and understanding some code. It's part of the job. But I'm not going to abandon my career as a software developer so I can become an expert on debugging their awful code. I didn't make this mess. I'm not going to live with it. I'm moving on as quickly as I possibly can.
I've tried to explain to them that if they want the situation to improve they need to improve the code. They need to learn how to write tests. If your plan is that people will study your code, know it inside and out, and then spend all their time debugging it, that's a plan for failure. Everyone who can will leave and take what they know with them.
These companies just don't get it. They need their software to work, but the types of developers who can help them don't need that software to work. No one capable of doing good work is going to spend several years debugging their awful code unless you pay them a crazy ton of money.
Just don't make a mess in the first place. Hire developers who can do a good job. If you hire the cheapest people you can find you won't be able to get someone else to fix it later. It's not personal but I wish failure on those projects or even those companies. I want them to fail because failure is so expensive. I want them to fail so that others learn from it and don't repeat the same mistakes.
As an industry we're a bunch of genuine idiots. We just keep doing the same things over and over again no matter how much it hurts.1 -
To all self made seniors (and those who got granted this title because it was a morale boost): is it really so difficult to grasp ideas like: Single responsibility? Don't repeat yourself? Encapsulation?
Seriously? Is it difficulty level of some quantum physics or what?
I'm not a fucking genius myself either, but when I see 300-500 LoCs function, accepting 10 parameters, having half of code duplicated in different parts of solution - I really wanna start firing people ON THE SPOT.
P.s.
To all shitty developers advocates - I know that everyone makes mistakes sometimes - I'm talking here about consistent "don't give a shit about code" behaviour.23 -
First you’re telling me my work always needs to be 1000% perfect and complete, next thing you’re saying everyone makes mistakes and you need the mistakes so you can learn from them.
I’m getting mixed signals here9