Details
-
AboutFull stack Web Developer, with a bit of knowledge about devops, CI/CD and automated tests. Trying not to go crazy with project changes after client's approval.
-
Skillspython, javascript, java, groovy
-
LocationSP, Brazil
Joined devRant on 2/21/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
-
PR comment: You don't need this useCallback and this useMemo, it's premature optimization, this component will not have a lot of rerenders anyway.
*remove it and merge it*
Few weeks later...
Slack message: why the app is so slow???
*opens a PR putting back all "premature" optimizations*
PR comment: Hum... I don't think that's it, but let's try it.
*merge it*
*slowness is gone*
Slack message: wow! How did you figured out so quickly???
Me: I was lucky, I guess ¯\_(ツ)_/¯2 -
"We need to reduce the scope of the project, guys... What if we don't make tests? They're taking some time do write, so..."
Yep. Let's compromise the quality and call it scope reduction. It will make wonders to our roadmap 👍6 -
!rant
Feature idea:
A way to mark your email message as "doesn't need a response" so you can send a simple "ok, thanks" to the email thread without triggering everyone's Automatic Out of Office Response.1 -
Most useless feature:
Once we had to create a Learning Manager System to a small university. One of the (useful) features was a "file system" to people upload, organize and share documents (like a Google Drive prototype). This was the "student portfolio".
However, we had to create a page to act as a "cover" to it, that should allow the student to change the background, add exactly 2 images, and up to 9 "post-its". The image shows the notebook of our client while he was thanking us praising it as the greatest innovation of the decade.
The post-its was kinda nice, but what's the point of those images??
Anyway... On the same meeting of that picture the client asked us to include a "canvas" on that same page, so people could draw whatever they want. The words used was "just like [MS] Paint".
We postponed it, hoping he would forget about it, but on the end of the project he was still asking about it.
I found a lib that did the job and integrated with the project, but I also included a long comment for the next devs saying that I'm sorry they would have to support such thing 😅
The client loved but we never knew anyone that really used that Paint3 -
I informed the CTO that one of the beta features from our Cloud Provider (that we used for free) was released to the public and now we're supposed to pay US$ 0.65 for each 1 million requests.
In our case, this means we would pay ~US$ 6.50 to support a businesses that receives literally millions in Advertising each month.
Then I was hit with "How can we reduce that cost? It's out of our budget!"
Oh, looks like we have a really small budget, so... Let me help them by announcing that I'll leave by the end of the week because I'm moving to another country \o/6 -
In my current company (200+ employees) we have 3 guys who deals with everything related to service desk (format computers, fix network issues, help non-tech people...)
The same team is responsible for the AWS accounts and permissions, Jenkins, self hosted Gitlab... anyway, DevOps stuff.
Thing is: only one of them have enough DevOps background to handle the requests from the engineering team (~15 people). Also, he usually do anything "by hand" clicking trough the AWS interface on each account, never using tools like Infrastructure as Code to help (that's why I started to refer to his role only as Ops, because there's no Dev being done there).
Anyway... I asked my manager why that team is responsible for both jobs, despite the engineering guys having far more experience with those tools. He answered with a shamed smile, as he probably questioned the same to his manager:
- Because they are responsible for everything related to our Infrastructure.
Does it make sense for anyone? Am I missing something here? In what universe this kind of organization is a healthy choice?4 -
Last Friday a coworker asked me what a Singleton is.
He graduated 3 years ago.
I think we have to improve our hiring process.12 -
The situation right now:
Our client: full of legacy desktop solutions that always ran inside a VPN, but wanting to modernize the system and migrate to be hosted in the cloud.
Our first project with them: Frontend built with Angular, backend in a serverless model, all with GraphQL and heavily tested to assure quality. The system is mostly an internal software for management, but the backed may receive data from an App.
The problem: all management users have weak passwords (like "12345", "password", or their first name).
The solution: restrict our system to be accessible only inside the VPN
The new problem: how the mobile app will send data to our backend?
The new solution: Let's duplicate the backend, one public and the other private. The public one will accept only a few GraphQL operations.
------
This could be avoided if the passwords weren't so easily deductible12 -
- Let's make the authentication system so the user can only login in one device at time, because this is more secure.
- You know that this will be a general-public application, right?
- Yeah!
- Sou you want to "punish" users with a logoff on the other device when he tries to login in a new one?
- Yeah!
- But before you said we will use Json Web Token to make the backend stateless.
- Yeah!
- And how will we check if the token is the last one generated?
- We will store the last generated token for this user on a table in our DB.
- So... you are basically describing the old authentication model, with session tokens stored on the backend and communicating them via cookies.
- Yeah, but the token will be sent on the Header, not on cookies
- Okay, so why will we use Json Web Token to do this in the first place?
- Because this is how they're doing now, and this will make the backend stateless.
A moment of silence, please.8 -
As a software house, we have many teams on different projects. One project was due to a Thursday, and the PM asked the team 1 week before if they could work over the weekend since there's a lot of things to do.
On the Friday before, one of the devs showed up a bit later than usual (around 10am), but ok...
After lunch he asked to talk to HR and also the boss. They talked for around 2h, then he started to say "goodbye and good luck" for everyone.
The project was on fire and he just... leave.
On the next 2 months another 4 people leave the company. All from the same team/project (but not with a big surprise like him).
Apparently, the team was constantly complaining to PM and boss about unrealistic deadlines and constant requirements changes, but they didn't did anything about it. Just when more than half this team had left the company they started to rethink this actions to this project and the others on the company.2 -
So... the company I work started a selective process to hire some interns. Since we had a lot of applications and little time, they created a simple test with coding, theory and interpretation questions (9 questions in total) to filter the best candidates then focus on the better ones.
One of the questions (the only one the candidate would actually code) was asking to write a simple FizzBuzz function. The idea was to check the quality of the code and clever/creative ways to solve the problem.
Turns out ONE of the candidates were able to write the function. So now, this question is not being used to evaluate the quality of the code; instead, it's being used to check if the candidate knows how to code at all.
Such disappointment...
-----
PS.:
The idea to put this question on the test was heavily based on the arguments of this video: https://youtube.com/watch/...
:)2 -
Goals to wk200:
- graduate
- at least one vacation in Europe
- get enough ++ on one of my rants to get the Stress Ball2 -
When integrating our system with a 3rd party company to use their billing system, we had a Hangouts chat so we could ask things about their documentation, API, etc...
Me: *explain the problem and how I tried to solve it without success, and proceed to ask 3 things*
*2h of silence*
3rd.p: Good Morning
Me: Good Morning
*another 2h of silence*
Me: ...and?
*1h of silence*
3rd.p: *answer randomly one of the questions*
Me: ok, and the other two questions?
*silence until the next day*
Me: ???
3rd.p: *answer one question and says that the other will never happen*
Me: but... I've just sent a request to your backend and it happened!!!
*2h of silence*
3rd.p: No, you are reading this wrong, we didn't respond that
Me: This is the endpoint i'm calling and the request's payload, send this to your backend.
*silence until the next day*
(and this continues to almost 2 months to complete the integration that should not need more than 1 week)3 -
To not waste time, let's just commit my work and put the message as ".....". Oh, and let's do that dozens of times.
---
One day we had to git bisect his work and found that. Then, obviously, we asked him "what the commit with five dots do?" he said that there was a a lot of them, and i proceeded to explain why it was a bad idea to not write a proper commit message.
He is a good dev, so he understood and started to write what the commit does, instead of five dots.3 -
Once i found a legacy code where the old dev avoided the execution of some lines by wrapping them with a
if (1 == 0) {...}6 -
Today i had my first video conference in English, and i was very nervous and excited at the same time.
I think i were able to communicate my ideas really well, because the other person just asked me 2 times to repeat what i said.
I'm proud of myself (and all the video games, series and tutorials that helped me reach this level of understanding english)1 -
Please, stop being afraid of git rebase.
Please stop merging master branch into feature branch just to fix pull request conflicts.2 -
- They had an error in production
- Almost one year without looking in this codebase
- Last backend dev in the building
- 1h debugging and reading the Stack Trace
- Had a feeling, and changed the place of a single asterisk (groovy's spread operator in the wrong place)
- Now everything is working, our PM is happy, and the client didn't even noticed
- Probably the shortest commit I've ever done
It was a good day :D -
!rant
Today i had my first class of this semester. Meanwhile, there was a small party on campus. I was having math class "listening" a playlist with "Stayin' Alive" and "I Will Survive".
Best soundtrack to my class :D5 -
Our non-tech customer asked for instructions to deploy our system on any Linux OS. We've written the instructions and sent to him.
Today he sent us an email asking what is this 'git clone' on the first command.3 -
Once upon a time we had to integrate our backend with the billing service of another company. They sent us a Swagger API Description, describing the payload they will send to us. Everything was ok, and we implemented it.
We told them our background was ready to run some tests, but they got some error. After some quick debug i asked for the actual payload they just sent to me.
The payload had different field types, different field names and non-nullable keys was explicitly coming as null.
THEY DIDN'T FOLLOW THEIR OWN SPECIFICATIONS! -
I hate when one of my cw starts to flood the chat, especially the #general. It goes like:
CW: hey
CW: anyone have a pendrive
CW: ?
Me: I have one (and tells him where he can find on my desk)
Another CW: I have one too
CW: thanks, I'll get the one from <Another CW>
CW: hahahahahaha
You don't need to write a whole thesis in a single message, but at least you should guarantee that each message have some meaningful information, not just "hey", "?" and "hahaha"
Slack is not MSN.
Who should and when it would be a good time to tell him this is a waste of attention?8 -
TIL how to enable "insults" on the terminal. So every time I type my password wrong it insults me :D5
-
Our company hired a "Human resource consulting" to help with our internal processes and policies. Yesterday they showed us an Excel that we should fill when we travel to attend meetings, events, courses, etc.
This spreadsheet... OH, THIS SPREADSHEET... you should've seen that.
Most of the "labels" of the "fields" were writen with terms that we do not use in our daily basis. The fields were ambiguous. You shout put a number on the Transportation quantity (ex.: 5) but have no space to describe which transport you will use (bus, metro, uber... so... 5 what?). When we asked which name shoud go on the field "superior" (director, pm, scrum master...) the woman from this consulting said "oh, I don't believe you're asking about this" (and since then, she became more rude by the end of the meeting).
We care for quality in our apps, and UI/UX is a big thing in our company. The last thing we want is need to read a f*#1n manual to fill a spreadsheet. Make it intuitive and you will not need an hour and a half to explain how to fill this obsolete form.
It's sad to think that this person was hired to improve our company, but did not bother to understand the company's culture (and values, and terms) first.