AboutFull stack web developer and much more
Joined devRant on 5/12/2018
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
The mother of my partner sent to us an email complaining that our home is too dirty...
We solved the problem adding a new spam filter.7
rant & question
Last year I had to collaborate to a project written by an old man; let's call him Bob. Bob started working in the punch cards era, he worked as a sysadmin for ages and now he is being "recycled" as a web developer. He will retire in 2 years.
The boss (that is not a programmer) loves Bob and trusts him on everything he says.
Here my problems with Bob and his code:
- he refuses learning git (or any other kind of version control system);
- he knows only procedural PHP (not OO);
- he mixes the presentation layer with business logic;
- he writes layout using tables;
- he uses deprecated HTML tags;
- he uses a random indentation;
- most of the code is vulnerable to SQL injection;
- and, of course, there are no tests.
- Ah, yes, he develops directly on the server, through a SSH connection, using vi without syntax highlighting.
In the beginning I tried to be nice, pointing out just the vulnerabilities and insisting on using git, but he ignored all my suggestions.
So, since I would have managed the production server, I decided to cheat: I completely rewrote the whole application, keeping the same UI, and I said the boss that I created a little fork in order to adapt the code to our infrastructure. He doesn't imagine that the 95% of the code is completely different from the original.
Now it's time to do some changes and another colleague is helping. She noticed what I did and said that I've been disrespectful in throwing away the old man clusterfuck, because in any case the code was working. Moreover he will retire in 2 years and I shouldn't force him to learn new things [tbh, he missed at least last 15 years of web development].
What would you have done in my place?14
So... an Italian government website published sensitive data of thousand of citizens, because they thought that it was enough to turn white the text color in order to anonymize the sensitive content of the files. Italy, 2019.
Source (in Italian):
TL;DR: I resigned from my full-remote job and I came back to the old office.
Some months ago I celebrated the achievement of a full-remote position.
I was tired of driving every day to reach the office (especially in summer, because I had an old car without air conditioner). Moreover I did many different things (full-stack development, system administration, DBA, helpdesk) without a well-defined task list, and I thought that was bad. Everybody on the Internet seems happy to work remotely, and being an introvert I thought I would have no problem.
However I ignored 2 things when I left:
1. I was doing something that was important to me (my software helped scientists);
2. everybody loved me.
So, I started my new remote job as a back-end developer, for a company following the Scrum methodology.
My days became very monotonous: wake up, write some code, move a ticket on the Jira board, clean the house, go to bed. All in pajamas. Repeat.
I had very few interactions with my colleagues, mostly on Slack or audio-only calls. I never seen most of them. I didn't feel engaged in what I was working on. I did it just for the money.
After some months I started feeling very depressed and I realized that I left a job suited for me for a random job, just because it was a remote position.
So, one day I called my old boss: «Hey, would you like to have me back?»
I asked for a loan to buy a new car, then I send my resignation letter.
When I started again my first day I felt really touched, because basically everybody said to me: «Hey, welcome back! I'm happy you are here again.»
The guy that did some changes to my code also said: «It has been a pleasure to maintain your code. I learned a lot.»
😲 I didn't expect that.
Please, don't follow the myth that working remotely is all we need.11
I've just received a LinkedIn message from a recruiter:
[the remaining part of the message is written in Italian]»
What's wrong with you, HR people?7
I had just started learning the MERN stack and they deprecated it yesterday. Perfect timing, as usual.16
I've just had an embarrassing moment: discussing in chat with some colleagues I wrote Openshit instead of Openshift.2
We have a huge codebase, built during the last 10 years, with a lot of problems caused by legacy dependencies. We are trying to modernize this gradually but it is very challenging because we have a lot of features to maintain and test coverage is low.
Today, a guy hired three days ago just proposed to rebuilt everything from scratch stating that he did the same thing in his personal project, so it wouldn't take too much to develop what we need.
Manager gently invited him having a quick call. I would pay to listen that conversation.8
Requirement: "Build teleport using a teapot and some tape"
Yesterday I spent most of my working day staring at the screen thinking about it, without being able to write a proposed implementation document. I felt the most useless person in the universe.
Me, today at daily stand-up meeting: «Honestly I have no idea on how to proceed, please assign me a different task.»
Manager: «Well, just think about it a bit more»
I woke up and discovered that one of my cats vomited over my keyboard during the night. «Meow, good Sunday human!». FML.
Yes, I cleaned it before typing this.8
When you are searching a solution for your problem so desperately that Google sends you to the Russian version of Stackoverflow.com (and you don't speak Russian).14
I've just opened LinkedIn (I don't know why) and I found an hilarious job offered in the home page: they are searching a JUNIOR programmer (for an internship) having experience in RPG IV programming language and OS/400. I never heard of that so I googled it and... LMAO.5
Amateur astronomy, even if I'm no longer doing astrophotography. This is an old photo, I made this in 2010 (it's the Andromeda galaxy, an easy subject).12
Every time some assholes decide to mix part of the business logic inside the presentation layer.
// Let's query the db here...
/* Hey, I'm a JSP! Why not defining some custom logic here, so nobody will able to debug it? */
Expectation: Today is the last day before holidays and yesterday I completed a complex task, so today I'll have a very relaxing day involving implementing only some simple changes.
Reality: I've just solved a dependency conflict between the project I modified yesterday and another project depending on it that caused the failure of some tests inside the latter panicking my coworkers who quickly asked me "WTF you merged in the core project!?!?"
Yeah, I really need these holidays.1
Trying to login...
"Sorry your password is expired. You have to change the password every 60 days".
«Oooh, c'mon...» Inserting a new password...
"The password must contain at least 1 lowercase letter, 1 uppercase letter, 2 numbers and 1 non-alphanumeric character.
«Please, fuck off and die...» Typing again and eventually entering to private area...
My phone vibrate, there is a new SMS: "Your new password is H0lySh1t!"
WTF. Are you serious?14
An application based on a single MySQL stored procedure that contained all the application business logic inside of it (plus a poor webapp that simply called it). The stored procedure had 97 (yes, NINETY SEVEN) parameters... and about half of them were boolean flag used for enabling/disabling another parameter. I think that Uncle Bob could follow you holding an AK-47 if he saw that. The saddest part is that the shit was written by a guy having a PhD in computer science, and he knew that was bad, but the boss asked him to do it in that way. The guy left the company before I joined it and I had to maintain that crap. Guys, the first time I saw it I thought that should be a joke. Code generated by decompilers was easier to read, maybe even Brainfuck. I tried complaining with the boss but she said that the system was wonderful and very efficient. This was one of the reasons I moved to another company after some months.3
For people like me, always committing on the wrong branch, this is fucking awesome:
Recruiter of the day: "Hi [...] I think you will be very interested in <random startup name>. You will work on Digital Projects."
Oh, really?!? I thought I would wrote code on paper!3
I've just googled "git how undo amend".
I can't believe I was able to put a mistake over a mistake.2
Achievement of the day: breaking GitHub doing a forced push.
(Apparently I was able to create a kind of ghost commit that randomly appeared and disappeared from a pull request, plus other random errors 🤪)3
This week I started a new job.
My role changed from "Full-stack-web-developer-sysadmin-DBA-helpdesk-strange-person-fixing-stuff-around" to "Back-end Developer".
Moreover, it's a full remote position (so difficult to find in Italy!), so:
1. I can wake up 1.5 hours later;
2. I don't have to waste anymore 2 hours every fucking day driving in traffic to reach the workplace;
3. I can use my fucking bathroom;
4. I can drink hot tea in August without being criticized. 😀
I'm fucking happy!13
I've been very busy in the last weeks so I haven't read a lot about the recent "Linux CoC drama".
Now I'm reading what happened and, well... I'm disgusted.
Especially being a woman, I'm disgusted knowing that a group of people pretend to speak for me saying that we don't need meritocracy, but only more "inclusivity" (whatever that means). I don't give a fuck of your gender, write useful code and I'll appreciate you. And please, give me back the original Linus Torvalds: his irreverence made me laugh.
Sure, sometimes discrimination exists, however good companies will hire you if you are competent, no matter how you look. Instead, I encountered some incompetent women whining about "nobody listen to my ideas because I'm a woman". No, RTFM and maybe you will able to propose better ideas and people will listen to you.28