Details
-
Skillsjava, javascript, elixir
Joined devRant on 1/27/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
-
I can't breathe good air anymore. Water is being wasted. Fossil fuels are being wasted. Unnecessarily high number of vehicles on roads and most them have fucking one person sitting in them. They take out a fucking vehicle for fucking 200m. People throw trash everywhere without any regard for cleanliness. Prices are going up. Inefficient shit pieces exist in the market and people buy that shit. The world is going to hell. I hope I die soon enough to not know that is has.26
-
Well that's a first.
A Chinese recruiter contacted me speaking entirely in what I suspect was Mandarin.
My resume and posted work experience lacks any mention of Mandarin, Cantonese, etc. Then again it also lacks any mention of Java, and yet recruiters still call me a Java master. 🤔19 -
The riskiest dev choice...
How about "The riskiest thing you've done as a dev"? I have a great entry for that. and I suppose it was my choice to build the feature afterall.
I was working on an instance of a small MMO at a game company I worked for. The MMO boasted multiple servers, each of them a vastly different take on the base game. We could use, extend, or outright replace anything we wanted to, leading to everything from Zelda to pokemon to an RP haven to a top-down futuristic counterstrike. The server in this particular instance was a fantasy RPG, and I was building it a new leveling and experience system with most of the trimmings. (Talents, feats/perks, etc. were in a future update.)
A bit of background, first: the game's dev setup did not have the now-standard dev/staging/prod servers; everything ran on prod, devs worked on prod, players connected and played on prod, etc. Worse yet, there was no backup system implemented -- or not really. The CTO was really the only person with sufficient access. The techy CEO did as well, but he rarely dealt with anything technical except server hardware, occasionally. And usually just to troll/punish us devs (as in "Oops ! I pulled the cat5 ! ;)"). Neither of them were the most reliable of people, either. The CTO would occasionally remote in and make backups of each server -- we assumed whenever he happened to think of it -- and would also occasionally do it when asked, but it could take him a week, sometimes even up to a month to get around to it. So the backups were only really useful for retreiving lost code and assets, not so much for player data.
The lack of reliable backups and the lack of proper testing grounds (among the plethora of other issues at the company) made for an absolutely terrible dev setup, but that's just how it was, and that's what we dealt with. We were game devs, afterall. Terrible or not, we got to make games! What more could you ask for!? It was amazing and terrible and wonderful and the worst thing ever, all at the same time. (and no, I'm not sharing the company name, but it isn't EA or Nexon, surprisingly 😅)
Anyway, back to the story! My new leveling system also needed to migrate players' existing data, so... you can see where this is going.
I did as much testing and inspection of my code as I could, copied it from a personal dev script to the server's xp system, ... and debated if I really wanted to click [Apply]. Every time I considered it, I went back to check another part or do yet more testing. I ended up taking like 40 minutes to finally click it.
And when I did... that was the scariest button press of my life. And the scariest three seconds' wait afterwards. That one click could have ruined every single player's account, permanently lost us players ...
After applying it, I immediately checked my character to see if she was broken, checked the account data for corruption or botched flags, checked for broken interactions with the other systems....
Everything ended up working out perfectly, and the players loved all of the new features. They had no idea what went into building them, and certainly had no idea of what went into applying them, or what could have gone wrong -- which is probably a good thing.
Looking back, that entire environment was so fragile, it's a wonder things didn't go horribly wrong all the time. Really, they almost never did. Apocalypses did happen, but were exceedingly rare, and were ususally fixed quickly. I guess we were all super careful simply because everything was so fragile? or the decent devs were, at least. We never trusted the lessers with access 😅 at least on the main servers where it mattered. Some of the smaller servers... well, we never really cared about those.
But I'm honestly more surprised to realize I've never had nightmares of that button click. It was certainly terrifying enough.
But yay! Complete system overhaul and migration of stored and realtime player data! on prod! With no issues! And lots of happy players! Woooooo!
Thinking back on it makes me happy 😊rant deploying straight to prod prod prod prod dev server? dev on prod you chicken migration on prod wk149 git? who's a git? you're a git! scariest deploy ever game development1 -
It's about a guy that knows better.
I was working as a subcontractor on a bigger system. We (subs) were not allowed to deploy code, we had to wait for contractor to deploy.
One day I got an email that my code is bugged and that my feature is not working on production. I checked it on test env, everything was fine. Then I checked if the code I wrote was deployed. It was not.
I send an email explaining that if they deployed my code it would be working. Then I got a response. There was a bug in my code.
Another email. I asked how would they know? Do they have a test on their environment that failed?
No. There is one guy that READ my code and he said it should not work, so he will not deploy it. He was not a programmer, he was a business consultant responsible for the documentation.
His issue was that I used a function that was not in a class. So if the function is not declared it's obvious it will not work. I had to explain to him in another email, that you can use object of another class inside your class and then call a function, that is not in your class. It was the last time this guy blocked my deploy.
TL;DR, I had to explain a non-dev how object composition works in order to have my code deployed. Took four emails.4 -
Thank you for fucking me
Thank you for sucking me
Thank you for lying to me
Thank you for showing your true self
Thank you for teaching me what type of people to avoid
Thank you for sharpening my focus
Thank you for making me suffer
Thank you for improving my grind
Thank you for being a bitch
Thank you for being a whore
For now i have taken heavy damage and a heavy loss of time
For i shall take it as a reminder
A lesson to never forget
Short term gain
Damages
Long term fulfillment
And vice versa
Yin yang
The perfect balance
You will not be missed
I am done dealing with this fuckin bullshit
Goodbye13 -
So I've been screaming for months that push notifications are not reliable enough to build critical functionality on top of. Management won't listen and keep pushing ahead with making teams use it because its cheap and easy.
Been debugging an issue on/off for several weeks. Turns out someone in management asked the backend team to cut the expiration time of items down to 5 minutes to increase throughput (without telling mobile). Notifications are regularly taking +4 mins to get to the phones, leaving our users with barely any time to react. They are now complaining.
I swear if there is a single IQ point available between the whole team i've yet to see any evidence of it8 -
Big client, sells products in 30+ countries.
Tries to generate newsletter subscribers, so asks for a system to send a coupon upon subscription.
2 days later, client calls in panic. “We have too many subscribers, our marketeers say it’s a bot issue, can you do something?”.
Checked the data, checked analytics, turns out there’s a lot of referral traffic from freebie-sites, no sign from a bot issue.
Called the client back, “sorry, but there’s nothing you can do about that, you wanted your newsletter to become popular. Not you’re the victim of your own success”.
Client: “can we add captcha?”
Me: “why would you want to do that? You don’t even have a bot issue”
Client: “to make it harder for people to subscribe”
I tried to talk som sense in their heads, but after 3 times I gave up and implemented the damn captcha. It’s still there, doing nothing but annoying thousands of people, including me...7 -
I was impressed with my latest job interview in the government (got the job).
Applied online, and they extended the application deadline because the lack of quality of applications.
I got invited for an interview. Present there were HR manager, Department manager and an employee from the regional office (opening a new dev department in the region).
Most of the interview consisted of them telling me about the company, and asking a bit about me. Nothing technical.
1.5 month later I got a 2nd interview. Present were two developers from the main office in Oslo. Again, very little questions about my technical capabilities. Mostly just repeating the stuff said in the first interview. Though I did have to send some code in for review by them.
A month later I get a phone call from the department head saying they’d like to offer me a job, but they don’t have a concrete job offer yet, as it has to be approved by a committee (gov stuff). That takes two weeks, and I finally got job offer. 42% pay rise from the current job in the private sector.
I later went and re-read the ad for the job. “Bachelor/ master required. For particularly qualified applicants, this requirement can be ignored.”
Fascinating that they didn’t give me more tests.2 -
I like the people I work with although they are very shit, I get paid a lot and I mostly enjoy the company but..
Our scrum implementation is incredibly fucked so much so that it is not even close to scrum but our scrum master doesn't know scrum and no one else cares so we do everything fucked.
Our prs are roughly 60 file hangers at a time, we only complete 50% of our work each sprint because the stories are so fucked up, we have no testers at all, team lead insists on creating sql table designs but doesn't understand normalisation so our tables often hold 3 or 4 sets of data types just jammed in.
Our software sits broken for months on end until someone notices (pre release), our architecture is garbage or practically non existent. Our front end apps that only I know the technology have approaches dictated by team lead that has no clue of the language or framework.
Our front end app is now about 50% tech debt because project management is so ineffectual and approaches are constantly changing. For instance we used to use view models for domain transfer objects... Now we use database entities, so there is no commonality between models but the system used to have shared features relying on that..sour roles and permissions are fucked since a role is a page regardless of the pages functionality so there is no ability to toggle features, but even though I know the design is fucked I still had to implement after hours of trying to convince team lead of it. Fast forward a few months and it's a huge cluster fuck to enforce.
We have no automated testing of any sort or manual testing in place.
I know of a few security vulnerabilities I can nuke our databases with but it got ignored.
Pr reviews are obviously a nightmare since they're so big.
I just tried to talk to scrum master again about story creation since any story involving front end ui as an aspect of it is crammed in under one pointed story as sub tasks, essentially throwing away any ability to calculate velocity. Been here a year now and the scrum master doesn't know what I mean by velocity... Her entire job is scrum master.
So anyway I am thinking about leaving because I like being a developer and it is slowly making me give up on doing things to a high standard and I have no chance of improving things, but at the same time the pay is great and I like the people. -
Why do people think that putting in more hours = more productivity and sitting extra makes you a more hard working employee?
Today out producer guy indirectly tried to tell me to 'be more productive' and to show 'some dedication'; I asked him outright that is he implying that staying beyond office hours is how I'm suppose to do it and the asshole replies how else would you? (in a non aggressive way)
Fuck this attitude. 😐2 -
Today at 'Derp & Co' a fellow co-worker decided that had duplicated data on Relational DB is good!
- Dev: 'but what if we have 2 companies in diferents groups?''
- co-worker: 'Just call it company A and Company B'
- Dev: 'but... this is not what...'
- co-worker: 'Trust me Dev, is the easy way'
I want the professional way, not the easy (and damn wrong) way :(, I can't improve myself like this.
Also, dead line is here too... TT^TT
Last sprint and still with doubts about the DB structure.12 -
Since a very christian colleague joined my team, i learned how important cursing is in order to do this job. I honestly can’t do my work without the occasional diarrhea of foul words.9
-
I'm about to take full responsibility for front-end solutions plus doing UI/UX design, and I've pretty much completed the official React and Redux tutorials.
In my defense I only said I was interested in UX but I have a creeping suspicion they think I'm a UX God.
I also used AngularJS for years and I feel that React speaks to me in a completely different way. It's exactly how I want to do things. Big fan of functional programming as well... So I think I'll thrive with React/Redux and friends if I can get some hours in before things kick off. It's just enough pressure for me to put in the work without feeling overwhelmed... for now.
It's thrilling though. I'm somewhere between excited that I'll get to show off my skills and scared that I'll be exposed as a fraud. I have a mild case of impostor syndrome though, so I think it'll work out in the end.2 -
I'm going to quit tomorrow.
I've been thinking about this for a while now, took every aspects into consideration but this job is still a waste of time thanks to some fuckwits in important positions.
Now I feel happy, relieved and calm even though they don't have my resignation letter yet.8 -
Awesome day.
Linux-Days were awesome, I got my first stickers for my laptop and I just got a letter from the company, I had an interview at, a week ago.
It say, I got the apprenticeship as a sysadmin.
This is so fucking awesome.8 -
I'm finishing up the most depressing client engagement ever. Ultimately it all traces back to their worthless Expert Beginner EA who thinks he's a genius but can't write code. I don't mean that he's not great at it. It's some of the worst I've ever seen by a person in his position.
In the time I have left here I could do so much to help them clean this stuff up so that future developers could ramp up more easily and there wouldn't be tons of duplicate code.
But I've just given up. You can't help someone who thinks their code is perfect. I don't even bother suggesting stuff any more (like don't have two methods in a class - a "real" one and one for unit testing) because he gets mad or just says that's his "pattern."
If I have a useful improvement, first he'll want me to put all new code in some new library, which is fine as an end result but you don't start with putting single-use code in a library separate from where you're using it. You work with it for a while to see what's useful, what's not, and make changes. But, you see, he just loves making more libraries and calling them "frameworks."
He tells me what he wants me to name classes, and they have nothing to do with what the classes do. When you haven't done any development yet you don't even know what classes you're going to create. You start with something but you refactor and rename. It takes a special breed of stupid to think that you start with a name.
I've even caught the dude taking classes I've committed and copying and pasting them into their own library - a library with one class.
The last time we had to figure out how to do something new I told everyone up front: Don't waste time trying to figure out how you want to solve the problem. Just ask the EA what he wants you to do. Because whatever you come up with, he's going to reject it and come up with something stupid that revolves around adding stuff to his genius framework. And whatever he says you're going to do. So just skip to that.
So that's the environment. We don't write software to meet requirements. We write it to add to the framework so that the EA can turn around and say how useful the framework is.
Except it's not. The overhead for new developers to learn how to navigate his copy-pasted code, tons of inheritance, dead methods, meaningless names, and useless wrappers around existing libraries is massive. Whatever you need to do you could do in a few hours without his framework. Or you can spend literally a month modifying his framework to do the same thing. And half the time his code collapses so that dozens of applications built on his framework go down at once.
I get frameworks. They can be useful, but only if they serve your needs, not the other way around.
I've spent months disciplining myself not to solve problems and not to use my skills.
Good luck to those of you who actually work there. I am deeply sad for the visa worker I'm handing this off to. He's a nice guy and smart. If he was stupid then he wouldn't mind dragging this anchor behind him like an ox pulling a plow. Knowing the difference just makes it harder. -
I started my internship at the end of the year..
Fuck my ass!!! This code I have to work with is a huge pile of shit.
The code base I need to work with is around 40k LOC. It is a mixture of C++, C, Java, Python, Bash and I think I saw some lonely js files around.
A list of awesome parts:
- Paths are hard coded.
- Redundant code everywhere
- No documentation or inline comments available
Most of the comments in the code are just old code that is not used anymore. But the cherry on the turd is the class that should provide all kind of useful functions in my daily routine. About ninety percent of the functions have the same description or nothing. Sometimes a function name says "readSomethingFromSomewhere" but instead it writes something to a file. It is really confusing and I need to check everything twice instead of rely on what the function name promises.
I have also learned why copy paste isn't that good. The brief descriptions of every method in a files are always the same.
getName() - Description: Fork child process
getIp() - Description: Fork child process
getIpv6() - Description: Fork child process.
Surprise: None of these functions forks a child process. :D
Another awesome feature is the thing that they store up to five different versions of libraries. Everyone with slight modifications but no hint which one you need to use. Sometimes it is the newest, sometimes the oldest which is running in production. Another case of try and error.
Oh and my dev machine is a potato with a power supply and a fan. I started with NetBeans and every time I compiled the code it sounds like the machine wants to lift off and leave for a better place. (At this point I switched to Emacs and everything runs smoothly now)
At first I thought that I'm just not that good at coding and understanding a big project from scratch but some colleagues have the same problem. The whole system is very inflexible and it is all about "std::cout"-debugging to check if your changes do what you want them to do.
Currently I'm just trying to fix this mess to make the life for the next student or employee easier. The first month was just frustrating as hell. I need to ask so many questions and most of the time the answer was "I don't know, haven't touched this code in years". Needless to say that my progress isn't that awesome but at least I get a nice payment for 20 hours of work a week.2 -
Fucking corporate bullshit. My laptop, when plugged in, has no need for power saving settings. I leave it plugged in with the screen locked, when I'm not at the office. But if I ever change any power settings, the corporate rootkit changes them back to unreasonable settings about once an hour. So I put this on a 300 second while loop.
https://pastebin.com/ALET2wSa2 -
Conversation today...
Guy: "Hey I need a real quick script to pull some values out of an XML document...is that possible?"
Me: "Uh...yeah that's pretty simple if that's all it has to do."
Guy: "Ok excellent I'll send you some files and documentation."
Me: "Ok so is this like a one time use thing or do you need to parse multiple of these?"
Guy: "Actually it needs to run all the time, on this specific PC, watch directories for any files that are added, then generate a XLSX files of the values, and also log information to a database. Etc"
Me: "Oh that adds quite a bit of complexity from what you originally said. It's going to take more time."
Guy: "But you said it was easy."
Well fuck you...12 -
*makes course outline*
Management: Um yeah make the outline similar to this course from earlier
Me: Hmm, so Yocto etc.. well that'll require a good amount of research because I've got no idea what Yocto is or how I'm supposed to use it.
*researches about Yocto, prepares build VM and Raspberry Pi target, thinks of how on Earth I'd make my coworker without Raspberry Pi interface with it from across the world*
2 days later..
Management: Yeah actually we don't want Yocto. Just do simple stuff like application development, GPIO etc.
Me & co-worker: Awesome mate! That'll make things a lot easier. Except for the 2 days of lost work, but we can live with that if it's just GPIO and such.
3 days later..
Management: guys your course outline sucks. Do it all over again, we want Yocto to be in it after all.
YOU MOTHERFUCKERS!!! Why don't you behave a little bit less like a fucking client that doesn't know what they want for once?!!18 -
CEO: Ok guys, we need x feature by Friday
Me: This would normally take more than a month!
CEO: But I already told our customers we'll have this feature
Me: ...
Why the fuck does the management never consult me for timelines.11 -
Why are job postings so bad?
Like, really. Why?
Here's four I found today, plus an interview with a trainwreck from last week.
(And these aren't even the worst I've found lately!)
------
Ridiculous job posting #1:
* 5 years React and React Native experience -- the initial release of React Native was in May 2013, apparently. ~5.7 years ago.
* Masters degree in computer science.
* Write clean, maintainable code with tests.
* Be social and outgoing.
So: you must have either worked at Facebook or adopted and committed to both React and React Native basically immediately after release. You must also be in academia (with a masters!), and write clean and maintainable code, which... basically doesn't happen in academia. And on top of (and really: despite) all of this, you must also be a social butterfly! Good luck ~
------
Ridiculous job posting #2:
* "We use Ruby on Rails"
* A few sentences later... "we love functional programming and write only functional code!"
Cue Inigo Montoya.
------
Ridiculous job posting #3:
* 100% remote! Work from anywhere, any time zone!
* and following that: You must have at least 4 work hours overlap with your coworkers per day.
* two company-wide meetups per quarter! In fancy places like Peru and Tibet! ... TWO PER QUARTER!?
Let me paraphrase: "We like the entire team being remote, together."
------
Ridiculous job posting #4:
* Actual title: "Developer (noun): Superhero poised to change the world (apply within)"
* Actual excerpt: "We know that headhunters are already beating down your door. All we want is the opportunity to earn our right to keep you every single day."
* Actual excerpt: "But alas. A dark and evil power is upon us. And this… ...is where you enter the story. You will be the Superman who is called upon to hammer the villains back into the abyss from whence they came."
I already applied to this company some time before (...surprisingly...) and found that the founder/boss is both an ex cowboy dev and... more than a bit of a loon. If that last part isn't obvious already? Sheesh. He should go write bad fantasy metal lyrics instead.
------
Ridiculous interview:
* Service offered for free to customers
* PHP fanboy angrily asking only PHP questions despite the stack (Node+Vue) not even freaking including PHP! To be fair, he didn't know anything but PHP... so why (and how) is he working there?
* Actual admission: No testing suite, CI, or QA in place
* Actual admission: Testing sometimes happens in production due to tight deadlines
* Actual admission: Company serves ads and sells personally-identifiable customer information (with affiliate royalties!) to cover expenses
* Actual admission: Not looking for other monetization strategies; simply trying to scale their current break-even approach.
------
I find more of these every time I look. It's insane.
Why can't people be sane and at least semi-intelligent?18