Details
-
AboutCybersecurity major working in fintech... It's as bad as it sounds.
-
SkillsRust, Python, C++, C#, JS (sadly), C
Joined devRant on 5/11/2022
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
-
Usually when you ask "I have a problem with service X, who wrote it?".
The answer is "Y wrote it but he left the company XYZ years ago".
In company I currently work the the answer is "Oh yes X wrote it 20 years ago, go ask him"11 -
HP makes shit devices. How the fuck you gonna regress with product design from 7 years ago?
Like whos the fucktard that thinks “how about in order to swap a keyboard, we make the user take EVERYTHING out and then put it into a new upper housing?”
Or my favorite is “instead of screwing a screen panel in, lets use some painfully difficult to access stretch tape?”
Fuck HP’s product design team. If by some off chance any of yall know anyone who’s part of that team, tell them i said they can eat a fat dick and get aids.6 -
Just compleeeetteellyy messed up a technical interview.. stupid theory.. I can apply all that stuff but when I get asked to explain then . Well.. I messed up.
And the coding part, I had the right approach but had one big brainfart in it making the whole thing useless (pseudo code so couldnt test it). I realized just after the interview was finished..
I hate the feeling of failure.
Was a really nice position which is why I applied. Ah well, tonight is whiskey night I guess.8 -
Holly fucking crap
After my review meeting on friday last week this morning was called again by our technical manager, accounts manager and sales manager set e down
TechManager: Ok so after our meeting we deliberated with the rest of the management board
and we decided to add more responsibility to your plate
AcManager: yeah we feel that you can be of assistance to the organization
TechManager: Yeah our technical department is short stuffed and since you also do technical stuff we want you to also be taking charge of the department whilst I'm not in the office...
But we have some areas we are not happy and those areas will need to be improved on
any questions?
Me: No
(thinking: ok this is an opportunity for me to ask for a raise )1 -
So today, again, I discovered the importance of unitests.
I was solving this performance issue, in which we had a few update actions for multiple entities in mongo, but it took FOREVER to complete, even when I unified it into one bulkWrite command.
Since the unified write did improve performance slightly, and we wanted to move on, we decided to let this bug go.
So there I was committing my changes when I got a rejection from the pre-commit hook since I didn't have enough unitests coverage.
Ok, let's start writing some unitests.
Some unitests also needed to test the bulk write. So there I was comparing expected with actual result, and suddenly I got a huge facepalm.
Apparently some rogue for loop iterated all entities again for each entity that needed update. So instead of getting one update per entity, I got N identical update commands per each of the N entities 🤦♂️
Needless to say, fixing this fixed the performance bug entirely.
Thank you unitests and pre-commit hooks!2 -
Interviewer: Welcome, Mr X. Thanks for dropping by. We like to keep our interviews informal. And even though I have all the power here, and you are nothing but a cretin, let’s pretend we are going to have fun here.
Mr X: Sure, man, whatever.
I: Let’s start with the technical stuff, shall we? Do you know what a linked list is?
X: (Tells what it is).
I: Great. Can you tell me where linked lists are used?
X:: Sure. In interview questions.
I: What?
X: The only time linked lists come up is in interview questions.
I:: That’s not true. They have lots of real world applications. Like, like…. (fumbles)
X:: Like to implement memory allocation in operating systems. But you don’t sell operating systems, do you?
I:: Well… moving on. Do you know what the Big O notation is?
X: Sure. It’s another thing used only in interviews.
I: What?! Not true at all. What if you want to sort a billion records a minute, like Google has to?
X: But you are not Google, are you? You are hiring me to work with 5 year old PHP code, and most of the tasks will be hacking HTML/CSS. Why don’t you ask me something I will actually be doing?
I: (Getting a bit frustrated) Fine. How would you do FooBar in version X of PHP?
X: I would, er, Google that.
I: And how do you call library ABC in PHP?
X: Google?
I: (shocked) OMG. You mean you don’t remember all the 97 million PHP functions, and have to actually Google stuff? What if the Internet goes down?
X: Does it? We’re in the 1st world, aren’t we?
I: Tut, tut. Kids these days. Anyway,looking at your resume, we need at least 7 years of ReactJS. You don’t have that.
X: That’s great, because React came out last year.
I: Excuses, excuses. Let’s ask some lateral thinking questions. How would you go about finding how many piano tuners there are in San Francisco?
X: 37.
I: What?!
X: 37. I googled before coming here. Also Googled other puzzle questions. You can fit 7,895,345 balls in a Boeing 747. Manholes covers are round because that is the shape that won’t fall in. You ask the guard what the other guard would say. You then take the fox across the bridge first, and eat the chicken. As for how to move Mount Fuji, you tell it a sad story.
I: Ooooooooookkkkkaaaayyyyyyy. Right, tell me a bit about yourself.
X: Everything is there in the resume.
I: I mean other than that. What sort of a person are you? What are your hobbies?
X: Japanese culture.
I: Interesting. What specifically?
X: Hentai.
I: What’s hentai?
X: It’s an televised art form.
I: Ok. Now, can you give me an example of a time when you were really challenged?
X: Well, just the other day, a few pennies from my pocket fell behind the sofa. Took me an hour to take them out. Boy was it challenging.
I: I meant technical challenge.
X: I once spent 10 hours installing Windows 10 on a Mac.
I: Why did you do that?
X: I had nothing better to do.
I: Why did you decide to apply to us?
X: The voices in my head told me.
I: What?
X: You advertised a job, so I applied.
I: And why do you want to change your job?
X: Money, baby!
I: (shocked)
X: I mean, I am looking for more lateral changes in a fast moving cloud connected social media agile web 2.0 company.
I: Great. That’s the answer we were looking for. What do you feel about constant overtime?
X: I don’t know. What do you feel about overtime pay?
I: What is your biggest weakness?
X: Kryptonite. Also, ice cream.
I: What are your salary expectations?
X: A million dollars a year, three months paid vacation on the beach, stock options, the lot. Failing that, whatever you have.
I: Great. Any questions for me?
X: No.
I: No? You are supposed to ask me a question, to impress me with your knowledge. I’ll ask you one. Where do you see yourself in 5 years?
X: Doing your job, minus the stupid questions.
I: Get out. Don’t call us, we’ll call you.
All Credit to:
http://pythonforengineers.com/the-p...89 -
"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 -
A young guy I work with burst into tears today, I had no idea what happened so I tried to comfort him and ask what was up.
It appears his main client had gone nuts with him because they wanted him to make an internet toolbar (think Ask.com) and he politely informed them toolbars doesn't really exist anymore and it wouldn't work on things like modern browsers or mobile devices.
Being given a polite but honest opinion was obviously something the client wasn't used to and knowing the guy was a young and fairly inexperienced, they started throwing very personal insults and asking him exactly what he knows about things (a lot more than them).
So being the big, bold, handsome senior developer I am, I immediately phoned the client back and told them to either come speak to me face-to-face and apologise to him in person or we'd terminate there contract with immediate effect. They're coming down tomorrow...
So part my rant, part a rant on behalf of a young developer who did nothing wrong and was treated like shit, I think we've all been there.
We'll see how this goes! Who the hell wants a toolbar anyway?!401 -
Manager: What’s taking so long on that PR?? It’s just some small styling adjustments
Dev: No it’s not you added an entire new calendar module that doesn’t work
Manager: Ok but besides that it’s just a small couple of css edits
Dev: You made styling changes in 50 files, half of which break our mobile responsiveness
Manager: Well then STOP talking to me and FIX IT if you’re so smart.
Dev: You also added a series of filters on a table in this same PR that cause th—
Manager: OK SO I GOT A BIT DISTRACTED THE FACT IS IT ALL NEEDS TO GET DONE SO IT DOESN’T MATTER IF IT’S ALL ON ONE PR SPLITTING THINGS UP INTO SMALL UPDATES IS JUST UNNECESSARY BUREAUCRACY AND IF YOU LIKE THAT THEN GO. WORK. FOR. THE GOVERNMENT!!!
Dev: …10 -
Storytime!
Manager: Hey fullstackchris, the maps widget on our app stopped working recently...
Dev: (Skeptical, little did he know) Sigh... probably didn't raise quota or something stupid... Logs on to google cloud console to check it out...
Google Dashboard: Your bill.... $5,197 (!!!!!!) Payment method declined (you think?!)
Dev: 😱 WTF!?!?!! (Calls managers) Uh, we have HUGE problem, charges for $5000+ in our google account, did you guys remove the quota limits or not see any limit reached warnings!?
Managers: Uh, we didn't even know that an API could cost money, besides, we never check that email account!
Dev: 🤦♂️ yeah obviously you get charged, especially when there have literally been millions of requests. Anyway, the bigger question is where or how our key got leaked. Somewhat started hammering one of the google APIs with one of our keys (Proceeds to hunt for usages of said API key in the codebase)
Dev: (sweating 😰) did I expose an API key somewhere? Man, I hope it's not my fault...
Terminal: grep results in, CMS codebase!
Dev: ah, what do we have here, app.config, seems fine.... wait, why did they expose it to a PUBLIC endpoint?!
Long story short:
The previous consulting goons put our Angular CMS JSON config on a publicly accessible endpoint.
WITH A GOOGLE MAPS API KEY.
JUST CHILLING IN PLAINTEXT.
Though I'm relieved it wasn't my fault, my faith in humanity is still somewhat diminished. 🤷♂️
Oh, and it's only Monday. 😎
Cheers!11 -
Consequences Associated with Burnout:
- sleep deprivation ✅
- change in eating habits ✅
- increased illness due to weakened immune system ✅
- difficulty concentrating and poor memory/attention ✅
- lack of productivity ✅
- poor performance ✅
- avoidance of responsibilities ✅
- loss of enjoyment ✅
Have I just been burnt out and living it as my norm for the past 5 years? 🤡3 -
We have a new team member in our team. So I was giving her one to one KT. After KT
She: so are there new changes coming soon?
Me: Yes there will. Now you here I could really use a hand.
She: that's what he said3 -
Unclogging a workflow that stretches > dozen porjects, from building to analysis of build (static / lint check etc.)… Deployment.
It's frustrating.
Touching one thing and everything falls apart.
Thus small changes, fixing the rest of workflow, testing ...
Repeat .
Going now since 1 1/2 weeks. Possibly another or two weeks more.
It is soooooooo boring tedious annoyingly frustrating slowmotion shit
-.- -
My tech lead keeps assigning me incident tickets in the company's worst legacy app because I solved some bug in it a while ago. I'm the only one who gets assigned these.
If this keeps going, I know for sure that I will be regarded as the designated developer for this application. Then I will be truly fucked.5 -
WHO THE FUCK THINKS
THIS SHIT
TS:
```
const a = function(callback: (err:any,data:string) => void):void{
callback(null,'balls');
}
a(function(err:any,data:string){
console.log(err,data)
})
```
IS BETTER THAN THIS
ES6:
```
const a = function(callback){
callback(null,'balls');
}
a(function(err,data){
console.log(err,data)
})
```
kys10 -
Manager: Alright, we've decided we're gonna just going to accept PayPal and also credit card checkout through PayPal in the next two days!
Dev: ...
Manager: We can achieve this timeline, right?
Dev: ...
Manager: Alright, awesome to see your motivation! Let's do it!
Dev: YOU ANSWER PHONE CALLS, TALK TO PEOPLE AND 'STRATEGIZE' ALL DAY. YOU DON'T HAVE TO RELY ON THOUSANDS OF PEOPLE USING THE APP WITHOUT ERROR. THAT'S ON ME, NOT YOU, SO JUST SHUT THE FUCK UP!!!
Manager: ...
Dev: ...rant i love it everyone loves it great startup we are awesome we love it features without error clueless8 -
Trying to get my 'patience for Idiots' threshold back up to 15 minures. Not easy.
The problem is - you need to listen to them talking for 20 minutes before 30 seconds of relevant and actual info comes up.4 -
Me: *Looks at calendar* Oh boy! A meeting free day - I can finally get X done!
Boss (after stand up): Are people up to do refinement and other Agile?
Been stuck in meetings all day (-_-)/
I miss actually doing my job.4 -
Manager: I’m so sick and tired of you devs whining about technical debt and how it’s slowing down our progress, so here’s the deal. You have until the end of this week to eliminate all technical debt in the codebase. After that I NEVER WANT TO HEAR YOU COMPLAIN ABOUT TECHNICAL DEBT EVER AGAIN!!!
Dev: …14 -
Undoubtedly the most common mistake that devs do : Ignoring your personal health, be it mental or physical.
I almost went through a burnout before realising things need to change.
Changed my lifestyle upside down after that
- Switched from wfh to an office job
- I cycle 12kms a day now
- Got a standing desk for myself to be more active
- and have a journal where i literally dump everything off my brain2 -
Recruiter: I just had a look through your skillset and experience and wow - I am impressed. Looks like you have worked with quite a few different languages and those 2 FAANG companies really stand out when looking through your CV. So let me tell you something.. rather than me going through the roles I had in mind for you, why don't you tell me what would be the next big thing for you?
Me: Well I've been looking into Blockchain for a few years now; specifically Solidity and Rust with web3 now. It'd be great to at least have some exposure to any of these.
Recruiter: Ah yes, these are definitely the next big things, however the roles I have here right now for Solidity, Rust or web3, require around 3 years of commercial experience. I have a lead Rust engineer role, however they need someone who has worked on NFT based projects extensively.
Me: Sounds like you have made a decision to send me to another Nodejs/React role, so what's with the big talk then?5 -
I don't describe what I did in my CV for any of my current or past job(s). Any tips to end that bad practice?
I'm looking to switch jobs for a larger pay (around 35% to 81% more)5