Details
-
AboutDeveloper in development
-
SkillsVS Code, JS (ES6), NodeJS, Express, React, React Native, Vue, MongoDB, PostgreSQL, Java, Spring, Eclipse IDE, Intellij IDEA
-
LocationSão Paulo, SP
-
Github
Joined devRant on 3/11/2019
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
-
New password cannot be one of your four previous passwords.
Password must conatin upper and lower case characters, at least two numbers and two special characters
Password cannot contain five or more consecutive letters of username.
Password cannot include any _illegal patterns_.
Locked out of your system? Drive over to HQ and ask the admins to reset your password in person.6 -
This is the best example of google giving a fuck about their own guidelines.
They always ram their expectations of you making your apps fit the guidelines a 100% into you, but then they give a fuck about heir guidelines in their own software.
They use a ListView here in google contacts. It's completely outdated for a large amount of data, such as my 200 contacts. They literally push you not to use outdated techniques such as ListViews in your app. Use RecyclerViews, our completely new solution instead. ListViews are very very bad in performance.
I KNOW THIS SOUNDS PICKY, BUT THIS IS JUST AN EXAMPLE!!! THEY DON'T CARE ABOUT THEIR OWN GUIDELINES IN EVRY WAY! BEST OTHER EXAMPLE IS GOOGLE PLAY STORE. BAD PERFORMANCE 100%. BUT AT LEAST IT HAS RUCKLING ANIMATIONS.4 -
Hello World!
I'm a bot made by @xzvf.
My goal is to find all active users on devRant and
collect analytics based on it.
By analytics I just mean things like:
- Total number of users.
- Number of users with x ++ or more
- Number of rants posted in a certain timeframe
- Number of users active in the last day/month/year
THIS BOT WILL NOT TRACK INDIVIDUAL USERS!
Also, it will not ++/-- anything automaticly as that is definitely against the rules.
-@xzvf26 -
!rant
Best day of my life ❤️.
Arrow functions will be added to PHP 7.4:
https://twitter.com/nikita_ppv/...22 -
Picked this up the other day. Hope it's as good as people have been telling me.
If so, then here begins a new journey for me to better code.11 -
So pm2 (a node process manager package on npm) just caused thousands of CI builds to fail because of an "optionalDependency" on a package called gkt which is requested as a tarball from a server that was returning 503. That package consists of one file which contains this16
-
Overheard from the room next to mine:
Person 1: My computer is frozen ..
Person 2 (Not a native English speaker): Did you try to shut down and shut up ?14 -
Company wide ban on headphones at desks, because how can people be working if they're listening to music? Never felt so miserable in my life.
Fuck fuckitty fuck, with a side order of bollocks. May the senior management of this tight arsed tin pot cowboy outfit of a company all sleep soundly at their desks until Doomsday while the rest of us keep them in business. See, I'm not bitter...27 -
"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 -
My friend (not in CS) said his computer was a bit slow.
I told him I'd fix that for 10, he agreed.
I increased the cursor speed.
He bought it.16 -
Sales employee Bob wants a clickable blue button.
Bob tells product owner Karen about his unstoppable desire for clickable blue buttons.
Karen assigns points for potential and impact (how much does a blue button improve Bob's life, how many people like Bob desire blue buttons)
Karen asks the button team how hard it is to build a button. The button team compares the request to a reference button they've built before, and gives an ease score, with higher score being easier (inverse of scrum points).
These three scores are combined to give a priority score. The global buttonbacklog is sorted by priority.
Once every two weeks (a "sprint") the button team convenes, uses the ease scores to assign scrum points. Difficult tasks are broken up into smaller tasks, because there is a scrum point upper limit. They use the average of the last 5 sprints to calculate each developer's "velocity".
The sprint is filled with tasks, from the top of the global button backlog, up to the team's capacity as determined by velocity. Approximate due dates are assigned, Bob is a happy Bob.
What if boss Peter runs into the office screaming "OUR IMPORTANT CLIENT WANTS A FUCKING PINK BUTTON WHICH MAKES HEARTS APPEAR"?
Devs tell boss to shut the fuck up and talk to Karen. Karen has a carefully curated list of button building tasks sorted by priority, can sedate boss with valium so he calms the fuck down until he can make a case for the impact and potential of his pink button.
Karen might agree that Peter's pink button gets a higher priority than Bob's blue button.
But devs are nocturnal creatures, easily disturbed when approached by humans, their natural rhythms thrown out of balance.
So the sprint is "locked", and Peter's pink button appears at the top of the global backlog, from where it flows into the next sprint.
On rare occasions a sprint is broken open, for example when Karen realizes that all of the end users will commit suicide if they don't have a pink heart-spawning button.
In such an event, Peter must make Bob happy (because Bob is crying that his blue button is delayed). And Peter must make the button team of devs happy.
This usually leads to a ritual involving chocolate or even hardware gift certificates to restore balance to the dev ecosystem.23 -
Customer support story time: (swearing in Dutch because it sounds more fun but it's general swearing so no translation needed I think (will translate the non obvious parts)
Me: good morning, how can I help you?
Client: hello, I have a question for you.
Me: go ahead!
Client: alright so.... one sec, let me turn off my music.
Client: hey Google
.
.
.
Client: hey Google
.
Client: Heeeey Gooooooogle
.
Client: HEY GOOGLE, GODVERREDOMME
.
Me: 😆
.
Client: REAGEER GODVERDOMME. "HEY GOOOOGLE"
.
.
Client: VIES VUIL TYFUS DING, LUISTEREN. HEEEEEY GOOOOOOGLE
.
.
Client: JA GODVERREROMME, LUISTER GEWOON, FUCKING KUT DING. *SHOUTS WITH ANGRY VOICE* "HEY GOOGLE HALLOOOO LUISTEEEEEREEEEEN" (oh for fucks sake, LISTEN fucking piece of shit)
Me: *desperately trying to keep it together*
Client: IK DOE HET ZELF WEL JEZUS GODDOMME *FOOTSTEPS, MUSIC STOPS* (Translation: I'll do it myself, fucking hell)
.
.
.
Client: finally, sorry for that 😅
Me: *still trying to control myself* no problem!15