Details
Joined devRant on 3/27/2018
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
-
Girl: we need to talk
Me: OK
Girl: you seem to have more time for your computer than me. I want to know how important I am to you.
Me: You are the number 1 in my life.
Girl: *smiles and hugs me*
Me: (thinking)...Just that I start counting from 029 -
A group of wolves is called a pack.
A group of crows is called a murder.
A group of developers is called a merge conflict.28 -
Developer: We have a problem.
Manager: Remember, there are no such things as problems, only opportunities.
Developer: Well then, we have a DDoS opportunity.53 -
"You gave us bad code! We ran it and now production is DOWN! Join this bridgeline now and help us fix this!"
So, as the author of the code in question, I join the bridge... And what happens next, I will simply never forget.
First, a little backstory... Another team within our company needed some vendor client software installed and maintained across the enterprise. Multiple OSes (Linux, AIX, Solaris, HPUX, etc.), so packaging and consistent update methods were a a challenge. I wrote an entire set of utilities to install, update and generally maintain the software; intending all the time that this other team would eventually own the process and code. With this in mind, I wrote extensive documentation, and conducted a formal turnover / training season with the other team.
So, fast forward to when the other team now owns my code, has been trained on how to use it, including (perhaps most importantly) how to send out updates when the vendor released upgrades to the agent software.
Now, this other team had the responsibility of releasing their first update since I gave them the process. Very simple upgrade process, already fully automated. What could have gone so horribly wrong? Did something the vendor supplied break their client?
I asked for the log files from the upgrade process. They sent them, and they looked... wrong. Very, very wrong.
Did you run the code I gave you to do this update?
"Yes, your code is broken - fix it! Production is down! Rabble, rabble, rabble!"
So, I go into our code management tool and review the _actual_ script they ran. Sure enough, it is my code... But something is very wrong.
More than 2/3rds of my code... has been commented out. The code is "there"... but has been commented out so it is not being executed. WT-actual-F?!
I question this on the bridge line. Silence. I insist someone explain what is going on. Is this a joke? Is this some kind of work version of candid camera?
Finally someone breaks the silence and explains.
And this, my friends, is the part I will never forget.
"We wanted to look through your code before we ran the update. When we looked at it, there was some stuff we didn't understand, so we commented that stuff out."
You... you didn't... understand... my some of the code... so you... you didn't ask me about it... you didn't try to actually figure out what it did... you... commented it OUT?!
"Right, we figured it was better to only run the parts we understood... But now we ran it and everything is broken and you need to fix your code."
I cannot repeat the things I said next, even here on devRant. Let's just say that call did not go well.
So, lesson learned? If you don't know what some code does? Just comment that shit out. Then blame the original author when it doesn't work.
You just cannot make this kind of stuff up.105 -
!rant
After over 20 years as a Software Engineer, Architect, and Manager, I want to pass along some unsolicited advice to junior developers either because I grew through it, or I've had to deal with developers who behaved poorly:
1) Your ego will hurt you FAR more than your junior coding skills. Nobody expects you to be the best early in your career, so don't act like you are.
2) Working independently is a must. It's okay to ask questions, but ask sparingly. Remember, mid and senior level guys need to focus just as much as you do, so before interrupting them, exhaust your resources (Google, Stack Overflow, books, etc..)
3) Working code != good code. You are an author. Write your code so that it can be read. Accept criticism that may seem trivial such as renaming a variable or method. If someone is suggesting it, it's because they didn't know what it did without further investigation.
4) Ask for peer reviews and LISTEN to the critique. Even after 20+ years, I send my code to more junior developers and often get good corrections sent back. (remember the ego thing from tip #1?) Even if they have no critiques for me, sometimes they will see a technique I used and learn from that. Peer reviews are win-win-win.
5) When in doubt, do NOT BS your way out. Refer to someone who knows, or offer to get back to them. Often times, persons other than engineers will take what you said as gospel. If that later turns out to be wrong, a bunch of people will have to get involved to clean up the expectations.
6) Slow down in order to speed up. Always start a task by thinking about the very high level use cases, then slowly work through your logic to achieve that. Rushing to complete, even for senior engineers, usually means less-than-ideal code that somebody will have to maintain.
7) Write documentation, always! Even if your company doesn't take documentation seriously, other engineers will remember how well documented your code is, and they will appreciate you for it/think of you next time that sweet job opens up.
8) Good code is important, but good impressions are better. I have code that is the most embarrassing crap ever still in production to this day. People don't think of me as "that shitty developer who wrote that ugly ass code that one time a decade ago," They think of me as "that developer who was fun to work with and busted his ass." Because of that, I've never been unemployed for more than a day. It's critical to have a good network and good references.
9) Don't shy away from the unknown. It's easy to hope somebody else picks up that task that you don't understand, but you wont learn it if they do. The daunting, unknown tasks are the most rewarding to complete (and trust me, other devs will notice.)
10) Learning is up to you. I can't tell you the number of engineers I passed on hiring because their answer to what they know about PHP7 was: "Nothing. I haven't learned it yet because my current company is still using PHP5." This is YOUR craft. It's not up to your employer to keep you relevant in the job market, it's up to YOU. You don't always need to be a pro at the latest and greatest, but at least read the changelog. Stay abreast of current technology, security threats, etc...
These are just a few quick tips from my experience. Others may chime in with theirs, and some may dispute mine. I wish you all fruitful careers!221 -
How the fuck am I going to make a fucking email signature appear the same everywhere when the client insists in using a piece of shit software called Outlook and I am a goddam backend developer.
I don't give a shit about spacing and color and stupid fucking fonts.
Thank for listening. Have a great day.15 -
WTF Python!!! "Master" and "Slave" perfectly convey the concept. In the English language many words have different meanings based on their context. It's plainly obvious that no allusion to human slavery is meant in the context of software or hardware module relationships. I don't even think it is problematic. The real problem seems to be the people who are taking terms outside their intended space. Why are we linking a scar on human history to terminologies explaining technical relationships?
Then lets also ban 0 and 1 because it can offends non-binary peoples!22 -
Are you for real Guido/python devs?! Can we stop shoving politics into non issues just to virtue signal please?
What the fuck is next?! Oh you can't kill a process you politely put it to sleep, you can't call that machine a server anymore it might get offended now it's called a service caring electrical appliance, hey what about removing python all together after all python could be misconstrued as phallic and drive women away; I know! Let's call it Santa/elves instead of master/slave!
Fuck off! And what's that of you being akward saying server/slave terminology around black people? That's insanely racist! Who the fuck thinks all black people are descendants of slaves? Why the fuck are you racist enough to imply they can't do their job properly because (unlike you) they would be uncomfortable, you low expectations racist fuck!
You just fucked with your open source base and I really don't wanna see python going woke and then broke.
https://github.com/python/cpython/...31 -
I strongly dislike the www part in domain names (the subdomain, really), that's not really news anymore.
Loads of sites use it which I find annoying as fuck for some reason but so be it. (I understand that its very logical to loads of people)
And then you get a client who calls in because the email server isn't accepting her username/password.
*looks into the logs*
"incorrect authentication data: info@www.herdomain.com"
Kill it with fucking fire.18 -
Happened a while ago but I still find it funny.
*phone rings*
Me: good morning sir, how can I help you?
Client: MY WEBSITE IS OFFLINE, FIX IT RIGHT NOW.
M: I'm going to take a look, what's the domain?
C: *gives domain*
M: I see, that domain expired already, it was cancelled through our customer portal by the client, you maybe or someone you know?
C: WHAT?! MY INTERNATIONAL BUSINESS DEPENDS ON THAT DOMAIN, I'D NEVER CANCEL IT, THIS IS BULLSHIT! I'F THE SITE GOES OFFLINE FOR A MONTH I'LL FUCKING GO BANKRUPT, YOU'RE GOING TO FIX THIS RIGHT NOW.
M: if I may ask, how is your business doing right now?
C: HOW IS THAT QUESTION RELEVANT RIGHT NOW?!
M: well, you said that if the site would go offline for a month, you'd go bankrupt. The domain registration ended about half a year ago so that's why I aske......
*beeeeep beeeeep beeeeep*
Well, okay then.14 -
That moment when something works in Internet Explorer/Microsoft Edge but doesn't work in Chrome or Firefox...
On the left is Chrome, on the right is Internet Explorer.5 -
Was scared to take up freelance work because i was scared of bad clients.
Finally took one today, client is not a total arse and knows exactly what she wants me to do, down to details.
MFW.5 -
Okay, time to delete my old Skype account
1. Enter Skype name
2. Reset password
3. Captcha
4. Complete email
5. Enter email code
6. You are logged in now, please complete your profile first
7. Enter birth date
8. Add your phone number or second email address
9. Create new outlook mail
10. Got access to profile settings
11. Click on delete profile
12. Stop please first verify your email again
13. Enter code
14. Check all checkboxes that I am really sure to want it deleted
15. Click delete button
Fuck hell and that all again for my second account7 -
During a random school project.
Me: *Explains why team members idea is bad*
Team member: *Im going to do it like this anyways.*
Me: *add explaination of why idea is bad to git commit log.*
1 week later: some parts of the project dont work like they are suppost to.
Team member: *dude can you help me bla bla....(encounters issue i mentioned regarding his idea)*
Me: *no, i've already got too much on my plate. please, sort it out yourself....*
At the presentation
Teacher: *ask question about problem*
Team member: *tries to blame the problem on me....*
Me: *shows git commit log to teacher*
Me: *passing grade*
Team member: *failing grade*
Justice served.27 -
Yesterday's JR web dev interview:
👨🏻💻: Experience?
👶: Well JS, pyhton, UX Design and bit of Sass.
👨🏻💻: Feel like you'll have a hard time learning PHP?
👶: Well if it needs to be PHP, I can learn it.. Are you using a certain CMS?
👨🏻💻: Cool, good. Yeah we're using WordPress and need to support our sites for IE8.
👶:... Well.. ehm.. *runs away and screams in panic 💨*20 -
First of all how the fuck you are able to tell that MY password is one of many that have been stolen? How you are able to get those stolen passwords AND WHY YOU ARE EVEN ABLE TO COMPARE THEM?! Are you storing as plain text or just randomly salt all stolen passwords and chceck if they are in your base?
Now that is an INSTAdelete.8 -
I just hate npm dependencies.
If you want to write a small website with npm dependencies (some frontend deps like Bootstrap and some development deps like gulp or babel) you will have more npm dependencies in your project than own code. It is ridiculous, how some lazy developers just add dependencies to their projects, without evaluating their dependencies. The source code of one of my projects is around 4MB (without any dependencies). If you then run yarn as required, it grows to around 80MB (where 73MB are node_modules).
This is just terrible.
I rant about this, as I made the mistake to upload my node_modules directories when restoring a backup of my server. Worst idea one could ever have.9 -
It's how my co-workers and I quit,
When the incompetent COO joined the previous company I worked for (my previous rants contain stories about him)
Five of us from a seven people team found better jobs (salaries and company wise)
Walked up to the CEO and handed the resignations one after another, stating our reasons for leaving
COO's face was like a coin that got run over by a train2 -
So I maintain a open source PHP app that wraps youtube-dl, providing an UI for it basically. Some guy on a forum DMd me saying it's not working for him. I asked him what php version he used and if the file permissions are correct (the script makes and switches directories, so the permissions can't be root but need to be www-data).
He answers with PHP 7.2 (the newest that's rare) and says the file permissions are correct.
After 2 weeks the problem still persists and ofc I am doubting my code here. We finally get online together and I can use anydesk to work on his machine.
I discovered 2 things.
1) File permissions were just completely wrong.
2) PHP WASN'T EVEN INSTALLED
So what did I learn?
Never trust the user and I am glad that I work as a dev, not as a tech support.10