Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
The company that I’m working for has done lots of subtle racist things surrounding diversity policy. There was a major blowout between execs and suddenly all went quiet. The guy that was hired against my recommendation was gone. Until early January when he showed up at our building to raid our kitchen. WTF. It turns out HR decided to move him to the other office and out of sight so my team wouldn’t see him. He isn’t working on a project and is getting paid on the bench for more than the 100% billable devs.
After I saw him bumming around, I replied to a recruiter that has been trying to recruit me to their company.
The position pays 25% more 😲 and comes with a an amazingly relaxed development environment. Developer time is managed and allocated by someone in a dedicated role. 80% of the time is sprint work and the rest is self-driven projects or learning. Teams are stable, mostly local, and there is very low turnover. Developers get Mac or Linux computers.
I’m doing an executive meet and greet at the other company tomorrow. They will be the ones that will make me the final offer. I feel pretty good about it too because they will let me sign up to start in a month and a half so I can give a long notice, work until the end, and my current company can hire me back as a consultant in a pinch. It softens the blow for my current company and it makes it easy for me.
Worst case scenario I don’t take the position but use it for leverage. Who am I kidding? I’ll definitely jump ship when negotiation is done tomorrow.
It's maddening how few people working with the internet don't know anything about the protocols that make it work. Web work, especially, I spend far too much time explaining how status codes, methods, content-types etc work, how they're used and basic fundamental shit about how to do the job of someone building internet applications and consumable services.
The following has played out at more than one company:
App: "Hey api, I need some data"
API: "200 (plain text response message, content-type application/json, 'internal server error')"
App: *blows the fuck up
*msg service team*
Me: "Getting a 200 with a plaintext response containing an internal server exception"
Team: "Yeah, what's the problem?"
Me: "...200 means success, the message suggests 500. Either way, it should be one of the error codes. We use the status code to determine how the application processes the request. What do the logs say?"
Team: "Log says that the user wasn't signed in. Can you not read the response message and make a decision?"
Me: "That status for that is 401. And no, that would require us to know every message you have verbatim, in this case, it doesn't even deserialize and causes an exception because it's not actually json."
Team: "Why 401?"
Me: "It's the code for unauthorized. It tells us to redirect the user to the sign in experience"
Team: "We can't authorize until the user signs in"
Me: *angermatopoeia* "Just, trust me. If a user isn't logged in, return 401, if they don't have permissions you send 403"
Team: *googles SO* "Internet says we can use 500"
Me: "That's server error, it says something blew up with an unhandled exception on your end. You've already established it was an auth issue in the logs."
Team: "But there's an error, why doesn't that work?"
Me: "It's generic. It's like me messaging you and saying, "your service is broken". It doesn't give us any insight into what went wrong or *how* we should attempt to troubleshoot the error or where it occurred. You already know what's wrong, so just tell me with the status code."
Team: "But it's ok, right, 500? It's an error?"
Me: "It puts all the troubleshooting responsibility on your consumer to investigate the error at every level. A precise error code could potentially prevent us from bothering you at all."
Team: "How so?"
Me: "Send 401, we know that it's a login issue, 403, something is wrong with the request, 404 we're hitting an endpoint that doesn't exist, 503 we know that the service can't be reached for some reason, 504 means the service exists, but timed out at the gateway or service. In the worst case we're able to triage who needs to be involved to solve the issue, make sense?"
Team: "Oh, sounds cool, so how do we do that?"
Me: "That's down to your technology, your team will need to implement it. Most frameworks handle it out of the box for many cases."
Team: "Ah, ok. We'll send a 500, that sound easiest"
Me: *..l.. -__- ..l..* "Ok, let's get into the other 5 problems with this situation..."
Moral of the story: If this is you: learn the protocol you're utilizing, provide metadata, and stop treating your customers like shit.18
I want a name and a gun.
I've had my laptop for over 3 years now. Never, in these 3 years, have I installed Microsoft Teams on it.
I just turned my laptop on, and I now have the Ms Teams icon on my desktop, and Teams has started itself and is asking me to log in.
Control panel says it has been installed today.
I want somebody's head. And then smash it into a pulp with my bare hands and shove that up their ass.45
Had a job interview recently that went well besides one little disagreement... and it has made me question my sanity. Tell me if I'm wrong.
They asked the difference between a GET and POST request.
Wow, that's an easy one, they're giving me a break, I thought to myself.
I said "GET is used to retrieve data from a server, whereas POST is used to add data to a server, via it's body, which a GET lacks" or something like that.
They were like "ya mostly, but GET can be used to enter data into the server too. We were just looking for the body thing."
And I'm like.... yeah, you could do that, but that's not what it's meant for.
They mention stuff about query parameters and I hold steady that GET and POST are different because GET has a specific purpose. Otherwise, we wouldn't need the "method" part of an HTTP request at all. We could just either include a body or not include a body.
I ended it with "Well, POST implies that you are adding data to a server, and GET implies you are querying data from the server. When I'm reading documentation, that's how I quickly determine what an endpoint does."
My confidence was a little shaken at this point. Crazy what two people with (I assume at least) 10+ years of experience telling you you're wrong will do to your confidence.19
My favorite kind of interview question/challenge is anything that is highly practical for the job. At the current company I work, the coding test/interview challenge was to design and implement an API very similar to the core functionality of the actual product. It’s fair, tests for skills relevant to the job, and is much better than irrelevant silly brain teasers and cs questions, I feel.
In terms of specific questions, one of my favorites is one that one of my colleagues suggested I ask to potential candidates: describe what you think your biggest failed project/task was in your engineering career, and what happened/what you learned. I think it’s a good reflective question that can tell a lot about someone.1
The first batch of trainees calls me "Senpai" and it was passed down to "generations" of trainees, now three batches. Some of them eventually became team leaders and mentors themselves. Every time someone new arrives, they introduce me as that. Even years after I stopped working with them and joined a different company, they still call me that. It's almost like I don't have a name or calling me by name is disrespectful. Maybe they've just forgotten about my actual name after some time.5
-Let's start making the game!
-We should focus on performance optimization!
-But we don't have anything to optimize yet..
1 month later
-OK you were right, we can't focus on performance now. We need to start making this game!
-So we're in pre-production now, let's do some R&D!
-Awesome, I wanted to start designing our workflow for adding new content, and maybe also loca..
-NO! That's unimportant! We must do R&D!
-OK what should we Arr-and-Dee?
My most recent one actually. We hadn't met in person yet, but they liked my LinkedIn, projects, and personal e-mail I sent.
The coding task involved taking a design of a mock mini-site and turning it into a Front-end web site / app. They provided all of the assets (images, videos, fonts), a video of the animations the site should have, and an Invision project so we can get more details on the design. Responsiveness was not required.
I was free to use any technology, library, and framework, but the final product should be in HTML/CSS/JS. They gave me 12 days, but I finished in 2 days and told them to call me "Amazon Prime" because I've got that 2-day delivery.
My technologies included:
ReactJS + EmotionJS + Redux with Immutability (unnecessary but showing off) + React-Snap.
A GitHub repo of the project.
A build folder of the final product.
A live version running on firebase
And a cheeky lighthouse audit showing off the performance.
They are impressed with my speed and accuracy of the Front-end in relation to the design. The in-person interview took place two days after, but judging from their attitudes towards me, I could already tell they were deeply interested. Needless to say, I got the job. Contract signing is tomorrow.4
A new linear time O(N) sorting algorithm [Keep it secret 🔒]
* Compare two adjacent elements one by one starting from the first element
* If there are out of order, delete the second element and continue with step 1
* If in order, go to the next two elements
* Once done, act like the numbers you deleted never existed
Works all the time.
Not yet published. Thinking of a good name for it.26
Remember that company that first brought me to devRant last 2018? The one I ranted about almost every day like it's the only reason I exist? They lost their client, it's the only project they have, and it's a pretty big one based in the US. Now they're in big trouble and the enemies they made from being a big bundle of cunts launched their own start-up.
A few days ago, a previous colleague texted me asking if we have available positions in the company I'm currently working for. He said "the client suddenly vanished". I asked, "What do you mean? They just vanished? Aren't there other projects?" Of course, he didn't answer and instead asked where I'm working now.
The last time I talked to him in person, he was saying that they will be sent abroad for that project and that the company has new projects lined up. I rolled my eyes internally but just said, "Okay". That was when I visited the office for the last time to get my clearance which I didn't get and didn't bother getting anymore otherwise I'll be in jail for arson because god damn it, those motherfuckers really make my blood boil. During that time, more than half of their employees were gone but they were so brainwashed, they still believed it had a future.
The first thing I did was open LinkedIn and add the two developers still in that hellhole. I trained some people there and those two had the least ego and had the best performance - resourceful and not as lifeless as a fucking placenta coming out of their mothers' vaginas. Now that I think about it, placentas have more nutrients and use than the vacuum-headed cunts left in that company.
In less than five minutes, they accepted, that's how you know the situation really is dire in there. I'm friends with one of the project managers (who hate the PM from the other company) so I offered to refer them and they went with it. The situation is interesting because PM1 (friend) before she became a project manager actually planned to move to the hellhole company with me, this was years before we knew it was hell where she was insulted by PM2 (PM of the hellhole) and some bitch cunts were very rude to her during the interview. Now those same cunts can't find a job and the roles were reversed. If they dare to apply for PM1's company, I'm gonna need all the popcorn in the world.
Why can't they find a job? A combination of two traits - incompetence and arrogance. Actually, it's more than that. They bully almost every employee that joins the company. Their motto is "We don't need experienced hires" and they treat the experienced ones like shit so 90% of the employees are junior developers egos bigger than Mandingo's cock. It matters more that you can drink and gossip with them than you can do your job. People working overtime all the time are praised instead of looked into because they're inefficient. People who leave on time are judged. People's social media profiles are stalked and gossiped about. Even the company owner and manager participates in personal attacks towards their own employees and humiliating somebody (inviting audiences) while they make someone cry is their sick display of authority and fun.
System admins don't know how to fucking chmod or even grep. I had several months where my job was to sit there and answer questions 'cause I can't do a fucking thing without being distracted. Then word would spread that I'm doing nothing. One time, I was working on a critical issue and this guy asked if I could help him. I said I can't right now. He said he will tell the client that he can't finish the task because I'm not very helpful. I said, "Go ahead, the only thing that would reflect is your lack of skill." Shit like that and frequent attacks had me drinking coke and vodka in the office. Eventually, I got depressed and the HR didn't leave me alone. They kept pressuring me to present a medical certificate on when I can come back. My psychiatrist refused because "depression doesn't work like that". I found out after I submitted my resignation that they planned to give me an ultimatum that if I can't provide a certificate within 30 days, they will fire me. Oh well, thank you.
It was fucking North Korea, I said it before and I'll say it now. They have no clue what's really outside their own bubble. They stayed in that shit hole thinking they're a bunch of Steve Jobs or that they own the world because their peers (who are retarded themselves) praise them. I looked forward to this day and it finally happened. They are forced to go outside and now they can all see what they're really worth - nothing.
Good luck finding a job, you fuckers. This year's gonna be great. Ah, the sweet smell of other people's misery in the evening. :)8
To whoever in the history of this godforsaken app I’m tasked with has commingled PHP with ColdFusion, I have a message for you:
Fuck you...fuck your momma, fuck yo daddy, fuck yo computer, fuck yo keyboard, fuck yo mouse, fuck the clothes on your back, fuck monitors that displayed this shit, fuck your fingers in particular, fuck yo brain, fuck whoever dropped yo on your head as an infant, fuck the car you drove to work in, fuck the servers running this shit, fuck anybody who was involved with your education, and if I see you on the street ima slap the shit out of you.6
Is it just me, or has @LastPass hired too many interns lately?
First: you can't login for hours before they actually go and admit they fucked up.
Now: the chrome extension has been deleted from the web store.
I'm a patient guy, but what on the unholy fuck is going on.
The LastPass extension in the Chrome Web Store was accidentally removed by us and we are working with the Google team to restore it ASAP. Thank you for your understanding and patience in the meantime.12
Sorry for my bad english.
Follow up to https://devrant.com/rants/2375250/...
Soooooooo, at 9 o'clock AM I went to his house, and he showed me the laptop. That old and very badly treated laptop. It had 2 gb of RAM and an Intel Celeron of 2nd generation. It had no hard drive because the old one broke and he got a new one, but he didn't knew how to change the hard drives, so it just left it in there and bought a new computer. I had a Windows 8.1 USB stick ready, office 2019 and my screwdrivers ready to go. I was thinking what he will do when I will tell him that he had to pay me... So at a quarter past 9 I started to remove the screen and attaching the hard disk. I putted all back in and installed a fresh copy of Windows and installed Office and Google Chorme. I finished at a quarter to 11 (installing the software was the most long part...). I show it to him and he said: "Why is the keyboard still there?"
Him: "Well, I wanted a black box, WITHOUT a keyboard.
I thought that more time I used more money I will have, so I took some measures, went home and modeled and 3D printed a plastic piece to put where the keyboard was.
I put it in the computer and I have to say it turned out pretty good! I went back to his house with the computer ready and before I gave him the computer asked for the money. It was 1 o'clock PM. He had to give me according to the agreement we made that he will need to give me 200 euros.
He said: What money?
Me: the money. Read the contract
Him after reading the contract: oh my motherfucking god. I need to give you 200 euros?!?!?!!
Me, laughing: yesss
He started tearing apart the contract and said thinking he was smart: now I don't.
Me: you sent me a photo of it yesterday.
I was laughing so hard when he started to say that he didn't had any money and all that stupid stuff(he just bought a new Audi, he isn't poor...). At the end he asked his mom to give him 200 dollars to pay me. She gave him a punch in the face. She asked me why and I told her everything. At the end I added: I know that since I haven't got 18 years I can't denounce you, but if I ask my dad he WILL denounce you because your son signed a contract, that said that every hour of work he will have to pay me 50 euros. And I logged everything, so you have to pay me, or my dad will denounce you.
Her face was speechless. I was so happy when I got out of their house with my 200 euros. I don't think I will get in there any time soon anymore...14
About browsers and whole SSL CERT thing...
Most likely everyone here noticed, that https site with broken certificate will throw these big red warnings, in your face and there is so much wording like "ITS NOT SECUREEEE" or "ITS HACKEDDD" almost like it was written by passionate fanatic.
But when you are on plaintext http browsers reaction is like ¯\_(ツ)_/¯
Even if you have plaintext with password, it will for example in chromium put small little red thingy that almost no one notices.
I believe that broken cert with some error like invalid date is MORE secure than plaintext password, yet still there is this hypocracy with browsers...
I dont say that broken SSL cert is good, or something, Im just pointing out contrast of "broken" https vs plain http.... One looks for casual Joe like end of the world is coming and second is bearly noticable. Da fuck?
I disagree with this approach18
Am I the only one?
I want to know EVERY FUCKN SKILL A DEV CAN POSSIBLYHAVE, but I want to know it all NOW..
googling 30 times for tutorials and posts about a topic,
opening 30 tabs,
then spending around 30 seconds on each one ...
Trying 1-2 tutorials,
not understanding why I dont get this shit...
this is stupid
loosing interest in 3..2..1...
Aaand let's try and learn this new skill..
Really fucking sick of people taking my coffee mugs on the drying rack and taking them back to their desk. It's not yours. It doesn't have our company logo or your company logo. It's obviously not yours so don't fucking touch it.
This is the second coffee mug of mine to go missing in 16 months. You work at a tech company buy your own fucking mug or open your mouth wide and catch your hot bean water you fuck.12
- just do your job. Close this ticket already and go to the next one
- It's just a 1 minute job.. Don't build scripts for things that simple!
- Look, we don't have time to spare for coffee breaks. Stop wasting your time on scripting!
- netikras, the IST shift fucked things up again. I need you to do your magic and clear those alerts
- netikras, there are 20 tickets waiting to be investigated. Either your coleagues spend 2 hours on them or you do your magic in 2 minutes, as always..
- netikras, please share your scripts with your team
- netikras, I have nominated you for the Star Award for your script
- netikras, here's the star award and the financial prize. Those are nice swarovskies you've picked for your wife! Good choice!
- Since our team has lots of spare time now, I urge you all to attend X, Y and Z trainings. Trainings and Certification expenses are covered
A very similar scenario has just happened in 2 last workplaces of mine. In both cases I was the one to build the script despite my management's requests to stop wasting time and resources on them.
When I see what is wrong and take some actions to right those wrongs, when superiors build roadblocks for me claiming it's not worth it and in the end I still build my solutions and become the most efficient person/team in the whole department -- that right there is what boosts my ego to the sky and above!! It proves I am actually on the right track. It proves that I in fact have a better understanding than those who should have it.
It just makes me tick!
Looking for another adventure like that :) With more power to change things this time4
Recently for a project I needed to read/write ID3 tags from MP3 files. And after a long search, I found this bloated, monolithic but quite stable library, "getID3".
So, I was looking through the code-base and I found this. This guy literally storing the key value based data embedded as comments within the class file. Then wrote a method to parse the data and even used caching to ensure maximum speed! And such usage is repeated all over the code-base.
So, this is what people used do before arrays were invented :313
> im an operating system
> when I feel like operating
> lifes good
> i reboot when i feel like it
> i take the entire screen whenever i want
> when im changed from landscape to portrait i still snap windows horizontally
> sometimes, when i know the laptop lid is closed and a keyboard is attached i still ask for your finger
> thats what you get for having the finger print scanner under the lid i say
On my project the customer has re-signed into a contract several times when they have budget to continue work. The first time they got us to build the system was a huge success story because the team was assembled quickly and we did rapid development. Initialize repo to prod in 1.5 months. The customer asked for the same dev team. Strong dev team, a PM that doesn't take shit, and pure agile. Lets call her don't-take-shit PM.
When the customer re-signed the executive decided that she didn't like don't-take-shit PM. So the project manager gets replaced by play-by-the-rules PM who will comply with stupid requests and micromanagement. He isn't a bad PM but he tries to make everyone happy. The amount of management types executive installs on the project is massive, and development team is cut down in major ways. Customer and executive shit rolls down to the development team and we can't get anything done. The customer starts to lose faith because we can't get traction. They start demanding traditional waterfall/SDLC docs. Which causes more delay in the project.
So the executive decides that the PM can take a fall for it to save face for the company. She moves play-by-the-rules PM to another project. He starts handover to a new PM that has a history of being her pushover. The customer hadn't seen him yet so now we have push-over PM.
Play-by-the-rules PM is finally out of the project and instead of moving to a different account the company decides to "lay him off because there is no work". So basically they made him take the fall for the failure while promising reassignment, and instead let him go. This is so unfair..
Meeting with push-over PM yesterday and he shows us his plan. Identical to play-by-the-rules PM's plan that got him axed.We point that out and show him the docs that were made for it. His face clearly communicates "OH SHIT WHAT DID I SIGN UP FOR?"