Aboutpython & java dev
Joined devRant on 5/25/2018
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
Developer: We have a problem.
Manager: Remember, there are no such things as problems, only opportunities.
Developer: Well then, we have a DDoS opportunity.42
Life lessons learned from programming?
1. Always put things where you look for them
2. You may know better than some people but you never know better than all the people
3. Fuckups happen. Deal with them and move on
4. Take responsibility for your fuckups
5. There is no nice way to tell someone their baby is ugly or that their code is unreadable2
Working with someone who just learned Git.
Woke up this morning to 200 .DS_Store files on master.
"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.90
The first time I realized I wasn't as good as I thought I was when I met the smartest dev I've ever known (to this day).
I was hired to manage his team but was just immediately floored by the sheer knowledge and skills this guy displayed.
I started to wonder why they hired outside of the team instead of promoting him when I found that he just didn't mesh well with others.
He was very blunt about everything he says. Especially when it comes to code reviews. Man, he did /not/ mince words. And, of course, everyone took this as him just being an asshole.
But being an expert asshole myself, I could tell he wasn't really trying to be one and he was just quirky. He was really good and I really liked hanging out with him. I learned A LOT of things.
Can you imagine coming into a lead position, with years of experience in the role backing your confidence and then be told that your code is bad and then, systematically, very precisely, and very clearly be told why? That shit is humbling.
But it was the good kind of humbling, you know? I really liked that I had someone who could actually teach me new things.
So we hung out a lot and later on I got to meet his daughter and wife who told me that he had slight autism which is why he talked the way he did. He simply doesn't know how to talk any other way.
I explained it to the rest of the team (after getting permission) and once they understood that they started to take his criticism more seriously. He also started to learn to be less harsh with his words.
We developed some really nice friendships and our team was becoming a little family.
Year and a half later I had to leave the company for personal reasons. But before I did I convinced our boss to get him to replace me. The team was behind him now and he easily handled it like a pro.
That was 5 years ago. I moved out of the city, moved back, and got a job at another company.
Four months ago, he called me up and said he had three reasons for us to meet up.
1. He was making me god father of his new baby boy
2. That they created a new position for him at the company; VP of Engineering
3. He wanted to hang out
So we did and turns out he had a 4th reason; He had a nice job offer for me.
I'm telling this story now because I wanted to remind everyone of the lesson that every mainstream anime tells us:
Never underestimate the power of friendship.21
When our sales guy came by for the 200000000000th time on a day to boast about how good he advised someone on a sales related matter.
Mate, we're Linux engineers and currently trying to fix shit up so why don't you get yourself a cup of shut the fuck up.7
Sorry, I just had to post this cable porn I found posted in some random subreddit.
Just look at those curves15
Ran into a girl who I had a crush on in high school at a bar last week. Hanged out for a bit, but then I had to run catch the last train home.
Today I get a message from her that reads: "Hey, it was nice to meet you last week. Can I call you some time, there's something I want to tell you. 😉"
I think to myself -- sweet and say that I have no meetings today, call me whenever you can.
A couple of minutes later she calls me, and the first thing she says: "I have this app idea..."
fuck, shouldn't have hyped myself up.34
This placement season while everyone is busy updating their linkedin profiles I watch dev memes @ devrant :-)2
Codacy is cool!
It gives my code a grade. So it's like school and university, but much easier since I can just disable all the warnings and get an A.5
So, I took 4 weeks vacation. I planned to finish so many projects and learn so many stacks.
First 3 weeks:7
When Google recruits, I guess they don't need to ask you anything, since they are already tracking your every move.14