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
Search - "it's not on our side"
-
Sit down before you read this.
So I interviewed a guy for a "Support Engineer" internship position.
Me and the team lead sit down and are waiting for him to enter, but apparently he's actually making a coffee in the kitchen.
This isn't exactly a strike since the receptionist told him that he can go get a drink, and we did too. It's just always expected for him to get a glass of water, not waste 3 minutes brewing a coffee.
In any case he comes in, puts the coffee on the table, then his phone, then his wallet, then his keys and then sits on our side of the table.
I ask him to sit in front of us so we can see him. He takes a minute to pack and tranfer himself to the other side of the table. He again places all of the objects on the table.
We begin, team lead tells him about the company. Then I ask him whether he got any questions regarding the job, the team or the company . For the next 15 minutes he bombards us with mostly irrelevant and sometimes inappropriate questions, like:
0: Can I choose my own nickname when getting an email address?
1: Does the entire department get same salaries?
2: Are there yoga classes on Sundays only or every morning?
3: Will I get a car?
4: Does the firm support workspace equality? How many chicks are in the team?
5: I want the newest grey Mac.
And then.. Then the questions turn into demands:
6: I need a high salary (asks for 2.5 more than the job pays. Which is still a lot).
I ask him why would he get that at his first job in the industry (remind you, this is an internship and we are a relatively high paying company).
He says he's getting paid more at his current job.
His CV lists no current job and only indicates that he just finished studying.
He says that he's working at his parent's business...
Next he says that he is very talented and has to be promoted very quickly and that we need to teach him a lot and finance his courses.
At this point me and the team lead were barely holding our laughs.
The team lead asks him about his English (English is not our native language).
He replies "It's good, trust me".
Team lead invites him for an English conversation. Team lead acts like a customer with a broken internet and the guy is there to troubleshoot. (btw that's not job related, just a simple scenario)
TL: "Hello, my name is Andrew, I'm calli..."
Guy: *interrupts* "Yes, yes, hi! Hi! What do you want?"
TL: "Well, if you let me fi..."
Guy: "Ok! Talk!"
TL: "...inish... My internet is not working."
Guy: "Ok, *mimics tuning a V engine or cooking a soup* I fixed! *points at TL* now you say 'yes you fixed'".
Important to note that his English was horrible. Disregarding the accent he just genuinely does not know the language well.
Then he continiues with "See? Good English. Told you no need to check!".
After about half a minute of choking on out silent laughter I ask him how much Python experience he has (job lists a requirement of at least 1 year).
He replies "I'm very good at object oriented functional programming".
I ask again "But what is your experience? Did you ever take any courses? Do you have a git repository to show? Any side.."
*he interrupts again* "I only use Matlab!".
Team lead stands up and proceeds to shake his hand while saying "we will get back to you".
At last the guy says with a stupid smile on his face "You better hire me! Call me back tomorrow." Leaves TL hanging and walks away after packing his stuff into the pockets.
I was so shocked that I wasn't even angry.
We both laughed for the rest of the day though. It was probably the weirdest interview I took part at.35 -
Oh, man, I just realized I haven't ranted one of my best stories on here!
So, here goes!
A few years back the company I work for was contacted by an older client regarding a new project.
The guy was now pitching to build the website for the Parliament of another country (not gonna name it, NDAs and stuff), and was planning on outsourcing the development, as he had no team and he was only aiming on taking care of the client service/project management side of the project.
Out of principle (and also to preserve our mental integrity), we have purposely avoided working with government bodies of any kind, in any country, but he was a friend of our CEO and pleaded until we singed on board.
Now, the project itself was way bigger than we expected, as the wanted more of an internal CRM, centralized document archive, event management, internal planning, multiple interfaced, role based access restricted monster of an administration interface, complete with regular user website, also packed with all kind of features, dashboards and so on.
Long story short, a lot bigger than what we were expecting based on the initial brief.
The development period was hell. New features were coming in on a weekly basis. Already implemented functionality was constantly being changed or redefined. No requests we ever made about clarifications and/or materials or information were ever answered on time.
They also somehow bullied the guy that brought us the project into also including the data migration from the old website into the new one we were building and we somehow ended up having to extract meaningful, formatted, sanitized content parsing static HTML files and connecting them to download-able files (almost every page in the old website had files available to download) we needed to also include in a sane way.
Now, don't think the files were simple URL paths we can trace to a folder/file path, oh no!!! The links were some form of hash combination that had to be exploded and tested against some king of database relationship tables that only had hashed indexes relating to other tables, that also only had hashed indexes relating to some other tables that kept a database of the website pages HTML file naming. So what we had to do is identify the files based on a combination of hashed indexes and re-hashed HTML file names that in the end would give us a filename for a real file that we had to then search for inside a list of over 20 folders not related to one another.
So we did this. Created a script that processed the hell out of over 10000 HTML files, database entries and files and re-indexed and re-named all this shit into a meaningful database of sane data and well organized files.
So, with this we were nearing the finish line for the project, which by now exceeded the estimated time by over to times.
We test everything, retest it all again for good measure, pack everything up for deployment, simulate on a staging environment, give the final client access to the staging version, get them to accept that all requirements are met, finish writing the documentation for the codebase, write detailed deployment procedure, include some automation and testing tools also for good measure, recommend production setup, hardware specs, software versions, server side optimization like caching, load balancing and all that we could think would ever be useful, all with more documentation and instructions.
As the project was built on PHP/MySQL (as requested), we recommended a Linux environment for production. Oh, I forgot to tell you that over the development period they kept asking us to also include steps for Windows procedures along with our regular documentation. Was a bit strange, but we added it in there just so we can finish and close the damn project.
So, we send them all the above and go get drunk as fuck in celebration of getting rid of them once and for all...
Next day: hung over, I get to the office, open my laptop and see on new email. I only had the one new mail, so I open it to see what it's about.
Lo and behold! The fuckers over in the other country that called themselves "IT guys", and were the ones making all the changes and additions to our requirements, were not capable enough to follow step by step instructions in order to deploy the project on their servers!!!
[Continues in the comments]26 -
You know what?
Young cocky React devs can suck my old fuckin LAMP and Objective-C balls.
Got a new freelance job and got brought in to triage a React Native iOS/Android app. Lead dev's first comment to me is: "Bro, have you ever used React Native".
To which I had to reply to save my honor publicly, "No, but I have like 8 years with Objective-C and 3 years with Swift, and 3 years with Node, so I maybe I'll still be able help. Sometimes it just helps to have a fresh set of eyes."
"Well, nobody but me can work on this code."
And that, as it turned out was almost true.
After going back and forth with our PM and this dev I finally get his code base.
"Just run "npm install" he says".
Like no fuckin shit junior... lets see if that will actually work.
Node 14... nope whole project dies.
Node 12 LTS... nope whole project dies.
Install all of react native globally because fuck it, try again... still dies.
Node 10 LTS... project installs but still won't run or build complaining about some conflict with React Native libraries and Cocoa pods.
Go back to my PM... "Um, this project won't work on any version of Node newer than about 5 years old... and even if it did it still won't build, and even if it would build it still runs like shit. And even if we fix all of that Apple might still tell us to fuck off because it's React Native.
Spend like a week in npm and node hell just trying to fucking hand install enough dependencies to unfuck this turds project.
All the while the original dev is still trying TO FIX HIS OWN FUCKING CODE while also being a cocky ass the entire time. Now, I can appreciate a cocky dev... I was horrendously cocky in my younger days and have only gotten marginally better with age. But if you're gonna be cocky, you also have to be good at it. And this guy was not.
Lo, we're not done. OG Dev comes down with "Corona Virus"... I put this in quotes because the dude ends up drawing out his "virus" for over 4 months before finally putting us in touch with "another dev team he sometimes uses".
Next, me and my PM get on a MS Teams call with this Indian house. No problems there, I've worked with the Indians before... but... these are guys are not good. They're talking about how they've already built the iOS build... but then I ask them what they did to sort out the ReactNative/Cocoa Pods conflict and they have no idea what I'm talking about.
Why?
Well, one of these suckers sends a link to some repo and I find out why. When he sends the link it exposes his email...
This Indian dude's emails was our-devs-name@gmail.com...
We'd been played.
Company sued the shit out of the OG dev and the Indian company he was selling off his work to.
I rewrote the app in Swift.
So, lets review... the React dev fucked up his own project so bad even he couldn't fix it... had to get a team of Indians to help who also couldn't fix it... was still a dickhead to me when I couldn't fix it... and in the end it was all so broken we had to just do a rewrite.
None of you get npm. None of you get React. None of you get that doing the web the way Mark Zucherberg does it just makes you a choad locked into that ecosystem. None of you can fix your own damn projects when one of the 6,000 dependency developers pushes breaking changes. None of you ever even bother with "npm audit fix" because if security was a concern you'd be using a server side language for fucking server side programming like a grown up.
So, next time a senior dev with 20 years exp. gets brought in to help triage a project that you yourself fucked up... Remember that the new thing you know and think makes you cool? It's not new and it's not cool. It's just JavaScript on the server so you script kiddies never have to learn anything but JavaScript... which makes you inarguably worse programmers.
And, MF, I was literally writing javascript while you were sucking your mommas titties so just chill... this shit ain't new and I've got a dozen of my own Node daemons running right now... difference is?
Mine are still working.34 -
The programmer and the interns part 3.
Many of you asked me to keep posting about the interns that I'm responsible for.
I had the intention but never had the time or the energy. Since the interns only kept doing stupid, unthinkable things and just filtering out the good ones is a task of its own.
Time has passed, some interns left us by their choice, others were fired (for obvious reasons). Some stayed loyal and were given permanent positions. New ones joined. I no longer am directly responsible for their wellbeing, yet, somehow I am still their tech-lead and the developer of their tools.
Without further delay,
Case 0:
New guy get's into the internship, has his LinkedIn title set to ‘HTML Technician’.
Didn’t know about the existence of HTML5.
Been building static web pages in the early 2000s. The kind with embedded, inline CSS.
Claims that he is about to finish an engineering degree (sadly I believe him).
Fails the entry level Linux test. Complains about the similarity of the answer options.
Fails the basic web-standars test because "they change so fast, but the foundation is HTML and it's rock-solid!".
Get's caught taking home onions and milk from the kitchen.
Is spotted eating in a restaurant under our offices in his day off. Thrice. He lives a 30 minute drive away and comes here on a bicycle or by bus.
Apparently didn't know that the scrolling wheel on the mouse is clickable.
Said that his PC experience is mostly from his PlayStation (PC = PlayCtation apparently).
Get's fired, says that he'll go to the press. Never does.
Case 1:
Yet another new intern. He seems very eager to learn and work, capable, even charismatic. Has an impressive CV.
Does nothing.
Learns from the "case 0" guy and spends time with him until he is fired.
Comes to work at 8:00 AM and immediately goes to sleep on an office puff. In front of everyone.
Keeps dining alone, without a notice, at different times, for hours. Sometimes brings food into the office and loudly eats it there.
On his evening shifts keeps disappearing for long periods of time. Apparently drinking in the nearby bars and hitting on girls.
Keeps bragging about his success with getting their numbers and rants about those who reject him.
For over a year he fails his final training test and remains a trainee, without the ability to work on a real case.
Not fired yet.
Case 2:
Company retreat. Beautiful, exotic views, warm sun beams, all inclusive package for everyone on a huge half-island.
Simon (he's still with us, now as a true engineer!) brings his MacBook to the beach in order to work and impress all others.
Everybody get's drunk and start throwing huge inflatable balls at each other. One hits his laptop and it immediately is flattened.
Upset Simon is going in circles and ranting about the situation, looking for a solution.
Loses his phone on the beach.
Takes his broken laptop with him while searching for the phone.
Dips the laptop in the river while drunkenly ducking in order to pick a clam.
Case 3:
Still company retreat.
Drunk intern makes out with an employee's drunk wife.
Huge verbal fight. The husband says that he files for a divorce. Intern get's fired.
Case 4:
Still company retreat.
Three interns each take an inflatable swimming mattress and drift with the current. Get found on the other side of the resort three hours later, with red skin and severely dehydrated.
Case 5:
Still company retreat.
The 'informally fired' intern gets drunk again, climbs through a window into a room and makes out with an employee's drunk wife.
Again, gets caught when the husband returns to find a locked door but can see them though the window.
Case 6:
Still company retreat.
We all get ferociously drunk and wander off to the unknown in search of more booze.
Everybody does something stupid and somebody finds Simon's phone.
Simon is lost.
Frenzied horde of drunks is roaming the half-island in search of ethanol and the lost comrade.
Simon's phone get's permanently lost.
Five people step on sea urchins but find that out only hours later and then are unable to walk.
The mob, now including more drunk people who joined voluntarily, finds the sexually active intern making out with the enraged employee's wife yet again.
Surprisingly Simon is found sleeping in a room nearby.23 -
I am an indie game developer and I lead a team of 5 trusted individuals. After our latest release, we bought a larger office and decided to expand our team so that we could implement more features in our games and release it in a desirable time period. So I asked everyone to look for individuals that they would like to hire for their respective departments. When the whole list was prepared, I sent out a bunch of job offers for a "training trial period". The idea was that everyone would teach the newbies in their department about how we do stuff and then after a month select those who seem to be the best. Our original team was
-Two coders
-One sound guy(because musician is too mainstream)
-Two artists
I did coding, concept art(and character drawings) and story design, So, I decided to be a "coding mentor"(?).
We planned to recruit
-Two coders
-One sound guy
-One artist (two if we encountered a great artstyle)
When the day finally arrived I decided to hide the fact that I am the founder and decided that there would be a phantom boss so that they wouldn't get stressed or try flattery.
So out of 7, 5 people people came for the "coding trial session". There were 3 guys and 2 girls. My teammate and I started by giving them a brief introduction to the working of our engine and then gave them a few exercises to help them understand it better. Fast forward a few days, and we were teaching them about how we implement multiple languages in our games using Excel. The original text in English is written in the first column and we then send it to translators so that they can easily compare and translate the content side by side such that a column is reserved for each language. We then break it down and convert the whole thing into an engine friendly CSV kind of format. When we concluded, we asked them if they had any questions. So there was this smartass, who could not get over the fact that we were using Excel. The conversation went like this:(almost word to word)
Smartass: "Why would you even use that primitive software? How stupid is that? Why don't you get some skills before teaching us about your shit logic?"
Me:*triggered* "Oh yeah? Well that's how we do stuff here. If you don't like it, you can simply leave."
Smartass: "You don't know who I am, do you? I am friends with the boss of this company. If I wanted I could have all of you fired at whim."
Me:"Oh, is that right?"
Smartass:"Damn right it is. Now that you know who I am, you better treat me with some respect."
Me: "What if I told you that I am not just a coder?"
Smartass:"Considering your lack of skills, I assume that you are also a janitor? What was he thinking? Hiring people like you, he must have been desperate."
Me:"What if I told you that I am the boss?"
Smartass:"Hah! You wish you were."*looks towards my teammate while pointing a thumb at me* "Calling himself the boss, who does he think he is?"
Teammate:*looks away*.
Smartass:*glances back and forth between me and my teammate while looking confused* *realizes* *starts sweating profusely* *looks at me with horror*
Me:"Ha ha ha hah, get out"
Smartass:*stands dumbfounded*
Me:"I said, get out"
Smartass:*gathers his stuff and leaves the room*
Me: "Alright, any questions?"*Smiling angrily*
Newcomers: *shake heads furiously*
Me:"Good"
For the rest of the day nobody tried to bother me. I decided to stop posing as an employee and teaching the newcomers so that I could secretly observe all sessions that took place from now on for events like these. That guy never came back. The good news however, is that the art and music training was going pretty well.
What really intrigues me though is that why do I keep getting caught with these annoying people? It's like I am working in customer support or something.16 -
Omfg this fucking guy!!!!
Context:
We are going through a major refactor of some of our backend components. I was tasked with cleaning up our ML code while another guy was tasked with cleaning up the general CRUD side of the backend, let's call him DA for "dumb ass".
** At 11pm
DA: I am getting a strange error from your backend. Look:
"Invalid call: method=PUT expected=[POST]"
Me: you need to send a post request not a put request
DM: no, it's not that. I am sending the right thing
Me: ... Let me see...
* 15min ish of testing *
No, it works fine on my version, 1.1.0 what's your version?
DM: I'm on 1.1.0.
Me: send me code?
DM: *send
"request.put(..."
Me: you are sending a PUT... It's literally in the screenshot. Send a Post
DM: I am
Me: no, send a Post
DM: I don't understand, I am sending the request
Me: it's a post not a put
DM: but...
Me: it's a post not a put
Me: good night!!!!!!12 -
toxic workplace; leaving
I haven't wanted to write this rant. I haven't even wanted to talk to anyone (save my gf, ofc). I've just been silently fuming.
I wrote a much longer rant going into far too much detail, but none of that is relevant, so I deleted it and wrote this shorter (believe it or not) version instead. And then added in more details because details.
------
On Tuesday, as every Tuesday, I had a conference call with the rest of the company. For various, mostly stupid reasons, the boss yelled at and insulted me for twenty minutes straight in front of everyone, telling me how i'm disorganized, forgetful, how can't manage my time, can't manage myself let alone others, how I don't have my priorities straight, etc. He told the sales team to get off the call, and then proceeded to yell and chew at me for another twenty minutes in front of the frontend contractor about basically the same things. The call was 53 minutes, and he spent 40 minutes of it telling me how terrible I've been. No exaggeration, no spin. The issues? I didn't respond to an email (it got lost in my ever-filling inbox), and I didn't push a very minor update last week (untested and straight to prod, ofc). (Side note: he's yelled at me for ~15 minutes before for being horribly disorganized and unable to keep up on Trello -- because I had a single card in the wrong column. One card, out of 60+ over two boards. Never mind that most have time estimates, project tags, details, linked to cards on his boards, columns for project/qa/released, labels for deferred, released to / rejected from qa, finished, in production, are ordered by priority, .... Yep. I'm totes disorganized.)
Anyway, I spent most of conference call writing "Go fuck yourself," "Choke on a cat and die asshole," "Shit code, low pay, and broken promises. what a prize position," etc. or flipping him off under the camera on our conference-turn-video-call (switched due to connection issues, because ofc video is more stable than audio-only in his mind).
I'm just.
so, so done.
I did nothing the rest of the day on Tuesday, and basically just played games on Wednesday. I did one small ticket -- a cert replacement since that was to expire the next day -- but the rest was just playing CrossCode. (fun game, fyi; totally recommend.)
Today? It's 3:30pm and I can't be bothered to do anything. I have an "urgent" project to finish by Monday, literally "to give [random third party sales guy] a small win". Total actual wording. I was to drop all other tasks (even the expiring cert lol) and give this guy his small win. fucking whatever. But the project deals with decent code -- it's a minor extension to the first project I did for the company (see my much earlier rants), back when I was actually applying myself and learning something (everything) new, enjoying myself, and architecting+writing my own code. So I might actually do the project, but It's been two days and I haven't even opened single file yet.
But yeah. This place is total and complete shit. Dealing with the asshole reminds me of dealing with my parents while growing up, and that's a subject I don't want to broach -- far too many toxic memories.
So, I'm quitting as soon as I find something new.
and with luck, this will be before assface hires my replacement-to-be, and who will hopefully quit as soon as s/he sees the abysmal codebase. With even more luck, the asshole king himself will get to watch his company die due to horrible mismanagement. (though ofc he'll never attribute it to himself. whatever.)
I just never want to see or think about him again.
(nor this fetid landfill of a codebase. bleh.)
With luck, this will be one of my last rants about this toxic waste dump and its king of the pile.
Fourty fucking minutes, what the fuck.33 -
A client called today because their email wasn't arriving at the receipants inbox but bouncing back with a 'poor MTA rating' error.
Checked about every blacklist I know and our server was definitely not blacklisted. Must be the receipants host which for some reason was blacklisting his specific email address.
Told the client that it wasn't a problem on our side and that he had to request a whitelist himself (we'd do it but it wasn't a specific server problem so we're not going to spend time on that).
Fair enough, he'd do that.
Calls back. "Well, the other party says that your server definitely has a poor rating, it's on your side!!"
Alright, this is getting annoying. Gave him a few blacklist checking sites links and told him to run his domain AND our server IP through it. Indeed came back completely clean.
"But the other party said it's poor rating on your side so I'd think tha........"
YEAH WHY DON'T YOU SHOVE THAT OTHER PARTY UP YOUR FUCKING ASS. I'VE SHOWN YOU PROOF THAT IT'S DEFINITELY NOT ON OUR FUCKING SIDE, EXPLAINED IT TO YOU AND SO ON. MAYBE, FOR ONE FUCKING SECOND, TAKE INTO CONSIDERATION THAT THE OTHER PARTY IS FUCKING LYING?!?!?
FUCK OFF.9 -
Things have been a little too quiet on my side here, so its time for an exciting new series:
practiseSafeHex's new life as a manager.
Episode 1: Dealing with the new backend team
It's great to be back folks. Since our last series where we delved into the mind numbing idiocy of former colleagues, a lot has changed. I've moved to a new company and taken a step up as a Dev manager / Tech lead. Now I know what you are all thinking, sounds more dull and boring right? Well it wouldn't be a practiseSafeHex series if we weren't ...
<audience-shouting>
DEALING! ... WITH! ... IDIOTS!
</audience-shouting>
Bingo! so lets jump right in and kick us off with a good one.
So for the past few months i've been on an on-boarding / fact finding / figuring out this shit-storm, mission to understand more about what it is i'm suppose to do and how to do it. Last week, as part of this, I had the esteemed pleasure of meeting face to face with the remote backend team i've been working with. Lets rattle off a few facts to catch us all up:
- 8 hour time difference to me
- No documentation other than a non-maintained swagger doc
- Swagger is reporting errors and several of the input models are just `Type: String`
- The one model that seems accurate, has every property listed as optional, including what must be the primary key
- Properties go missing and get removed at the drop of a hat and we are never told.
- First email I sent them took 27 days to reply, my response to that hasn't been answered so far 31 days later (new record! way to go team, I knew we could do it!!!)
- I deal directly with 2 of them, the manager and the tech lead. Based on how things have gone so far, i've nick named them:
1) Ass
2) Hole
So lets look at some example of their work:
- I was trying to test the new backend, I saw no data in QA. They said it wouldn't show up until mid day their time, which is middle of the night for us. I said we need data in our timezone and I was told: a) "You don't understand how big this system is" (which is their new catch phrase) b) "Your timezone is not my concern"
- The whole org started testing 2 days later. The next day a member from each team was on a call and I was asked to give an update of how the testing was going on the mobile side. I said I was completely blocked because I can't get test data. Backend were asked to respond. They acknowledged they were aware, but that mobile don't understand how big the system is, and that the mobile team need to come up with ideas for the backend team, as to how mobile can test it. I said we can't do anything without test data, they said ... can you guess what? ... correct "you don't understand how big the system is"
- We eventually got something going and I noticed that only 1 of the 5 API changes due on their side was done. Opened tickets. 2 days later asked them for progress and was told that "new findings" always go to the bottom of the backlog, and they are busy with other things. I said these were suppose to be done days ago. They said you can't give us 2 days notice and expect everything done. I said the original ticket was opened a month a go *sends link* ......... *long silence* ...... "ok, but you don't understand how big the system is, this is a lot of work"
- We were on a call. Product was asking the backend manager (aka "Ass") a question about a slight upgrade to the new feature. While trying to talk, the tech lead (aka "Hole") kept cutting everyone off by saying loudly "but thats not in scope". The question was "is this possible in the future" and "how long would it take", coming from management and product development. Hole just kept saying "its not in scope", until he was told to be quiet by several people.
- An API was sending down JSON with a string containing a message for the user with 2 bits of data inside it. We asked for one of those pieces to also come down as a property as the string can change and we needed it client side. We got that. A few days later we found an edge case and asked for the second piece of data to be a property too. Now keep in mind, they clearly already have access to them in order to make the string. We were told "If you keep requesting changes like this, you are going to delay the release of the backend by up to 2 weeks"
Yes folks, there you have it, the most minuscule JSON modifications, can delay your release by up to 2 weeks ........ maybe I should just tell product, that they don't understand how big the app is, and claim we can't build it on our side? Seems to work for them
Thats all the time we have for today,
Tune in for more, where we'll be looking into such topics as:
- If god himself was an iOS developer ... not
- Why automate when you can spend all day doing it by hand
- Its more time-efficient to just give everything a story point of 5
- Why waste time replying to emails ... when you can do nothing instead
See you all next week,
practiseSafeHex13 -
My first job: The Mystery of The Powered-Down Server
I paid my way through college by working every-other-semester in the Cooperative-Education Program my school provided. My first job was with a small company (now defunct) which made some of the very first optical-storage robotic storage systems. I honestly forgot what I was "officially" hired for at first, but I quickly moved up into the kernel device-driver team and was quite happy there.
It was primarily a Solaris shop, with a smattering of IBM AIX RS/6000. It was one of these ill-fated RS/6000 machines which (by no fault of its own) plays a major role in this story.
One day, I came to work to find my team-leader in quite a tizzy -- cursing and ranting about our VAR selling us bad equipment; about how IBM just doesn't make good hardware like they did in the good old days; about how back when _he_ was in charge of buying equipment this wouldn't happen, and on and on and on.
Our primary AIX dev server was powered off when he arrived. He booted it up, checked logs and was running self-diagnostics, but absolutely nothing so far indicated why the machine had shut down. We blew a couple of hours trying to figure out what happened, to no avail. Eventually, with other deadlines looming, we just chalked it up be something we'll look into more later.
Several days went by, with the usual day-to-day comings and goings; no surprises.
Then, next week, it happened again.
My team-leader was LIVID. The same server was hard-down again when he came in; no explanation. He opened a ticket with IBM and put in a call to our VAR rep, demanding answers -- how could they sell us bad equipment -- why isn't there any indication of what's failing -- someone must come out here and fix this NOW, and on and on and on.
(As a quick aside, in case it's not clearly coming through between-the-lines, our team leader was always a little bit "over to top" for me. He was the kind of person who "got things done," and as long as you stayed on his good side, you could just watch the fireworks most days - but it became pretty exhausting sometimes).
Back our story -
An IBM CE comes out and does a full on-site hardware diagnostic -- tears the whole server down, runs through everything one part a time. Absolutely. Nothing. Wrong.
I recall, at some point of all this, making the comment "It's almost like someone just pulls the plug on it -- like the power just, poof, goes away."
My team-leader demands the CE replace the power supply, even though it appeared to be operating normally. He does, at our cost, of course.
Another weeks goes by and all is forgotten in the swamp of work we have to do.
Until one day, the next week... Yes, you guessed it... It happens again. The server is down. Heads are exploding (will at least one head we all know by now). With all the screaming going on, the entire office staff should have comped some Advil.
My team-leader demands the facilities team do a full diagnostic on the UPS system and assure we aren't getting drop-outs on the power system. They do the diagnostic. They also review the logs for the power/load distribution to the entire lab and office spaces. Nothing is amiss.
This would also be a good time draw the picture of where this server is -- this particular server is not in the actual server room, it's out in the office area. That's on purpose, since it is connected to a demo robotics cabinet we use for testing and POC work. And customer demos. This will date me, but these were the days when robotic storage was new and VERY exciting to watch...
So, this is basically a couple of big boxes out on the office floor, with power cables running into a special power-drop near the middle of the room. That information might seem superfluous now, but will come into play shortly in our story.
So, we still have no answer to what's causing the server problems, but we all have work to do, so we keep plugging away, hoping for the best.
The team leader is insisting the VAR swap in a new server.
One night, we (the device-driver team) are working late, burning the midnight oil, right there in the office, and we bear witness to something I will never forget.
The cleaning staff came in.
Anxious for a brief distraction from our marathon of debugging, we stopped to watch them set up and start cleaning the office for a bit.
Then, friends, I Am Not Making This Up(tm)... I watched one of the cleaning staff walk right over to that beautiful RS/6000 dev server, dwarfed in shadow beside that huge robotic disc enclosure... and yank the server power cable right out of the dedicated power drop. And plug in their vacuum cleaner. And vacuum the floor.
We each looked at one-another, slowly, in bewilderment... and then went home, after a brief discussion on the way out the door.
You see, our team-leader wasn't with us that night; so before we left, we all agreed to come in late the next day. Very late indeed.9 -
*goes to the local town hall to get my new ID*
A week ago:
Clerk: Sorry sir, our systems don't work anymore, we can't process your request!
Me: Epic. Is there any sysadmin in here that can fix this pronto?
C: No it's a centrally managed system. It's managed by the people in ${another town}.
M (thinking): Well how about you fucking call them then, fucking user. Screaming blood and fire when nothing is wrong server-side but doing nothing when there is. Fucking amazing, useless piece of shit.
One week later, i.e. today:
M: Hey, I'd like to renew my ID card. I've got this announcement document here and my current ID card.
C: Oh no I don't need the announcement document. I need your PIN and PUK code letter.
M (thinking): What the fuck do you need that for.. isn't that shit supposed to be my private information..?
*gives PIN and PUK part of the letter*
C: Alright, to register your new ID card, please enter your PUK and then your PIN in this card reader here twice.
M: Sure, but I'd like to change both afterwards. After all they're written on this piece of paper and I'm not sure that just destroying that will be enough.
C: Sure sure you can change them. Please authenticate with the codes written on the paper.
*Authenticates*
C: So you'd like to change your codes, right?
M: Yeah but I'd like to change it at home. You know, because I can't know for sure that this PC here is secure, the card reader has a wired connection to your PC (making it vulnerable to keyloggers) and so on.
C: Impossible. You can't change your PIN at home. (What about the PUK?!)
M: But I've done that several times with my Digipass for my previous passport.. it is possible and I've done it myself.
C: Tut tut, impossible. I know it's impossible and therefore it is.
M (thinking): Thanks for confirming that I really shouldn't enter my personal PIN on your fucking PC, incompetent bitch.
M: Alright, I'll just keep this PIN, try at home and if it's really impossible because the system changed to remove this functionality (which I highly doubt, that'd be really retarded), I'll come back later.
(Just to get rid of this old stupid woman's ignorance essentially.)
C: Sure sure...
Me: I'd also like to register as an organ donor. Where can I do that?
C: That'd be over there. *points to the other room in the town hall*
FUCKING THANK YOU LORDS OF THE WICKED RAVEN AND THE LIBERATED TUX, TO GET ME AWAY FROM THAT STUPID FUCKING BITCH!!!
.. anyway. I've got my new ID and I'm an official organ donor now 🙂6 -
Ladies and gentlemen, prepare yourselves for a rant with a capital R, this is gonna be a long one.
Our story begins well over a year ago while I was still in university and things such as "professionalism" and "doing your job" are suggestions and not something you do to not get fired. We had multiple courses with large group projects that semester and the amount of reliable people I knew that weren't behind a year and in different courses was getting dangerously low. There were three of us who are friends (the other two henceforth known as Ms Reliable and the Enabler) and these projects were for five people minimum. The Enabler knew a couple of people who we could include, so we trusted her and we let them onto the multiple projects we had.
Oh boy, what a mistake that was. They were friends, a guy and a girl. The girl was a good dev, not someone I'd want to interact with out of work but she was fine, and a literal angel compared to the guy. Holy shit this guy. This guy, henceforth referred to as Mr DDTW, is a motherfucking embarrassment to devs everywhere. Lazy. Arrogant. Standards so low they're six feet under. Just to show you the sheer depth of this man's lack of fucks given, he would later reveal that he picked his thesis topic "because it's easy and I don't want to work too hard". I haven't even gotten into the meat of the rant yet and this dude is already raising my blood pressure.
I'll be focusing on one project in particular, a flying vehicle simulator, as this was the one that I was the most involved in and also the one where shit hit the fan hardest. It was a relatively simple-in-concept development project, but the workload was far too much for one person, meaning that we had to apply some rudimentary project management and coordination skills that we had learned to keep the project on track. I quickly became the de-facto PM as I had the best grasp on the project and was doing a lot of the heavy lifting.
The first incident happened while developing a navigation feature. Another teammate had done the basics, all he had to do was use the already-defined interfaces to check where the best place to land would be, taking into account if we had enough power to do so. Mr DDTW's code:
-Wasn't actually an algorithm, just 90 lines of if statements sandwiched between the other teammate's code.
-The if statements were so long that I had to horizontal scroll to see the end, approx 200 characters long per line.
-Could've probably been 20 normal-length lines MAX if he knew what a fucking for loop was.
-Checked about a third of the tiles that it should have because, once again, it's a series of concatenated if statements instead of an actual goddamn algorithm.
-IT DIDN'T FUCKING WORK!
My response was along the lines of "what the fuck is this?". This dipshit is in his final year and I've seen people write better code in their second semester. The rest of the team, his friend included, agreed that this was bad code and that it should be redone properly. The plan was for Mr DDTW to move his code into a new function and then fix it in another branch. Then we could merge it back when it was done. Well, he kept on saying it was done but:
-It still wasn't an algorithm.
-It was still 90 lines.
-They were still 200 characters wide.
-It still only checked a third of the tiles.
-IT STILL DIDN'T FUCKING WORK!
He also had one more task, an infinite loop detection system. He watched while Ms Reliable did the fucking work.
We hit our first of two deadlines successfully. We still didn't have a decent landing function but everything else was nice and polished, and we got graded incredibly well. The other projects had been going alright although the same issue of him not doing shit applied. Ms Reliable and I, seeing the shitstorm that would come if this dude didn't get his act together, lodged a complaint with the professor as a precautionary measure. Little did I know how much that advanced warning would save my ass later on.
Second sprint begins and I'm voted in as the actual PM this time. We have four main tasks, so we assign one person to each and me as a generalist who would take care of the minor tasks as well as help out whoever needed it. This ended up being a lot of reworking and re-abstracting, a lot of helping and, for reasons that nobody ever could have predicted, one of the main tasks.
These main tasks were new features that would need to be integrated, most of which had at least some mutual dependencies. Part of this project involved running our code, which would connect to the professor's test server and solve a server-side navigation problem. The more of these we solved, the better the grade, so understandably we needed an MVP to see if our shit worked on the basic problems and then fix whatever was causing the more advanced ones to fail. We decided to set an internal deadline for this MVP. Guess who didn't reach it?
Hitting the character limit, expect part 2 SOON7 -
People who say something isn't working and ask us to investigate.
Alright, it's not on our side, go ask support at {differentcompany}.
*presents actual proof*
Client replies: oh but I asked the other side and they send over this proof *shows proof saying that its not on our side but very technical so the client doesn't understand* so it's definitely on your side!!!!!!
This annoys the living fucking hell out of me, FUCKING FUCK.
😡9 -
I realize I've ranted about this before, but...
Fuck APIs.
First the fact that external services can throw back 500 errors or timeouts when their maintainer did a drunk deploy (but you properly handled that using caching, workers, retry handlers, etc, right? RIGHT?)...
Then the fact that they all speak a variety of languages and dialects (Oh fuck why does that endpoint return a JSON object with int keys instead of a simple array... wait the params are separated with pipe characters? And the other endpoint uses SOAP? Fuck I need to write another wrapper class around the client...)
But the worst thing: It makes developers live in this happy imaginary universe where "malicious" is not a word.
"I found this cloud service which checks our code style" — hmm ok, they seem trustworthy. Hope they don't sell our code, but whatever.
"And look at this thing, it automatically makes database backups, just have to connect to it to DigitalOcean" — uhhh wait...
"And I just built this API client which sends these forms to be OCR processed" — Fuck... stop it... there are bank accounts numbers on those forms... Where's that API even located? What company?
* read their privacy policy *
"We can not guarantee the safety of your personal data, use at your own risk [...] we are located in Russia".
I fucking hate these millennial devs who literally fail to get their head out of the cloud.
Somehow they think it's easier to write all these NodeJS handlers and layers around some API, which probably just calls ImageMagick + Tesseract on the other side.
If I wasn't so fucking exhausted, I'd chop of their heads... but they're like hydra, you seal one privacy breach and another is waiting to be merged, these kids just keep spewing their crap into easy packages, they keep deploying shitty heroku apps... ugh.
😖8 -
Overheard a phone call between the Senior Network Engineer and a contracted Printer-company at 9am this morning. Photocopier was giving a 'functional error' message on-screen and not printing;
N.E:
I logged this call last
Thursday afternoon. Thats 1.5 days of the photocopier not working on our busiest site! Where's the engineer??
.... yes, that's the error message.
Yes, i can log into it, you should have the IP address from the call.
Yes, it's obviously pinging too.
Yes.... we've power-cycled the printer multiple times...
yes, tried that too...
yes, I've unplugged the network cable as well... left it for 15 minutes.
... sorry. What?
What did you say?
Are you f***ing kidding me?
Would you also like me to rub the side of the f***ing machine, and say a prayer while I'm at it??
*takes a deep breath*
Fine, I'll do that but when it doesn't work, i want someone out on the site before lunchtime today!
*slams phone down angrily*
N.E to me as he stomps out of the office;
He wants me to get the user to unplug the network cable and do a power cycle. How the f**k is that going to help? Idiots! Don't know why we have a contract with them, i could do a better job!!!
*comes back into office 5 minutes later*
Me: did it fix it?
NE: yeah. Damn.
*leaves room again to make apologetic phonecall*2 -
As a frontend dev, i love watching our backend devs sometimes go like "hey come on it's just css I can do it real quick, let me do it this time" and get super frustrated with failure. Buddy, one of the reasons frontend is not so easy is that it can be real fucking annoying. I'm keeping my distance and respect for your side so stay the fuck away from my dance floor.7
-
From my work -as an IT consultant in one of the big 4- I can now show you my masterpiece
INSIGHTS FROM THE DAILY LIFE OF A FUNCTIONAL ANALIST IN A BIG 4 -I'M NOT A FUNCTIONAL ANALYST BUT THAT'S WHAT THEY DO-
- 10:30, enter the office. By contract you should be there at 9:00 but nobody gives a shit
- First task of the day: prepare the power point for the client. DURATION: 15 minutes to actually make the powerpoint, 45 minutes to search all the possible synonyms of RESILIENCE BIG DATA AGILE INTELLIGENT AUTOMATION MACHINE LEARNING SHIT PISS CUM, 1 hour to actually present the document.
- 12:30: Sniff the powder left by the chalks on the blackboards. Duration: 30 minutes, that's a lot of chalk you need to snort.
13:00, LUNCH TIME. You get back to work not one minute sooner than 15.00
- 15:00, conference with the HR. You need to carefully analyze the quantity and quality of the farts emitted in the office for 2 hours at least
- 17:00 conference call, a project you were assigned to half a day ago has a server down.
The client sent two managers, three senior Java developers, the CEO, 5 employees -they know logs and mails from the last 5 months line by line-, 4 lawyers and a beheading teacher from ISIS.
On your side there are 3 external ucraininans for the maintenance, successors of the 3 (already dead) developers who put the process in place 4 years ago according to God knows which specifications. They don't understand a word of what is being said.
Then there's the assistant of the assistant of a manager from another project that has nothing to do with this one, a feces officer, a sys admin who is going to watch porn for the whole conference call and won't listen a word, two interns to make up a number and look like you're prepared. Current objective: survive. Duration: 2 hours and a half.
- 19:30, snort some more chalk for half an hour, preparing for the mail in which you explain the associate partner how because of the aforementioned conference call we're going to lose a maintenance contract worth 20 grands per month (and a law proceeding worth a number of dollars you can't even read) and you have no idea how could this happen
- 20:00, timesheet! Compile the weekly report, write what you did and how long did it take for each task. You are allowed to compile 8 hours per day, you worked at least 11 but nobody gives a shit. Duration: 30 minutes
- 20:30, update your consultant! Training course, "tasting cum and presenting its organoleptic properties to a client". Bearing with your job: none at all. Duration: 90 minutes, then there's half an hour of evaluating test where you'll copy the answers from a sheet given to you by a colleague who left 6 months ago.
- 22:30, CHANCE CARD! You have a new mail from the HR: you asked for a refund for a 3$ sandwich, but the receipt isn't there and they realized it with a 9 months delay. You need to find that wicked piece of paper. DURATION: 30 minutes. The receipt most likely doesn't even exist anymore and will be taken directly from your next salary.
- 23:00 you receive a message on Teams. It's the intern. It's very late but you're online and have to answer. There's an exception on a process which have been running for 6 years with no problems and nobody ever touches. The intern doesn't know what to do, but you wrote the specifications for the thing, 6 years ago, and everything MUST run tonight. You are not a technician and have no fucking clue about anyhing at all. 30 minutes to make sure it's something on our side and not on the client side, and in all that the intern is as useful as a confetto to wipe your ass. Once you're sure it's something on our side you need to search for the senior dev who received the maintenance of the project, call him and solve the problem.
It turns out a file in a shared folder nobody ever touches was unreachable 'cause one of your libraries left it open during the last run and Excel shown a warning modal while opening it; your project didn't like this last thing one bit. It takes 90 minutes to find the root of the problem, you solve it by rebooting one of your machines. It's 01:00.
You shower, watch yourself on the mirror and search for the line where your forehead ends and your hair starts. It got a little bit back from yesterday; the change can't be seen with the naked eye but you know it's there.
You cry yourself to sleep. Tomorrow is another day, but it's going to be exactly like today.8 -
I am DONE with this woman CONTINUED!
I didn't think I'd have to put another rant about this stupidity at least not this soon but she just keeps on giving!
I have my noise canceling headphones on most of the time and when I want to hear the people around, I just put the right earcup of it to the side of my ear so the music pauses. Today we had a huge disrupt on our services because of a network switch error on the hub. I was also trying to focus on my coding as I didn't wanna do a stupid mistake on the last working day and be sorry about it in the next week.
So this woman sneaks up on me from behind calling my name - meaning she has a question, surprise! -, I say 'yes' moving my head to her side ever so slightly without getting my eyes off of my screen stating subtly that I'm also listening to her while trying to focus on my shit. She starts yelling at me 'look at me!' out of nowhere! I turn my head and ask what the problem is and she asks why I'm not looking at her face! Stupid moron, I might not be too good in understanding your way of communication but you are the one asking so you WILL wait if you'd like to hear answers.
I say I'm working on something and her answer is again 'Why aren't you looking at my face it's going to be quick bla bla did we do this like that?' and I answered I didn't remember because there's no way I'd ever remember without looking further and it was no lie.
This woman clearly has stability issues and everyone else seem to be tolerating it. It's now obvious as I'm not tolerating the nonsense I'll be the one that 'she only has ever had a problem with'.
I was quick to de escalate the situation but now I'm thinking maybe I should've responded in a way that she could understand. I wouldn't ever give a shit about it but this is getting ridiculous.19 -
Well, it wasn't fun, but I switched jobs this month. And sadly, it was mostly because my old company started building custom applications for our larger customers. Now, normally that wouldn't be too bad (other than the fact that it distracts us form working on our main product...) but... it was decided that we would use the back end of our user-generated forms module as the data storage layer. Someone outside of my department thought it would be a great idea, and my boss kinda just rolled over without a fight because he always just figures he can "make it work" if he works hard enough...
You shoulda seen the database and SQL code...
Because of that decision, everything took at least 3x as long to write and there was always the looming possibility that the user could change the schema on a whim and break the app.
I think the reasoning behind it was to try and keep the customers tied to the aging flagship product (with a pricy subscription model), but IMO, it was not with it. Our efforts could've had much greater impact somewhere else. Nobody seemed to care what I thought about it though...
I had to start over as a front-end dev, but I'm trying to look on the bright side and seeing it as an opportunity to sharpen my skills in that area. I'm already learning a lot. And although it's a little scary at times, it's also so refreshing to work at a place where I know I'm not the smartest guy in the room.
To the future!5 -
I've caught the efficiency bug.
I recently started a minimum wage job to get my life back in order after a failed 2 year project (post mortem: next time bring more cash for a longer runway)
I've noticed this thing I do at every job, where I see inefficiency and I think "how can I use technology to automate myself out of this job?"
My first ever application was in C++ for college (a BASIC interpreter) and it's been so long I've since forgotten the language.
But after a while every language starts to look like every other language, and you start to wonder if maybe the reason you never seriously went anywhere as a programmer was because you never really were cut out for it.
Code monkey, sure. Programmer? Dunno, maybe I just suffer from imposter syndrome.
So a few years back I worked at a retail chain. Nothing as big as walmart, but they have well over 10k store locations. They had two IBM handscanners per store, old grungy ugly things, and one of these machines would inevitably be broken, lost or in need of upgrade/replacement about once a year, per location. District manager, who I hit it off with, and made a point of building report with, told me they were paying something like $1500 a piece.
After a programming dry spell, I picked up 'coding' with MIT app inventor. Built a 'mostly complete' inventory management app over the course of a month, and waited for the right time.
The day of a big store audit, (and the day before a multi-regional meeting), I made sure I was in-store at the same time as my district manager, so he could 'stumble upon' me working, scanning in and pricing items into the app.
Naturally he asked about it, and I had the numbers, the print outs, and the app itself to show him. He seemed impressed by what amounted to a code monkeys 'non-code' solution for a problem they had.
Long story short, he does what I expected, runs it by the other regionals and middle executives at the meeting, and six months later they had invested in a full blown in house app, cutting IBM out of the mix I presume.
From what I understand they now use the app throughout the entire store chain.
So if you work at IBM, sorry, that contract you lost for handscanners at 10k+ stores? Yeah that was my fault (and MIT app inventor).
They say software is 'eating the world' but it really goes to show, for a lot of 'almost coders' and 'code monkeys' half our problem is dealing with setup and platform boilerplate. I think in the future that a lot of jobs are either going to be created or destroyed thanks to better 'low code' solutions, and it seems to be a big potential future market.
In the mean while I've realized, while working on side projects, that maybe I can do this after all, and taken up Kotlin. I want to do a couple of apps for efficiency and store tracking at my current employer to see if I'm capable and not just an mit app-inventor codemonkey after all.
I'm hoping, by demonstrating what I can do, I can use that as a springboard into an internal programming position at my current gig (which seems to be a company thats moving towards a more tech oriented approach to efficiency and management). Also watching money walk out the door due to inefficiency kinda pisses me off, and the thought of fixing those issues sounds really interesting. At the end of the day I just like learning new technologies, and maybe this is all just an excuse to pick up something new after spending so long on less serious work.
I still have a ways to go, but the prospect of working on B2B, and being able to offer technological solutions to common and recurring business needs excites the hell out of me..as cringy and over-repeated as that may sound.5 -
So... Facebook canceled our plugin since we did not update it to newer version.
Fine.. I'm fine with that. There was no time for that since there's was some very very very fucking important projects, tasks and side requests requested by administration for customers that are actually not real customers since they don't pay or have a contract yet (or ever will!)
Administration... Wtf our plugin is not
working?! We are receiving complaints from (paying) customers!!
Me. Since you assumed the team leading and revoked my rights on leading the team we are doing shittttt work for non paying customer...
Administration... Resolve FB issue then do non paing customer work. Hum! bether otherwise.. No, otherwise. No. Do both ASAP
Me. Sure! It's Friday, I'm overtime already by 10h at lunch time,. So I'm fuck off outa here and pick up on whatever I'm keen to on Monday morning after guide the other colleagues on the crapp you dropped on them with your seagull managent!
This means I might start on Wednesday!
Xau3 -
Admin Access
Have you ever been in a position where you become the de-facto person who works with a certain tool, but are denied full admin access to that tool for no real reason?
Two years ago I was put on the Observability squad and quickly discovered it was my thing, implementing tracking and running queries on this third-party tool, building custom stuff to monitor our client-side successes and failures.
About a year ago I hit the point where if you asked anyone "Who is the go-to person for help/questions/queries/etc. for this tool", the answer was just me lol. It was nice to have that solid and clear role, but a year later, that's still the case, and I'm still not an admin on this platform. I've asked, in an extremely professional way armed with some pretty good reasons, but every time I'm given some lame non-answer that amounts to No.
As far as I'm aware, I'm the only dev on our team at all who uses custom/beta features on this site, but every time I want to use them I have to go find an admin and ask for an individual permission. Every time. At the end of 2020 it was happening once a month and it was so demoralizing hitting up people who never even log into this site to ask them to go out of their way to give me a new single permission.
People reach out to me frequently to request things I don't have the permissions to do, assuming I'm one of the 64 admins, but I have to DM someone else to actually do the thing.
At this point it feels very much like having to tug on the sleeve of a person taller than me to get what I need, and I'm out of ways to convince myself this isn't demoralizing. I know this is a pretty common thing in large companies, meaningless permissions protocols, and maybe it's because I came from IT originally that it's especially irritating. In IT you have admin access to everything and somehow nobody gets hurt lol-- It still blows my mind that software devs who make significantly more money and are considered "higher up" the chain (which i think is dumb btw) are given less trust when it comes to permissions.
Has anyone figured out a trick that works to convince someone to grant you access when you're getting stonewalled? Or maybe a story of this happening to you to distract me from my frustration?13 -
So we ordered a piece of software from external software house becouse I was low on time and we needed it asap.
So. Long story short, their software was bugged as hell, they deny all the bugs and they have their BDD that they done and anything we say about it like "feature XYZ is broken on firefox" they will deny it "becouse it wasn't on BDD" or "let's get on call" (in which +- 6-7 people participate from their side and we of course have to pay them for this...)
So they fixed like 20% of bugs (mostly trivials/minors) Application is fairly small scope. You have integration with like 3 endpoints on arbitary API, user registration/login, few things to do in database (mainly math running from cron).
They done it in ASP so I don't know the language and enviroment so can't just fix it myself.
2 days ago (monday) they annoyed me to point where I just started to break things. For starters I found that every numeric input is vunrable to integer overflow (which is blocker). I figured most of fields are purefect opportunity to XSS (but I didn't bother to do JS... anything but not JS...). I figured I can embed into my name/surname/phone (none validated) anything in HTML...
So for now we have around 25 bugs, around 15 of them are blockers.
They figured it's somehow our fault that it's bugged and decided to do demo with us to show off how perfectly it works. I'm happy to break their demos. I figured I will register bunch users that have name - image with fixed/absolute position top:0;left:0 width/height 100% - this will effectively brick admin panel
Also I figured I can do some addotional sounds in background becouse why not. And I just dont know what to put in. It links to my server for now so I can freely change content of bricked admin panel.
I have curl's ready to execute in case they reset database.
I can put in GIFs or heck, even videos, dosen't really matter. Framework escapes some things for them so at least that. But audio/image/video works.
Now I have 2 questions:
- what image + audio combo will work the best (of course we need to keep it civil). Im thinking finding some meme with bugs or maybe nuclear logo image with some siren sound
- am I evil person?
Edit:
I havent stated this clearly:
"There is no BDD that describes that if user inserts malicious input server should deny it" - that's almost literally what we get from them....11 -
OK, so we had a session in which a so called Company (Some ecorise.in ) came to give Internship-Training-Program. Ok, he said it'll take 5-8 minutes, and then it took fucking 75 minutes for the session to end. Horrible blunders he made.
1) Did not tell about the company and important stuff for the first 50-60 minutes. Instead, was just focusing on why you should do an Internship, what is it's benefit, what does a company want from you. And why this Internship-Training Program is important... I mean seriously? - A training for Internship. 🤦🏻♂️
2) Said all the Web Developers can be Mobile App Developers with the help of just HTML and CSS.... Wow, so XAML/XML is shit now, and we will call APIs with the help of CSS rules. 🤦🏻♂️
OK, still I tolerated all that, then was the part when he said how much will be the stipend. It was fucking nothing, they said. That for first three months they will not give a single penny as it is training, and then IF the performance is good, then they will give stipend, and then Placement assurance. OK, that's good that they are assuring placement, but wait. Package of 2LPA INR... WTF Man, it's like $3107.28 for a whole Year.
OK, that too tolerated, then was the part when they said that they'll take the written test, I was like OK, let's see. We moved to a classroom, it went over-the-full capacity, so we moved back to the seminar hall. (Arrrrgggghhhhhhhhh), still tolerable. But then that guy realised that there were no question papers to take the test, then sent someone to get the print outs. Wasted 15+ minutes, I was burning inside.
In the whole seminar hall, I stood up and said, that when you knew there will be a test, why didn't you pre-prepared the sheets beforehand, he was like, that we didn't knew the count. But his tone was. like he got offended and Get-Lost-ed me out of the seminar.
Then even I said:
🙏🏻 - Nahi chaahiye aapki Company
(🙏🏻 - I don't want your Company).
And moved out.
But my point, I am a third Year College Student, and this Company came for our benefit, but I did so (and I am not sorry), so that's pretty obvious that the Company guy will talk (bitch) to the teachers about me, and tomorrow will be a bad day for me... But isn't it wrong on the side of the company also?
I mean, there was an attendance sheet passed in the beginning of the session, had he taken count from that and got the sheets printed, (He had almost an hour for that).
Secondly, when they knew that the count of students is more than expected, then why didn't they check for the classroom that whether the class can accommodate so many students or not. If not then something would have been planned accordingly... But no, the Guy (I guess, that small Company's Owner) got offended that a Student back-chat-ted a CEO of a so-called company, and so he just had to "Get-Lost" me. Checked the website of his Company, they have hardly done 3 Static Websites... I mean, WoW, I have done at-least 10X the work of the Company, alone!
I don't know, I feel happy that I kept my point, but I feel sad because I generally don't do this kind of thing (may be my tone was also wrong, I had other issues also, may be because of them and they all combined and this happened). I feel scared too, that I don't know what the Company guy will say to my teachers and what action will they take against me...
Because I know, none of my friends will stand with me when I go down, it's all fake here, everyone can just give sympathy, but nothing else.
I don't know why I am posting this here, and if you have read this till here, thank you. I just wanted to share my heart out... :-)9 -
While this wasn't technically a real client, it's still one of the most insane requests I've ever had.
I chose to specialize in software engineering for the last year and a half of my degree, which meant a lot of subjects were based around teamwork, proper engineering practises, accessibility, agile methods, basically a lot of stuff to get us ready to work in a proper corporate dev environment. One of our subjects was all about project management, and the semester-long coursework project (that was in lieu of a final exam) was to develop a real project for a real client. And, very very smartly, the professors set up a meeting with the clients so that the clients could tell us what they wanted with sixty-odd students providing enough questions. They basically wanted a management service for their day-center along with an app for the people there. One of the optional requirements was a text chat. Personally not something I'm super interested in doing but whatever, it's a group project, I'll do my part.
The actual development of the project was an absolute nightmare, but that's a story for another day. All I'll say is that seven juniors with zero experience in the framework we chose does not make a balanced dev team.
Anyway, like three months into the four-month project we've got a somewhat functional program, we just need to get the server side part running and are working our asses off (some more than others) when the client comes in and says that 'hey, nice app, nobody else has added the chat yet, but could you do voice recognition okay thanks?'.
Fucking.
Voice.
Recognition.
This was a fucking basic-ass management app with the most complicated task being 'make it look pretty' and 'hook up a DB to an API' and they want us to add voice recognition after sitting on their ass for three months??? The entire team collectively flipped its shit the second they were out of earshot. The client would not take no for an answer, the professor simply told us that they asked for it and it was up to us whether we delivered or not. Someone working on the frontend had the genius idea of 'just get them to use google voice recognition' so we added the how-to in the manual and ticked the requirement box.
What amazes me about all that is how the client probably had no idea that their new last-minute request was even a problem for us, let alone it being in a completely different ballpark in terms of implementing from scratch.8 -
Realizing that the former so-called PHP developers based the entirety of their so-called dashboard framework (self-written of course) on GET requests.
Every. Controller. Only. Accepts. Get. Requests.
It creates stuff? So what! It does update? No matter! It deletes? Who cares!
Just call that URL, and it will release all hell, plagued with multiple side-effects, and then issue a redirect.
Of course that one delete button was inside some twitter bootstrap tabs, and due to the redirect the page always reloaded and the content manager landed on a very different tab. Meaning if they wanted to delete multiple records, they had to hit "activate tab" and "delete" and "activate tab" and "delete" -- rinse and repeat.
It's our *job* to make things easier for our users! Not to waste their time. (Unless you are browser game developer. Then do your thing.)
And we are talking basic CRUD! Basic CRUD! I am not even demanding for it to be restful or to have some parts of a HTML page being updated on the fly with such rad and new technologies like ajax!
There is just question I would like to ask whoever build this: Seriously!?4 -
Our company maneuvered themselves into a classic technical debt situation with a project of a second team of devs.
They then left, signing a maintenance contract and now barely work on the project for exorbitant amounts of money.
Of course management got the idea to hand off the project to the first team, i.e. our team, even though we are not experts in that field and not familiar with the tech stack.
So after some time they have asked for estimates on when we think we are able to implement new features for the project and whom we need to hire to do so. They estimates returned are in the magnitude of years, even with specialists and reality is currently hitting management hard.
Code is undocumented, there are several databases, several frontends and (sometimes) interfaces between these which are all heavily woven into one another. A build is impossible, because only the previous devs had a working setup on their machines, as over time packages were not updated and they just added local changes to keep going. A lot of shit does not conform to any practices, it's just, "ohh yeah, you have to go into that file and delete that line and then in that other file change that hardcoded credential". A core platform is end of life and can be broken completely by one of the many frameworks it uses. In short, all knowledge is stowed away in the head of those devs and the codebase is a technical-debt-ridden pile of garbage.
Frankly I am not even sure whom I am more mad at. Management has fucked up hard. They let people go until "they reached a critical mass" of crucial employees. Only they were at critical mass when they started making the jobs for team 2 unappealing and did not realize that - because how could they, they are not qualified to judge who is crucial.
However the dev team behaved also like shitbags. They managed the whole project for years now and they a) actively excluded other devs from their project even though it was required by management, b) left the codebase in a catastrophic state and mentioned, "well we were always stuffed with work, there was no time for maintenance and documentation".
Hey assholes. You were the managers on that project. Upper management has no qualification to understand technical debt. They kept asking for features and you kept saying yes and hastily slapped them into the codebase, instead of giving proper time estimates which account for code quality, tests, reviews and documentation.
In the end team #2 was treated badly, so I kinda get their side. But up until the management change, which is relatively recent, they had a fantastic management who absolutely had let them take the time to account for quality when delivering features - and yet the code base looks like a river of diarrhea.
Frankly, fuck those guys.
Our management and our PM remain great and the team is amazing. A couple of days a week we are now looking at this horrible mess of a codebase and try to decide of whom to hire in order to help make it any less broken. At least it seems management accepted this reality, because they now have hired personnel qualified to understand technical details and because we did a technical analysis to provide those details.
Let's see how this whole thing goes.1 -
meeting with PM, 1:1
me: well, to be honest, i think there is also some room for improvement concerning communication in our meetings. the discussion culture in our meetings could be more open.
PM: what do you mean? i don't know what you're talking about.
me: well, i feel sometimes that in meetings, you overly challenge what colleagues suggest. on the other hand, it's really hard to argue against what you are saying. what you say is often like engraved into stone and it is hard to argue against that, but the next day you might have changed your mind again and then things are different, but engraved into stone again.
PM: hmm. can you give me some more concrete example?
me: well... (gives some examples) it's just that it would be nice if you would listen more to what people say in meetings and try to understand what they actually mean or want to say, instead of saying "nah, that's not how we do it" or "no, that's wrong"... just.. well, have more trust in our skills, try to find out what people mean before you discard what you think they said... a bit more of appreciation and openness.
PM: oh, i can tell you, i'm the MOST open manager in this whole company.
me: ...
PM: but anyway, i will think about it.
me: well... okay. also i see there are some challenges within our team concerning intercultural communication. i mean, communication between Germans and Indians is in general a bit problematic in our company, and maybe it is a good idea to have some workshop together concerning intercultural competences... i think we could benefit from that. (what i actually meant is, these problems exist, but currently i see them more on his side or between him and Indian colleagues, because e.g. he tends to harshly criticize people in daily standups, and if we "direct" Germans already feel affronted by his behavior, how must Indian guys feel about it? in fact, 2 Indian devs already left the project. also communication doesn't really work well, in a way that there's often a great mismatch between his expectations and what Indian devs actually think they have to do)
PM: i can tell you, i really understand our Indian colleagues, i really know how to work with them. also, their working style has greatly improved since project start. (which doesn't feel quite right after he totally ripped apart the work of one guy in the last sprint review meeting)
of course, that's not the whole conversation, but it's kind of a symptomatic example for the whole situation...11 -
I miss old times rants...So i guess, here it goes mine:
Tomorrow is the day of the first demo to our client of a "forward-looking project" which is totally fucked up, because our "Technical Quality Assurance" - basically a developer from the '90-s, who gained the position by "he is a good guy from my last company where we worked together on sum old legacy project...".
He fucked up our marvellous, loose coupling, publish/subscribe microservice architecture, which was meant to replace an old, un-maintainable enormous monolitch app. Basically we have to replace some old-ass db stored functions.
Everyone was on our side, even the sysadmins were on our side, and he just walked in the conversation, and said: No, i don't like it, 'cause it's not clear how it would even work... Make it an RPC without loose coupling with the good-old common lib pattern, which made it now (it's the 4th 2 week/sprint, and it is a dependency hell). I could go on day and night about his "awesome ideas", and all the lovely e-mails and pull request comments... But back to business
So tomorrow is the demo. The client side project manager accidentally invited EVERYONE to this, even fucking CIO, legal department, all the designers... so yeah... pretty nice couple of swallowed company...
Today was a day, when my lead colleague just simply stayed home, to be more productive, our companys project manager had to work on other prjects, and can't help, and all the 3 other prject members were thinking it is important to interrupt me frequently...
I have to install our projects which is not even had a heart beat... not even on developer machines. Ok it is not a reeeeaaally big thing, but it is 6 MS from which 2 not even building because of tight coupling fucktard bitch..., But ok, i mean, i do my best, and make it work for the first time ever... I worked like 10 ours, just on the first fucking app to build, and deploy, run on the server, connect to db and rabbit mq... 10 FUCKING HOURS!!! (sorry, i mean) and it all was about 1, i mean ONE FUCKING LINE!
Let me explain: spring boot amqp with SSL was never tested before this time. I searched everything i could tought about, what could cause "Connection reset"... Yeah... not so helpful error message... I even have to "hack" into the demo server to test the keystore-truststore at localhost... and all the fucking configs, user names, urls, everything was correct... But one fucking line was missing...
EXCEPT ONE FUCKING LINE:
spring.rabbitmq.ssl.enabled=false # Whether to enable SSL support.
This little bitch took me 6 hours to figure out...so please guys, learn from my fault and check the spring boot appendix for default application properties, if everything is correct, but it is not working...
And of course, if you want SSL then ENABLE it...
spring.rabbitmq.ssl.enabled=true
BTW i really miss those old rants from angry devs, and i hope someone will smile on my fucking torturerant marshall_mathers worklife sugar-free_tateless_cake_decorant_figure_boss missolddays oldtimes_rants5 -
This is a story of suffering and despair.
I'm working on a build system for our firmware. Nothing major, just a cmake script to build everything and give me an elf file.
I'm fairly new to cmake at that point, and so it's not abundantly clear to me how the `addDirectory` command works.
Now those of you with experience in cmake will say:
"Hold on there champ, this is not a cmake command, the real thing is add_subdirectory()"
Well, that is not what chatGPT told me. I still trusted the fucking thing at this point, it explained that it was in fact a command, and that it added all subsequent source files from a given folder. When I asked it to provide me with sources, it gave me a dead link in a cmake dot com subdomain.
I spent FUCKING HOURS trying to understand why I couldn't find that shitty command, I looked through that shitty page they call documentation through and through, I fucking checked previous and nightly versions, the command was nowhere to be found.
Until I found an old as time post in stackOverflow...
Someone had made a macro with that name, that did what GPT had described...
On the positive side, I know cmake now. I also don't use this fucking deep Learning piece of shit. Unless you write simple JS or blinking LEDs with Arduino it codes like a Junior, high on every kind of glue on the market.11 -
If you can be locked out of it remotely, you don't own it.
On May 3rd, 2019, the Microsoft-resembling extension signature system of Mozilla malfunctioned, which locked out all Firefox users out of their browsing extensions for that day, without an override option. Obviously, it is claimed to be "for our own protection". Pretext-o-meter over 9000!
BMW has locked heated seats, a physical interior feature of their vehicles, behind a subscription wall. This both means one has to routinely spend time and effort renewing it, and it can be terminated remotely. Even if BMW promises never to do it, it is a technical possibility. You are in effect a tenant in a car you paid for. Now imagine your BMW refused to drive unless you install a software update. You are one rage-quitting employee at BMW headquarters away from getting stuck on a side of a road. Then you're stuck in an expensive BMW while watching others in their decade-old VW Golf's driving past you. Or perhaps not, since other stuck BMWs would cause traffic jams.
Perhaps this horror scenario needs to happen once so people finally realize what it means if they can be locked out of their product whenever the vendor feels like it.
Some software becomes inaccessible and forces the user to update, even though they could work perfectly well. An example is the pre-installed Samsung QuickConnect app. It's a system app like the Wi-Fi (WLAN) and Bluetooth settings. There is a pop-up that reads "Update Quick connect", "A new version is available. Update now?"; when declining, the app closes. Updating requires having a Samsung account to access the Galaxy app store, and creating such requires providing personally identifiable details.
Imagine the Bluetooth and WiFi configuration locking out the user because an update is available, then ask for personal details. Ugh.
The WhatsApp messenger also routinely locks out users until they update. Perhaps messaging would cease to work due to API changes made by the service provider (Meta, inc.), however, that still does not excuse locking users out of their existing offline messages. Telegram does it the right way: it still lets the user access the messages.
"A retailer cannot decide that you were licensing your clothes and come knocking at your door to collect them. So, why is it that when a product is digital there is such a double standard? The money you spend on these products is no less real than the money you spend on clothes." – Android Authority ( https://androidauthority.com/digita... ).
A really bad scenario would be if your "smart" home refused to heat up in winter due to "a firmware update is available!" or "unable to verify your subscription". Then all you can do is hope that any "dumb" device like an oven heats up without asking itself whether it should or not. And if that is not available, one might have to fall back on a portable space heater, a hair dryer or a toaster. Sounds fun, huh? Not.
Cloud services (Google, Adobe Creative Cloud, etc.) can, by design, lock out the user, since they run on the computers of the service provider. However, remotely taking away things one paid for or has installed on ones own computer/smartphone violates a sacred consumer right.
This is yet another benefit of open-source software: someone with programming and compiling experience can free the code from locks.
I don't care for which "good purpose" these kill switches exist. The fact that something you paid for or installed locally on your device can be remotely disabled is dystopian and inexcuseable.16 -
"It works on our end", the sentence that made me lose my shit.
I've been working on a project were we're supposed to integrate an API into our system.
When trying to get some user id's (UUID) from said API, we got a type-error in the response (???), so I called their integration support and asked what the fuck they were doing (not really, i was kinda calm at this point).
The answer I got was following:
Integration guy: "Uh, bro, like, I don't even know, it's probably on your end"
Me: "We literally used this endpoint with the same parameters yesterday, and got a result we expected. I noticed you updated your API this morning, did you make any major changes?"
Integration guy: "Yeah we changed the type of user id from string to number"
Me: "So, you changed the type of a UUID (uuid4) from string to number? How did you not think that would be an issue? I can see in your forums that everyone else is having the same issue."
Integration guy: "Nah, it's probably a bug in your code, it works on our end"
Me in my mind: *IT WORKS ON YOUR END?!? IT DOESN'T FUCKING MATTER IF IT WORKS ON YOUR END, FUCKTARD.*
What I actually said: "Uhm, I'm not sure if works on your end either, I'm not even sure how this change made it to production. But hey, thanks I guess, bye."
WHY AM I NOT ABLE TO YELL AT PEOPLE WHEN THEY ARE BEING RETARDED???
But really though, when you're maintaining an API, you shouldn't fucking care if things work on your end in your dev environment. What matters is how it works in production, for the end user/users.
And I know that 99% of cases it's the users fault by entering the wrong parameters or trying to request with wrongly setup auth and what not, but still.
Don't ASSUME nothing's wrong on your end. It's your fucking job to fix the issues.
And guess what? The problem was on their side.
I'm going fucking bald.2 -
So I'm on vacation right now to visit family. I received an email from the head of department that, due to our department getting 7 new hires in one day, the seating arrangement has been changed.
My new seat is next to this one developer who's old enough to be my dad. He's a very nice guy and all, but the problem is he burps ALL. THE. TIME. I've never met anybody more gassy. His burps don't stink, thank God, but they're loud enough that it's seriously jarring.
You know how us devs can be completely in the zone until some marketing dickbag taps you on the shoulder and asks you to check your email or help with something that is absolutely not your job and you completely lose all focus and have to start over? Its exactly like that, except it happens every 10 minutes.
Another thing is, my back is now facing away from the wall, towards the rest of the office. The nearest section to mine is management. That means that anybody, including the CEO, can walk up right behind me and see what I'm doing at all times.
I really hate that. Id much rather be next to the wall to have some sort of privacy. Somehow sitting next to burpy guy is still the thing I'm most annoyed about though.
I tried to ask for a different seat, but my manager effectively said that I have no choice but to sit there because that guy is part of my team, and teammates should sit together. He forgot about the fact that, while the work him and I do is indeed related, I've been working on a solo project for the past few months and I don't need to be next to anybody in particular because I'm the only one working on this thing. Theoretically, I could sit in the toilet with my laptop and get my work done just fine. Maybe when I talk to him face to face in the office I can convince him to have some mercy on me.
The bright side is I'm very excited about meeting those 7 new hires I mentioned. They seem to be smart, capable people so I look forward to working with them and learning from them. Every cloud has a silver lining. 😊7 -
Not an actual teacher but definitely the guy who thought me the most: @java9
@java9 is a friend of mine who started the apprenticeship with me, but had serval years more of experience than I did.
At first he helped me get through the first complex tasks.
Luckily we are in the same class at professional school, and he helped me studying a lot.
Because of him I was able to develop my skills rather quickly.
Over the years our relationship developed into a close friendship.
Now we are working together as a team on more than side project and I've learned to love his perfectionism when it comes to code.
It's a pleasure to work with you @java9
Thanks for reading fellow ranter, here is a picture of us sharing a beer as a bonus2 -
It's my end of probation and I just got demoted, from originally "Senior dev" to "dev".
My manager found it a bit difficult to tell me but funny enough, I am completely fine with it apart from the little dent on my pay check. Let me talk about the bad first: money. I believe I have been on the lower end of the market pay range anyways so this step-back gives me about 5% cut, which is acceptable and fair enough.
And the good? Quite a bit. When I got this job offer 6 months ago, it was when everything literally went to shit. I was upset with a somehow not so smart but stubborn tech lead and I desperately wanted to quit. Then I got the offer, which even after 2 interviews I still didn't recall it was a job ads for "technical lead". The manager thought I was not there yet but wanted to keep me as a senior dev. Then, this pandemic almost took away this job. My manager brought my case to the CEO and convinced him to keep me, by saying a lot of good things about me (which I think might not be true for the tech side...)
Throughout the whole 6 months I have been working remotely from home. WFH is not new to me, just this time it's very challenging as I was starting a new job. I have been struggling to keep my pace. All people in the team are nice. However if I don't reach out, no one would notice I need help. And with zero knowledge for this job, I got stuck with "I don't know what I don't know". This ranges from company culture, practice, new tech.. everything. So, that's how this 6 months feels long, but also short.
In our review meeting I think my manager finally realise this. Otherwise he would have gone for the "terminate employment" option. Taking away the "senior" title also takes away the expectation of "I should know XYZ", which I don't. I told him I am kinda happy with it because this sets me up for a more comfortable position to catch my breathe. He told me he noticed my improvement along the way. I told him yes I have been putting in efforts but just given the situation it's not as quick as anyone would expect. We're on the same page now.
So compared to my previous job, I got paid less. But in return, I get many more opportunities to expose myself to new tech. I get a good team who are respectful and open-minded. This is exactly what I was looking for and the drive for me to quit my previous job.
Not to mention I got a reality check. This is also an indicator for me starting to become an imposter, which is the thing I despise most in the industry. I don't want people to value me for how many years I have got in my career. I want to prove myself by what I am capable of. If I'm not there, I should and will get there.
And the last thing which I'm not very keen but it's 100% worth mentioning, is that my manager said I should aim for taking the "senior" role back. He said the salary raise is waiting when I get there. But... Let me just take my time.4 -
Project manager, who i've complained in the past is neglecting critical things that he doesn't want to do, decided today to cancel our weekly planning meeting, to have the below conversation with me 1:1. Its very long, but anyone who has the will to get through it ... please tell me it's not just me. I'm so bewildered and angry.
Side note: His solution to the planning meeting not taking place ... to just not have one and asked everyone to figure it out themselves offline, with no guidance on priorities.
Conversation:
PM: I need to talk to you about some of phrasing you use during collaboration. It's coming across slightly offensive, or angry or something like that.
Me: ok, can you give me an example?
PM: The ticket I opened yesterday, where you closed it with a comment something along the lines of "as discussed several times before, this is an issue with library X, can't be fixed until Y ...".
"As discussed several times" comes across aggressive.
Me: Ok, fair enough, I get quite frustrated when we are under a crunch, working long hours, and I have to keep debugging or responding to the same tickets over and over. I mean, like we do need to solve this problem, I don't think its fair that we just keep ignoring this.
PM: See this is the problem, you never told me.
Me: ... told you what?
PM: That this is a known issue and not to test it.
Me: ..... i'm sorry ..... I did, that was the comment, this is the 4th ticket i've closed about it.
PM: Right but when you sent me this app, you never said "don't test this".
Me: But I told you that, the last 3 times that it won't be in until feature X, which you know is next month.
PM: No, you need to tell me on each internal release what not to test.
Me: But we release multiple times per week internally. Do you really need me to write a big list of "still broken, still broken, still broken, still broken"?
PM: Yes, how else will I know?
Me: This is documented, the last QA contractor we had work for us, wrote a lot of this down. Its in other tickets that are still open, or notes on test cases etc. You were tagged in all of these too. Can you not read those? and not test them unless I say I've fixed them?
PM: No, i'm only filling for QA until we hire a full time. Thats QA's job to read those and maintain those documents.
Me: So you want me to document for you every single release, whats already documented in a different place?
PM: ok we'll come back to this. Speaking of hiring QA. You left a comment on the excel spreadsheet questioning my decision, publicly, thats not ok.
Me: When I asked why my top pick was rejected?
PM: Yes. Its great that you are involved in this, but I have to work closely with this person and I said no, is that not enough?
Me: Well you asked me to participate, reviewing resumes's and interviewing people. And I also have to work extremely close with this person.
PM: Are you doubting my ability to interview or filter people?
Me: ..... well a little bit yeah. You asked me to interview your top pick after you interviewed her and thought she was great. She was very under qualified. And the second resume you picked was missing 50% of the requirements we asked for ... given those two didn't go well, I do think its fair to ask why my top pick was rejected? ... even just to know the reason?
PM: Could you not have asked publicly? face to face?
Me: you tagged me on a google sheet, asking me to review a resume, and rather than tag you back on 2 rows below ... you want me to wait 4 days to ask you at our next face to face? (which you just cancelled for this meeting)
PM: That would have been more appropriate
Me: ..... i'm sorry, i don't want to be rude but thats ridiculous and very nit pick-y. You asked my opinion on one row, I asked yours on another. To say theres anything wrong with that is ridiculous
PM: Well we are going to call another team meeting and discuss all this face to face then, because this isn't working. We need to jump to this other call now, lets leave it here.5 -
My very first rant here was about the mess of ticket submission and ticket tracking applications we use, and about how we were moving to a single unified system some day.
Well, that day is today. And, predictably, it went horribly wrong.
So the way it's supposed to work is people login to the portal, search for what they want to request, then fill in details and submit. It creates a request ticket assigned to the appropriate team. (The old way involved a bunch of nonsense that you can see in my first rant).
The thing is, I found out about this today, when I got a company-wide email saying the new system was live as of this morning. None of us knew it would happen today. Not that I could've foreseen any issues just by getting the announcement early, but still, usually people find out about these things beforehand.
So, ecstatic to finally be rid of the old ticket tracking system, I log into the new system and look for our request form, which is, of course, not there. I check the old system and see that they combined every single "general request" into a single request where you pick which team the request goes to.
So I finally find the right request, pick the right department from the drop-down, and see that the request looks much better than it did on the old system. Out of curiosity, I look at the list of people who are part of that department.
I am not on the list.
My ENTIRE TEAM is not on the list.
Because they migrated the team data to the new system a year ago, when the issue tracking/reporting portion of it went live. My current team was hired approximately six months after that and apparently updating the team data in the new system isn't part of our Onboarding process yet.
So... Bright side is I guess I will have a lot of free time soon since nobody can submit new project work to my team?
tl;dr: they took a great software product and implemented it so poorly that our team can't use it.3 -
First rant here, and it's going to be a query to the more professional and experienced members of society (most of you).
I am currently a Sys Admin for a major company, and I develop at night. My primary employment at the moment is the sys admin job (and I code for extra money at nights).
I wanted to start a development department at the company that I am working at, but it was turned turned down. It was stated that we are not branching in development, and that we should stick to our server implementation and support. This was a prompt to me wanting to start studying officially (I wanted to get qualified in JAVA, so that I had some paper behind my name when I looked for another job). HR and my directors outright denied me the ability to study through them (they pay for studies for employees) and I was more than fine with this.
I took a loan and paid for the studies myself. Can't crush a dream, you know?
The director caught wind of me studying, and now has demanded that I develop him a mobile application for the company. I told him that I am not a mobile developer, and that it didn't fall into my key performance areas.
Note, I do my coding on own time, on my own device, and never at work. It's fully my intellectual property. It also in no way interferes with my work during the day, and has NO conflict with my contract this side.
He sent an email yesterday, this is after two months. He is now stating that I WILL do the application, and he has CCd HR and two directors.
I don't want to do the app for this company, I spoke to HR previously about this, and she said that I should try and quote it under my own company name (which I did, but it was denied as it was "too expensive").
Now I am being forced to do something that is COMPLETELY out of my roles and responsibilities, something that this company has ABSOLUTELY no desire to go into further on, and he is basically letting me know that if I don't do it, he is going to start messing with my pay.
I really don't want to do this, and I cannot afford to make my secondary job my primary at the moment. The problem is, too, that I don't have the time during the day to develop AND do my sys admin tasks (I manage more than 300 servers, and 5000 devices).
What can I do in this instance? Or what would you guys recommend, in your experience?
Sorry for the noob question, but I don't know what to do.19 -
Had a mental breakdown a few days ago. Crying like it's the end of the world when computer stopped working. I was a Picasso drawing of the hysteria, basically.
My exams are getting near, I'm really not ready; yet this chick keeps asking me about ten euros I borrowed from her a year and something back when we were going to a club they asked me to go to with them... Given her persistence that I should wire her the money (no PayPal tho) I assume she's up to something super shady. Why does she need my account info for?
Anyways, being annoyed by only ten euros (in our currency, it's not much, btw. It's less than two bags of expensive chips, or 5 dozen of the cheapest eggs on the market) and not studying enough, there is also my work. I feel so incompetent that I may just resign. Like... I'm not smart enough for this project. 😢 And I'm aware of it.
Put that on the side with this uni's project, which is very "Urghhhhh" because of too many people working on the same project, some of who need to be sent back to kindergarten to learn how to cooperate with others.
And in the middle of all of that, I'm trying to stay as zen as possible until the next mental breakdown. 😑😑😐
Thank you for reading this rant.7 -
Despite common sense, I think technology is not making our lives easier. It's just build chaos on top of chaos.
Take server-side programming for instance.
First you have to find someone to host your thing, or a PaaS provider. Then you have to figure out how much RAM and storage you need, which OS you're going to use. And then there's Docker (which will run on top of a VM on AWS or GCP anyway, making even less sense). And then there's the server technology: nginx, Apache (and many many more; if, that is, you're using a server at all). And then there are firewalls, proxies, SSL. And then you go back to the start, because you have to check if your hosting provider will support the OS or Docker or your server. (I smell infinite recursion here.)
Each of these moving parts come with their own can of worms in terms of configuration and security. A whole bible to read if you want to have the slightest clue about what you're doing.
And then there's the programming language to use and its accompanying frameworks. Can they replace the server technology? Should you? Will they conflict with each other and open yet another backdoor into your system? Is it supported by your hosting provider? (Did I mention an infinite recursion somewhere?)
And then there's the database. Does it have a port to the language/framework of your choosing? Why does it expose an web interface? Is it supposed to replace your server? And why are its security features optional again? (Just so I have to test both the insecure and the secure environments?)
And you haven't written a single line of code yet, mind you.4 -
Nope, definitely not going to work for that customer anymore. Fuck this shit. At least for this week.
My background: mid-30 years old, some kind of business & IT consultant / lead dev working for a mid sized CRM consulting company, with approx 15 years of experience in development and software architecture, most of the time "thinking" in C#, still learning new languages, being a cloud evangelist and team lead. We usually have customers with customers (B2B/B2C).
Personality type "campaigner" (ENFP-A).
Today the project lead of my client (a big corporation in the energy industry) told me that he still didn't order all the necessary resources for the cloud project. Just to be clear: He's on the client side. We (the architects, one internal and me) told him one month ago what we need for the beginning. Just a few things - an Azure subscription, a license for the CRM platform, and our dev tools.
And now let's guess when the project is planned to begin? Yeah, right: 1st of April. NO APRIL'S FOOL. And guess what? Next Tuesday we'll do the onboarding for the new (external) devs, and NOTHING will be ready. Yeah, just let us build stuff in our minds, and on the whiteboards, because it's an AGILE project, right? We don't need any systems and tools...
And now he sent me the questionnaires which need to be answered before any cloud service can be ordered by the corporate IT. And yes, he didn't answer a single thing, and just meant "Those are architecture questions" (they are not) and (of course) "please provide the answers until Monday morning, so we can FINALLY order the services."
Yeah, you fucktard. Of course it's MY FAULT now. Maybe I should write an email to your boss asking how we can speed things up a little bit...3 -
I take the train well out side of rush hour when the trains are about half empty (though most seats taken). I have to come in because it's not like I can afford to have a workspace comparable to the cockpit of the millennium falcon both at home and at work.
I don't believe going into a panic about coronavirus but take obvious basic precautions to at least reduce the chance and slow the spread and that should do a good amount to reduce overloading the system. I kid you not, at this point medical facilities are considering buying diving equipment for enriched O2 supplies to keep up.
Today, as usual, some fucking piece of shit cunt twat psycho beggar that literally needs to be in an asylum with a massive fucking great gob of snot dangling out his nose is going up the entire train, every carriage, begging groping every hand rail along the way and potentially exposing several hundred people every hour.
I told this sorry sack of shit, surprisingly politely, that he'll end up rapidly spreading coronavirus if he keeps going all the way up and down the carriage like that. After he's fucking muttering on trying to make people feel bad about fucking ignoring him not being all caring and shit and then doesn't give a shit about giving everyone coronavirus after fucking waltzing down the entire fucking length of the train his pockets stuffed with coin. Then he threatens to assault me. I was fucking this > < far away from unleashing a life changing beat down and kicking his ass off the train with no pain or injury spared.
At the same time, that piece of scum waste of skin the mayor has apparently informed the public that you can't get coronavirus on the train or buses. How the fuck did he come to that conclusion? Is this really happening? How can something that clinically fucking thick as shit be our lord and master?
I fucking thought the great toilet paper rush was brain dead. Jesus fucking Christ and people voted for this fucking championship moron. Why don't they just all save themselves the fucking hassle and all march themselves off a fucking cliff?
These dumb shits without two neurons to rub together only need to put a dozen or so plain clothed police offices on the trains to catch these fuckers.
Why am I even fucking paying taxes? Where's it all fucking going? Another fucking lets give a billion quid to Fujitsu fucking failed IT project again I bet. Can't people bloody do anything these days? Does there have to be an app for fucking everything?
Someone should make a fucking facial recognition app so I can snap a shot of these fuckers and then if one of these fucking passes the phone camera anyone else with the app it'll set of there's a fucking imbecile in the vicinity alert.
These people need to be dragged out into the street, lined up against the wall and shot. No remorse. Toss them in a pit, cover it with dirt and be done with it. Why even bother with the execution? Throw them down the hole and fill it with dirt.
You don't have to go mental like it's the plague but people could at least show some fucking common sense, common decency and basic decorum. Even minimal measures, is that much to ask? Absolute scum of the Earth. How we even allow them to walk to Earth I do not fucking know.1 -
So, I work in a game development studio, right?
We're trying to launch the title on as many platforms as reasonable, because as a social VR app we're kinda rowing upstream.
So far, Steam and Oculus have been fairly reasonable, if oddly broken and inconsistent.
Enter store 3.
Basically no in-game transaction support (our asking prompted them to *start* developing it. No, it's not very complete). No patch-update system (You want an update? Gotta download the whole fsckin' thing!). No beta-testing functionality for most of their stuff ("Just write the code like the example, it will work, trust us!"). No tools besides the buggy SDK (Wanna upload that new build? Say hello to this page in your web browser!).
So, in other words: Fun.
We've been trying to get actively launched for two months now. Keep in mind that the build has been up on Steam and Oculus for over a year and half a year (respectively), so the actual binary functionality is, presumably fine.
The best feedback we get back tends to be "Well, when we click the Launch button it crashes, so fail."
Meanwhile we're going back and forth, dealing with other-side-of-the-world timezone lag, trying to figure out what is so different from their machines as ours. Eventually we get them to start sending logs (and no, Windows Event logs are not sufficient for GAMES, where did you even get that idea????) except the logs indicate that the program is getting killed so terribly that the engine's built-in crash handler can't even kick in to generate memory dumps or even know it died.
All this boils down to today, where I get a screenshot of their latest attempt.
I just can't even right now.5 -
I need some advice here... This will be a long one, please bear with me.
First, some background:
I'm a senior level developer working in a company that primarily doesn't produce software like most fast paced companies. Lots of legacy code, old processes, etc. It's very slow and bureaucratic to say the least, and much of the management and lead engineering talent subscribes to the very old school way of managing projects (commit up front, fixed budget, deliver or else...), but they let us use agile to run our team, so long as we meet our commitments (!!). We are also largely populated by people who aren't really software engineers but who do software work, so being one myself I'm actually a fish out of water... Our lead engineer is one of these people who doesn't understand software engineering and is very types when it comes to managing a project.
That being said, we have this project we've been working for a while and we've been churning on it for the better part of two years - with multiple changes in mediocre contribution to development along the way (mainly due to development talent being hard to secure from other projects). The application hasn't really been given the chance to have its core architecture developed to be really robust and elegant, in favor of "just making things work" in order to satisfy fake deliverables to give the customer.
This has led us to have to settle for a rickety architecture and sloppy technical debt that we can't take the time to properly fix because it doesn't (in the mind of the lead engineer - who isn't a software engineer mind you) deliver visible value. He's constantly changing his mind on what he wants to see working and functional, he zones out during sprint planning, tries to work stories not on the sprint backlog on the side, and doesn't let our product owner do her job. He's holding us to commitments we made in January and he's not listening when the team says we don't think we can deliver on what's left by the end of the year. He thinks it's reasonable to expect us to deliver and he's brushing us off.
We have a functional product now, but it's not very useful yet and still has some usability issues. It's still missing features, which we're being put under pressure to get implemented (even half-assed) by the end of the year.
TL;DR
Should I stand up for what I know is the right way to write software and push for something more stable sometime next year or settle for a "patch job" that we *might* deliver that will most definitely be buggy and be harder to maintain going forward? I feel like I'm fighting an uphill battle in trying to write good quality code in lieu of faster results and I just can't get behind settling for crap just because.9 -
So, for the past...what, week or so? I've been working on a side project with @gianlu. It's the PretendYoureXyzzy fork - our attempt to rejuvenate an old shitty piece of software.
I had started working on a fork alone, and then he asked to team up so I was like "Sure, I got nothing better to do." So, he's working on the backend (and hooking JS up to the backend) and I'm developing the frontend.
I don't know why I thought tech would stand still. Google says they're putting MDL on life support and replacing it with a much more complex successor, MDC. It's not hard to use, but what really bugs me is the lack of notice on getmdl.io. If you are switching to another project as your main focus, why the fuck wouldn't you advertise in the most places possible?
Granted, I don't do web design and/or development on the daily. Yes, I can do it, but I'm not always as up-to-date with web technologies as I'd like to be.
However, the screencap captured is the third time I've taken the knife to the UI. MDC is great tooling, at least to me. That dialog? Not something MDL would've had out the box on the first day. You'd have to work for that.
I don't have an issue with MDC, I have an issue with the lack of PR around it.6 -
So first of all merry delayed Xmas and of course wishing you all a happy new year.
Now...
I always loved designing and coding, yes I actually like it, I must be absolutely mental or something.. I finally after pushing myself through hours upon hours of courses, finishing most within 15% of the allotted time, and doing more then was requested, I finally found a job, related to front-end development. You might think "Gee; good for you buddy, you filthy commoner.." Well; it didn't last all too long, I basically after nailing the interview process got my first day there within a few days, now I am absolutely stoked and my nerves are shot, plus the 4 cups of coffee aren't helping. I literally was so nervous to do well on my first day, that I slept for only one hour, literally one bloody hour.
I get into the office where I am greeted by an amazing laptop, I mean high-end gaming 360 no-scope all over the place gaming. I sit down and start on getting all my tools ready to go (they let us use whatever IDE we wanted, which I thought was amazing) after getting my IDE and the plugins and all the emails/Slack etc setup, I then get told to get a Dropbox account. I assumed the Dropbox account was just there to share things quickly with the designers, we would obviously be using Git right?! Well; no not exactly, actually not at all - we all used the Dropbox account of one of the bosses, I swear everybody pushed and pulled stuff all the time, a copy of the boss's passport was in there as well, and they had projects from and up to 3 years ago, still in there... It took my Dropbox 3 bloody hours to grab as much as it could to actually allow me to get started...
I then to my absolute dismay notice that I would be working on a prefab of a prefab, basically the only thing I would be responsible for, is to adjust the animations and aligning elements.... Aligning and animations.... Fine, I guess it could be worse right? Started going along with it, using a framework that I never heard of before, till like a good 3 days before starting there called "Greensock" which is amazing I must admit, could've helped me allot on my solo-projects. Problem was; we had designers who wanted things, that just looked plain horrible, it was never 'on-point' so to say, maybe it's just me being a perfectionist but it just looked wrong.
Finally got it done after struggling with the prefabs and what not, then the day was almost over and I finally got to go home, fortunately dodging the drinking that was occurring around 4 in the afternoon in the middle of the office, it wasn't beers or anything of the sort - but hard liquor along the lines of Wodka and straight up Gin. I fortunately had a personal issue I had to attend too, so I got out of there before things got too crazy and they went out for dinner stumbling all over the place.
Well this wen't for a few more days (minus the drinking), with 8 being the exact number of days and my grievance list only kept growing. I was for one a junior-developer and thus with them knowing was supposed to get training from our lead, however; that never occurred instead said 'lead' would leave early or be completely absent on most days, leaving me to mess around with prefabs that did my head in, with no comments nor any indication what it did or should've done, I spent hours just adjusting one line of code at a time to see what would happen.
Eventually they told us to work from home only, so I did - did a project here and there and then got told they wouldn't keep me on board any longer, stating I was too inexperienced and they didn't have enough work (which was a load of bs) and that I lacked "office experience" whatever the heck that means, I was always sociable and hell I ever cracked people up, kept a neat and orderly list of things that needed doing, I even contrary to most commented on my code, so the next poor sod wouldn't be going through 'try by error' hell that I wen't through.
Either way; I currently have been feeling absolutely wrecked in terms of motivation, that job would've solved my financial situation and allowed me to finally do what I wanted to do. Instead of doing some random dead-end job each week or month, I would've had a steady income and something I could've built on.
But to add some positivism to this endless and too long of a rant... I'm currently going through a boot-camp and doing a small Linux based course on the side, this little thing isn't going to hold me back; yeah it will be tough, but then again most things don't come easy..
Thank you for reading and I hope you have allot and I mean allot more luck on your first job.5 -
Of course the shouting episodes all happened during the era I was doing WordPress dev.
So we were a team of consultants working on this elephant-traffic website. There were a couple of systems for managing content on a more modular level, the "best" being one dubbed MF, a spaghettified monstrosity that the 2 people who joined before me had developed.
We were about to launch that shit into production, so I was watching their AWS account, being the only dev who had operational experience (and not afraid to wipe out that macos piece of shit and dev on a real os).
Anyhow, we enable the thing, and the average number of queries per page load instantly jumps from ~30 (even vanilla WP is horrible) to 1000+. Instances are overloaded and the ASG group goes up from 4 to 22. That just moves the problem elsewhere as now the database server is overwhelmed.
Me: we have to enable database caching for this thing *NOW*
Shitty authors of the monstrosity (SAM): no, our code cannot be responsible for that, it's the platform that can't handle the transition.
Me: we literally flipped a single switch here and look at the jump in all these graphs.
SAM: nono, it's fine, just add more instances
Me: ARE YOU FUCKIN SERIOUS?
Me: - goes and enables database caching without any approvals to do so, explaining to mgmt. that failure to do so would impair business revenue due to huge loading times, so they have to live with some data staleness -
SAM: Noooo, we'll show you it's not our code.
SAM: - pushes a new release of the monstrosity that makes DB queries go above 2k / page load -
...
Tho on the bright side, from that point on I focused exclusively on performance, was building a nice fragment caching framework which made the site fly regardless of what shitty code was powering it, tuned the stack to no end and learned a ton of stuff in the process which allowed me to graduate from the tar pit of WP development.5 -
Product and Design have a common enemy. Yes, you guessed it right, Engineering.
The former aim to solve user problems and focus heavily on aesthetics most of the time. While the latter actually does it.
As a Product guy, I admit that I absolutely hate the role these days because all that are asked to focus on is engagement retention conversion and other fancy metrics. Community has missed the entire point of why the fucking role exist.
On the other hand, engineering always asks the best questions. Focuses on performance and scale while periodically checking on tech debt. Yes, they suck at business or sales but when the solution works, things automatically make money.
I DON'T FUCKING CARE HOW BEAUTIFUL YOUR APP IS, IF IT DOESN'T SOLVE MY PROBLEM THEN IT'S RUBBISH.
Functionality and UX matters to more than colour scheme or fonts. Reason why Amazon is a huge. They are functionally solving a great problem while constantly improvising UX and not giving a rat's ass on UI.
Another down side to your fancy design is that the UI elements make things heavier. No wonder engineers have always been the best problem solver.
We lost our way. Tech world needs to go back a decade or two to fix the tech debt.8 -
(long post is long)
This one is for the .net folks. After evaluating the technology top to bottom and even reimplementing several examples I commonly use for smoke testing new technology, I'm just going to call it:
Blazor is the next Silverlight.
It's just beyond the pale in terms of being architecturally flawed, and yet they're rushing it out as hard as possible to coincide with the .Net 5 rebranding silo extravaganza. We are officially entering round 3 of "sacrifice .Net on the altar of enterprise comfort." Get excited.
Since we've arrived here, I can only assume the Asp.net Ajax fiasco is far enough in the past that a new generation of devs doesn't recall its inherent catastrophic weaknesses. The architecture was this:
1. Create a component as a "WebUserControl"
2. Any time a bound DOM operation occurs from user interaction, send a payload back to the server
3. The server runs the code to process the event; it spits back more HTML
Some client-side js then dutifully updates the UI by unceremoniously stuffing the markup into an element's innerHTML property like so much sausage.
If you understand that, you've adequately understood how Blazor works. There's some optimization like signalR WebSockets for update streaming (the first and only time most blazor devs will ever use WebSockets, I even see developers claiming that they're "using SignalR, Idserver4, gRPC, etc." because the template seeds it for them. The hubris.), but that's the gist. The astute viewer will have noticed a few things here, including the disconnect between repaints, inability to blend update operations and transitions, and the potential for absolutely obliterative, connection-volatile, abusive transactional logic flying back and forth to the server. It's the bring out your dead approach to seeing how much of your IT budget is dedicated to paying for bandwidth and CPU time.
Blazor goes a step further in the server-side render scenario and sends every DOM event it binds to the server for processing. These include millisecond-scale events like scroll, which, at least according to GitHub issues, devs are quickly realizing requires debouncing, though they aren't quite sure how to accomplish that. Since this immediately becomes an issue with tickets saying things like, "scroll event crater server, Ugg need help! You said Blazorclub good. Ugg believe, Ugg wants reparations!" the team chooses a great answer to many problems for the wrong reasons:
gRPC
For those who aren't familiar, gRPC has a substantial amount of compression primarily courtesy of a rather excellent binary format developed by Google. Who needs the Quickie Mart, or indeed a sound markup delivery and view strategy when you can compress the shit out of the payload and ignore the problem. (Shhh, I hear you back there, no spoilers. What will happen when even that compression ceases to cut it, indeed). One might look at all this inductive-reasoning-as-development and ask themselves, "butwai?!" The reason is that the server-side story is just a way to buy time to flesh out the even more fundamentally broken browser-side story. To explain that, we need a little perspective.
The relationship between Microsoft and it's enterprise customers is your typical mutually abusive co-dependent relationship. Microsoft goes through phases of tacit disinterest, where it virtually ignores them. And rightly so, the enterprise customers tend to be weaksauce, mono-platform, mono-language types who come to work, collect a paycheck, and go home. They want to suckle on the teat of the vendor that enables them to get a plug and play experience for delivering their internal systems.
And that's fine. But it's also dull; it's the spouse that lets themselves go, it's the girlfriend in the distracted boyfriend meme. Those aren't the people who keep your platform relevant and competitive. For Microsoft, that crowd has always been the exploratory end of the developer community: alt.net, and more recently, the dotnet core community (StackOverflow 2020's most loved platform, for the haters). Alt.net seeded every competitive advantage the dotnet ecosystem has, and dotnet core capitalized on. Like DI? You're welcome. Are you enjoying MVC? Your gratitude is understood. Cool serializers, gRPC/protobuff, 1st class APIs, metadata-driven clients, code generation, micro ORMs, etc., etc., et al. Dear enterpriseur, you are fucking welcome.
Anyways, b2blazor. So, the front end (Blazor WebAssembly) story begins with the average enterprise FOMO. When enterprises get FOMO, they start to Karen/Kevin super hard, slinging around money, privilege, premiere support tickets, etc. until Microsoft, the distracted boyfriend, eventually turns back and says, "sorry babe, wut was that?" You know, shit like managers unironically looking at cloud reps and demanding to know if "you can handle our load!" Meanwhile, any actual engineer hides under the table facepalming and trying not to die from embarrassment.36 -
Fuckin RAZER. Part 2. "SOLVED!!!"
This will be both a rant and a shout out.
Firslty, fuck RAZER. I don't who in the actual fuck makes the software for these peripherals, but while the hardware is decent the entire software team should be tarred and fucking feathered. Just beaten bloody with a rubber hose. And then publicly paraded and shamed through whatever backwater shithole they call home all while their mothers look on crying their eyes out.
Anyway, some of you may be familiar with my Razer peripherals on Mac saga.
To refresh your memories... I got 4 razer devices for my b-day from my wife. I was very stoked. They work great on Windows 10. They work for shit on Mac and the software to manage their colors, Synergy 3, is not available on Mac, and the version that is, Synergy 2, basically does not work and hasn't worked for like two years and would only work for two of these peripherals anyway and it would appear Razer does not give a shit. Fuck.
Ok, we caught up? Good.
In our last episode I ran up a full Windows 10 VM AND a full Debian VM just so I could jumpstart these god damn peripherals into a solid color.
Why so much work?
Because by default they rotate the color spectum fucking SEPARATELY... so it's just a god awful mess of rando RGB.
So, by running Synergy 3 on the Windows side, and then an open source package called Poloychromatic on the Debian side I was able to patch together preferences through the two programs... and I found quitting out of them hard kept the keyboard, mouse, mousemat, and dock color settings until the next reboot while working on my Mac.
For WEEKS I WENT THROUGH THIS FUCKING PROCESS AT EVERY REBOOT.
Reboot. Run up Windows 10 VM, update Synergy 3, log into Synergy 3, Open Synergy 3, Wait like 90 seconds, Synergy 3 finally fucking gets ahold of my mouse pad, mouse, and dock (not the keyboard).
Run up Debian VM (at least its fast), start polychromatic, set the keyboard solid color.
Then quit them both and my colors are set until reboot.. This is, for lack of a better turn of phrase, the most fucking ridiculous thing ever.
I had to do a 400 fucking megabyte update today for the Synergy 3 software that lives INSIDE my god damn VM. A VM only created in the first damn place to run synergy 3 and then fucking die. And it put me over the edge.
I committed to finding a better way this evening. I started looking into trying to port polychromatic to macOS my god damn self only to find this badass mother fucking kid Ken Chen wrote a whole god damn macOS package and put it up on GitHub.
Fuck fucking YEEEEEESSSS!!!
So thanks to Ken Chen, a student from Australia with 12 Github followers, who was single handedly able to write a better software product than the entire fucking team at SHIT FOR BRAINS fucking Razer.
https://github.com/1kc/razer-macos4 -
Small company, sole engineer. Non-tech management. Increasingly fancy job titles despite working alone most of the time, with the promise of hiring someone (again) I can actually manage soon.
Backlog of projects/tasks is truly a mindfuck, with new things being added each week. This backlog will never ever get done, and nothing matters anyway because the next idea is "the future", all the time.
While I have influence on some aspects of decision making, it usually ends up being what the boss wants. Actively opposed a project because it's just too big of an undertaking, it was forced through anyway. I'm trying to keep the scope manageable as I'm building it now, and it's hard.
"It's the future, we absolutely have to do this. It will be the biggest thing we've ever done."
Boss's excitement then quickly faded since it's actually in development, now nobody really seems to want to know where it's at, or how it will all work. I need to scope it out, with the knowledge that many decisions boss signed off will be questioned when he actually looks at it. We now have even more "exciting" ideas of utter grandeur. Stuff that I can't even begin to comprehend the complexity of, while struggling to keep a self imposed deadline on the current one.
Every single morning we sit on Zoom for a "valuable" "catch-up". This is absolutely perfect for one thing: Completely destroying whatever drive and focus I have going into the day. Unrelated topics, marketing conversations, even more ideas, ideas for ideas sake, small problems blown out of proportion, the list goes on. I recently argued in detail why it should be scrapped or at least be optional to attend. No luck, it's "valuable".
Today a new idea was announced, and we absolutely have to do it ASAP because it can only be better than the current solution. I raise my concerns, saying it's not as easy as you make it out to be, we should properly think about it. Nope! We'll botch something to prove that it works... So you'll base your decision whether it's good on some half ass botch job that nobody really has the mental capacity to actually pay attention to. What a reliable way to measure!
"Our analytics data isn't useful enough to tell us the impact of things we do. We (you) have to fix this." Over the last 2 or so years, I've been pushing for an overhaul and expansion of our data analysis capabilities for exactly this reason. Integrating different data sources into a unified solution so we can easily see what we're doing, etc. Nope, never happened.
The new project idea which is based on wild assumptions is ALWAYS more important than the groundwork.
Now when I mentioned that this is what I wanted to do all along, it got brushed aside. "We don't need to do anything complicated, just fix this, add that, and it's done. It should be an easy thing to do. This is very important for our decision making." Fine, have it your way.
I'm officially burned out. It's so fucking hard to get myself to focus on my work for more than an hour or two. I started a side project, and even that effort is falling victim to my day-job-induced apathy.
I'm tempted to hand in my resignation without another offer on the table. I just need time to rediscover my passion, and go job hunting from that position, instead of the utter desperation of right now.
If you've read through all this rambling, kudos to you!8 -
Story Time!
Tittle: About Larry.
Fun Game: Tell me if / when in this story you know the plot twist.
Setting: Years ago, non coding job.
I work with Larry a lot, Larry works remote. In technical terms Larry is senior to me and I escalate some technical issues that get assigned to Larry. I've never met Larry in person.
Larry can be hard to work with, but he's plenty good at his job and I don't mind his prickly side. Sometimes it takes telling Larry something a few times before it sinks it, but that's not a big deal. Sometimes it seems like Larry doesn't remember his cases entirely, but he has a lot of cases. Also Larry has good reason for how he works considering the land of scubs who usually escalate to him without any thought / effort.
Larry's escalation team is short staffed and they're trying to hire folks, but that's been like that forever.
So one day I get an email that Larry is going to be out of the office for a few weeks. Nothing unusual there.
My current case that I share with Larry sort of floats in limbo for a while. The customer is kinda slow to respond anyhow and there's nothing that I need Larry for.
Finally I get automated notice that my case has had a new escalation engineer. Laura. Laura is much more positive and happy compared to Larry. Understandably Laura isn't up to date on the case so we go back and forth with some emails and notes in the case.
The case is moving along just fine, we're making progress, but it's slow because of the customer's testing procedures. Then we hit a point where this customer's management pushes on sales for a solution (this customer's management is known for doing this rando like for no reason).
Down the management chain it goes and everyone wants a big conference call to get everyone up to date / discuss next steps (no big deal).
Now I really don't want to do this with Laura and throw her into the deep end with this customer, she doesn't have the background and I'd rather do this call with Larry & Me & Laura. Also according to the original email Larry is due back soon.
I start writing an email to Laura about "Let's try to schedule this for when Larry gets back."
Then I stop ... I don't really know why I stop but when it is a "political case" I want some buy in on next steps from management so I go talk to my manager.
-Plot Twist Incoming-
Long story short, my manager says:
"Laura IS Larry..."
O
M
G
I had no idea. Nobody told me, nobody told ANYBODY, (except a couple managers).
Back up a few months Larry apparently went to his managers and told them he was going to transition, surgery and all, in a few months.
Managers wondering how to address this went to HR and some new hire very young to be a manager HR manager drone logiced out in her bonkers head that "Well it shouldn't matter so don't tell anyone."
ARE YOU FUCKING KIDDING ME!!??
Thank god I didn't send that email...
I did send an email to Laura explaining that I had no idea and hoped I didn't say anything stupid. She was very nice about it and said it was all good.
After that incident made the management rounds (management was already fuming about being told not to tell anyone) things came to another critical point.
Laura was going to visit the company HQ. Laura had been there before, as Larry, everyone knew her as Larry... nobody (outside some managers) knew Laura was Larry either. With nobody knowing shit Laura was going to walk in and meet everyone ...
One manager at HQ finally rebelled and held a meeting to tell his people. He didn't want Laura walking in and someone confused, thinking it was a joke or something horrible happening.
HR found out and went ballistic. They were on a rampage about this other manager, they wanted to interview me about how I found out. I told HR to schedule their meeting through my manager (I knew they didn't want my manager to know they were sniffing around).
Finally the VP in our department called up the HR head and asked WTF was going on / kind of idiots they had over there (word has it legal and the CEO were on the call too).
HR had a change in leadership and then a couple weeks later there were department wide meetings on how to handle such situations and etc.27 -
So this happened a few days ago.
Me: (chilling like a mo'fucka then suddenly an email alert)
*Opens email and realises it's from a recruiter*
Recruiter: We are a venture-based startup out of LA, funded by a top VC. We have developed the first turnkey Serverless Swift platform for app development.
We are looking at expanding our team and we have a few different openings for remote and contract work.
Simply reply to this email with your resume attached.
Me: Thanks for reaching out and presenting me with this opportunity.
I plan on going back to school this January and for that reason I humbly have to bow out.
I will surely keep an eye out for {company_name}. The idea is rather interesting I should say.
*I go back to chilling like a mo'fucka*
*The next day I'm at work, I get an email from the same recruiter again*
Recruiter: Thank you for submitting your resume.
We are expanding our team and are looking for Swift rockstars to join the movement of bringing server-side Swift to the masses.
We were impressed by your resume and wanted to get to know you better. This survey is the first step in that process.
Please take a moment and complete. It should not take longer than 10 minutes.
Me: ...........................
*Calmly walks away from my desk to the bathroom*
WHAT FUCKING RESUME HAVE I SUBMITTED TO YOU? BITCH, MY EMAIL EXPLICITLY SAID: THANKS BUT NO THANKS...
You can't just force an applicant3 -
A loooong time ago...
I've started my first serious job as a developer. I was young yet enthusiastic as well as a kind of a greenhorn. First time working in a business, working with a team full of experienced full-lowered ultra-seniors which were waiting to teach me the everything about software engineering.
Kind of.
Beside one senior which was the team lead as well there were two other devs. One of them was very experienced and a pretty nice guy, I could ask him anytime and he would sit down with me a give me advice. I've learned a lot of him.
Fast forward three months (yes, three months).
I was not that full kind of greenhorn anymore and people started to give me serious tasks. I had some experience in doing deployments and stuff from my other job as a sysadmin before so I was soon known as the "deployment guy", setting up deployments for our projects the right way and monitoring as well as executing them. But as it should be in every good team we had to share our knowledge so one can be on vacation or something and another colleague was able to do the task as well.
So now we come to the other teammate. The one I was not talking about till now. And that for a reason.
He was very nice too and had a couple of years as a dev on his CV, but...yeah...like...
When I switched some production systems to Linux he had to learn something about Linux. Everytime he encountered an error message he turned around and asked me how to fix it. Even. For. The. Simplest. Error. He. Could. Google. Up.
I mean okay, when one's new to a system it's not that easy, but when you have an error message which prints out THE SOLUTION FOR THE ERROR and he asks me how to fix it...excuse me?
This happened over 30 times.
A. Week.
Later on I had to introduce him to the deployment workflow for a project, so he could eventually deploy the staging environment and the production environment by hisself.
I introduced him. Not for 10 minutes. I explained him the whole workflow and the very main techniques and tools used for like two hours. Every then and when I stopped and asked him if he had any questions. He had'nt! Wonderful!
Haha. Oh no.
So he had to do his first production deployment. I sat by his side to monitor everything. He did well. One or two questions but he did well.
The same when he did his second prod deploy. Everythings fine.
And then. It. Frikkin. Begins.
I was working on the project, did some changes to the code. Okay, deploy it to dev, time for testing.
Hm.
Error checking out git. Okay, awkward. Got to investigate...
On the dev server were some files changed. Strange. The repo was all up to date. But these changes seemed newer because they were fixing at least one bug I was working on.
This doubles the strangeness.
I want over to my colleague's desk.
I asked him about any recent changes to the codebase.
"Yeah, there was a bug you were working on right? But the ticket was open like two days so I thought I'll fix it"
What the Heck dude, this bug was not critical at all and I had other tasks which were more important. Okay, but what about the changed files?
"Oh yeah, I could not remember the exact deployment steps (hint from the author: I wrote them down into our internal Wiki, he wrote them done by hisself when introducing him and after all it's two frikkin commands), so I uploaded them via FTP"
"Uhm... that's not how we do it buddy. We have to follow the procedure to avoid..."
"The boss said it was fine so I uploaded the changes directly to the production servers. It's so much easier via FTP and not this deployment crap, sorry to say that"
You. Did. What?
I could not resist and asked the boss about this. But this had not Effect at all, was the long-time best-buddy-schmuddy-friend of the boss colleague's father.
So in the end I sat there reverting, committing and deploying.
Yep
It's soooo much harder this deployment crap.
Years later, a long time after I quit the job and moved to another company, I get to know that the colleague now is responsible for technical project management.
Hm.
Project Management.
Karma's a bitch, right? -
!rant
We were finishing another sprint of our grocery shop site at school and it was time for a demo.
There we are, showing our work before the other students. Our teams have a healthy habit of always checking each other not to leave some stoopid mistakes in the final versions, so everybody always regExes and validates THE SHIT out of every input field, both in the view and on the server side. But this one team found out that sometimes it's not enough.
Like every team, they're asked to buy a negative value from their shop. The guy clicks through the process, buys exactly -1 of a banana. He clicks the button to purchase and the site returned "Added banana to the cart!" and we're like "haha n00bz". But someone asked them to show the cart and everyone stopped immediately.
There were 9999 bananas in the cart.
Turns out the member responsible for purchase validation made it add 10000 if the quantity of a bought product was negative.
To this day I can't understand why he did that. xD4 -
In a time where a web dev is expected to know, well.. everything... Backend -JAVA, python, nodejs and C++ would be great.
Front- angular, react, other 10 libs
DBs -sql, mongo, redis, elastic, kafka, rebbitmq
Also be devops on the side with AWS and docker kubernetis and more stuff
How the f is that possible?
In my real job for the last couple of years and different companies, I usually use 1 language/framework & 1 main DB.. and although it's possible in some companies, but in mine, ppl dont get access to AWS etc..
So let's say there's me.. a server side dev for years.
So I decide to be better and learn Golang.. cool lang, never needed in my job, after few days of not using it I forgot all I learned and that was it.
Then I realized I gotta know some frontend cause everyone want a fullstack ninja nowadays.. so I tried Vuejs.. it was amazing .. never got to use it at work, cause i was a backend, and we didnt use frameworks on our products back then..
Also forgotten.
Then I decided to learned nodejs, because this is the coolest thing ever.. hated it, but whatever... Never got to use it at work, cause everything was written in other lang which the whole team knew... Forgot the little i knew.
Then I decided, its time to see what Angular is, cause everyone started using it... similar idea to vuejs which i barely remembered, but wow it's a lot of code to remember, or I'll have to google everything.. so I went over it, but can't say i even learned it.
Now Im trying to move on to python, which, I really am learning in depth.. however, since I dont have real experience with it, no one gives me a shot at being a python dev, so again i feel like I'm trying to memorize syntax and wasting my time..
Tired of seeing React in all job ads, i decided to have a look what's that all about.. and whadoyaknow... It's fucking the same idea as vue/angular with again different syntax..
THIS IS CRAZY!
in how many syntaxes do i need to know how to make a fucking crud api, and a page with same fucking post form, TO BE A GOOD PROGRAMMER?!?6 -
Hey! This is a followup to my last story.
TL;DR: I thinking of quitting my old job, got an offer at a startup, about the same pay, but much better working conditions.
First of all, the meeting with my lead. It was a performance report on her side to me, and I got 100 to 110% in performance in all points. My lead said "this team without you wouldn't be this team anymore" - which makes me feel a little bit bad for her if I decide to quit. She is a great team lead, but I don't belive the old company is worth my time anymore.
Now to the new company. Shortly after that performance report meeting, I had a call with the ceo, and what do I have to say besides: What a cool dude. He listened to me, asked me questions about my previous jobs (not just as programmer) and so on. But because first looks are deceiving, I went to their office last thursday. And wow. Their are exactly what I imagined them to be. Cool, young folks, 100% tech enthusiasts, and open minded.
One of the new hires in the new company wanted a 6 months internship between his studies. Instead they offered him a full time job - for the 6 months. They even offered me to pay back my scholarship that I will own my old company for leaving early. This is awesome.
The only things that will be worse than my old job are, that I have to negotiate payment instead of yearly increases, 4 days less paid vacation, so only 26 days, and 40h weeks. And they have no workers council, which isn't good, but it's not the worst either.
I got them fixed on 57.000€, not including an up to 10.000€ annual bonus. The way you achieve your bonus seems good to. It's split in two parts, internal and external bonus. Internal bonus is when you engage with internal events like tech calls, sharing your knowledge on your main IT topics, etc. External Bonus is a bit more complicated, but also straight forward. You work on projects for customers, and if you have less than 3 weeks a year that you dont participate in an project, you get the full bonus.
Last friday, I filed a request for a certificate of employment from my current team lead, this is odd for her because I have never done it before, and she asked why I requested it. I said to her that we can talk about it, and she agreed but didn't call me, yet.
Lastly, another good friend of mine will be employed by my team soon, but for a fraction of the payment that I currently receive! He is doing the exact same work, and even worse, he is doing project managment for his main developer project too! And is getting less paid... I just cant...
Yesterday we needed to update a few cloud instances, the only other person who knows about setting up CICD and our OpenShift Containers than me is only in part time and works two days a week, his trainee didn't know anything, so it's up to me. This isn't hard or anything, but it shows that this system our mangement maintains will fail soon, maybe even with me going? I sure hope so tbh.
One of you guys said, I should go to my team lead and negotiate a higher pay, but the truth is, that because we are a big ISP we have an collective agreement for payment and are grouped by tasks (which is bull shit btw, because I'm doing tasks much higher paid than currently). This also means that I cannot simply jump in another group, and can only increase my current pay to about 115%, which is done automatically every year by 5% up to 115%. Anything above is considered extra, but I don't think they will go with it.
I will decide this week about my future at the old company, but I really don't know what to do...2 -
Below is a transcript from work Slack today. Only the names and some code are changed. It ended up causing a bit of drama. DevRanters, what do you take from this?
---
Delivery Lead:
Hey Gang. What's the blocker for FEATURE-123?
Dev1:
FEATURE-122 crashed on iOS app when viewing Feature Introduction page.
Teach Lead:
I've talked about this with Dev1 on a side channel.
And diagnosed the stack trace.
It looks like there is/was some bad handling of a List in the Feature Introduction view logic.
But this is confined to changes that Dev2 is still working on.
(It's not present in master)
Dev2, what's your current position on this?
Dev2:
I have tested at my end with Dev1 but it seems to be working fine
Tech Lead:
There is a race condition related to the use of someList.first()
My guess is that theres a Flow of those lists defined, with an initial value of emptyList
And that on your machine, that Flow is updating with a new value quickly enough that it doesn't matter.
But on Dev1's, for whatever reason, it doesn't get there in time, hits the empty list and falls over.
The logic that's performing the first() needs to gracefully handle empty lists as well.
Dev2:
Where is that logic called?
Tech Lead:
Here's the stack trace Dev1 provided in our conversation earlier:
Caused by: kotlin.NoSuchElementException: List is empty.
...
at 3 iosApp 0x00000000 kfun:kotlin.NoSuchElementException#<init>(kotlin.String?){} + 00
at 4 iosApp 0x0000000 kfun:kotlin.collections#first@kotlin.collections.List<0:0>(){0§<kotlin.Any?>}0:0 + 000
...
at 9 iosApp 0x0000000 kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 0000
This line:
kfun:kotlin.collections#first@kotlin.collections.List<0:0>()
...says that it's first() being called on an empty list.
Dev1:
FYI: Dev3/Dev4/myself are seeing the same issue with the same stack-trace above.
Tech Lead:
So Dev2, have you introduced such a call?
Because I checked master branch and there isn't one, in that version of the file.
Ok, I'll check your working branch Dev2
...
Yes you have here:
var processed1 = someList.first()
var processed2 = someList.first()
...
Lines 123, 124.
Solution looks really straightforward guys.
Dev2:
Okay, I will fix that and push the change
Tech Lead:
Check if someList is empty and allow for generating / handling null processedValues in the view.
Now; I'm going to be straight with you here.
This issue has been discussed over several hours today.
I expect that either one of you could have gone through the process I did in the last 10 minutes above, and resolved it in the same way :point_up:
Dev2:
I went on a break and it's not reproducible on my machine
Tech Lead:
I didn't reproduce it on mine either.
Dev1:
Dev2 and myself are now on sharing screen to sort this issue out. Hope to update back later.
Tech Lead:
<Screen shot of diff with changed code>
:point_up: That change should do it.
Dev2:
Already have pushed the change.
Tech Lead:
...just seen it, is good - same approach :ok_hand:
Dev1 please let us know when tested on your machine.
Dev1:
That does it. It fixes the issues. Thank you, Dev2. I will pick it off from here.
Tech Lead:
Glad to hear it guys.
Dev1:
I have to say this that it is not because we are not working on the issue - Dev2 and myself (together with Dev3/Dev4) have been on this issue all this morning. It just difficult to connect the dot when it wasn't reproducable on Dev2's machine. I brought the issue up because I wanted to switch to working on other tickets while waiting for this to resolve. Still thank you largely for Dev2's work and your keen eyes that spot and resolve the issue quickly.
Tech Lead:
Noted Dev1.
I think the take-away has to be to read the stack-trace carefully... don't worry - we've all been guilty of not reading the error in full, at some point.
The stack trace said that the 'first' element is being referenced from an empty list - that's just logically impossible, right?
Looking for that call to first, we saw it wasn't in the code before, and is after (two of them, in fact).
So then we ask ourselves, how can we deal with an empty list - and then solution almost presents itself.
It didn't really take reproduction of the error to resolve.
Maybe working with a new tech stack creates an anxiety that every issue faced will have a complex solution related to that stack; but I think you'll agree, this particular issue really just required a deep breath and your trusty 'debugging skills 101'... don't lose them! :smiling_face:4 -
Job BS that made me consider quitting?
Huh. so timely.
With my previous employer, it was the whole "we're doing Agile and sprints and all the things" with "finish the project in six weeks plus here are some more requirements" garbage. Plus my tech lead always let the business roll over her and add unplanned requirements during a sprint without adjusting the deadlines set by the project managers. In summary: a fuck-all combination of Waterfall deadlines, Kanban tickets and Scrum timeboxes.
At my current employer, it's our business partners who're a bunch of douchebags that don't plan for anything except making sure their bonuses stay intact. Recently they terminated support for a third-party product that literally drives 99% of their web application then says to us "Hey, we need to build our own replacement for the vendor product using an entirely new stack. You have 3 months or our clients will get pissed." Oh, and these business partners keep raising new issues without any documentary basis except "this doesn't feel right" when they test our in-progress work. So helpful <sarcasm />
On the bright side, I'm getting paid whether or not this project fails, so... meh. -
So we started a new Unity video game project for mobile in June 2021. Hooray!
Being a mobile project, one of the earliest things we think about is scaling the interface across all sorts of device screen resolutions and aspect ratios, right? Well, to preemptively solve this problem early on, I decided to letterbox the game view - just choose one aspect ratio for the game and pad black bars to the sides of the screen. Simple, solves the game's world space problem without trying too hard, and it automatically adapts to Android's split-screen mode.
I showed the early builds to management as well as game design team and they gave me some general nods. Sounds like green light ahead. I spent the next few months building the game logic and scale the UI around a consistent letterboxed game view. If you had experience scaling Unity UI to a letterboxed area, you should already knew that it takes a whole paradigm of its own that's kinda hard to break out of, but the fact that it stays consistent across all screen aspect ratios is so worth it. Regardless, the biggeer benefit of letterboxing is simpler world space setup. You don't worry about whether this particular area will be overflowed horizontally or vertically in a particular device or not. You have a 9:16 window to view the world through, nothing needs to move at runtime and that's about it.
Fast-forward to early September 2021 and 40+ builds later, the GD started having concern that the playing area is not filling up his phone screen and that the letterboxes are bothering him. He wants to get rid of the letterboxes and wants the game world as well as UI to fill up his screen.
Yes. After 40+ builds, for all of which the letterbox was present, nobody in the project raised a concern about the letterbox. It's only NOW that they all of the sudden side with the GD and demand the removal of the letterbox. I feel like almost half of my effort on this game has been wasted. These clueless guys didn't spend one second looking at the early builds thinking of the possibility that the black bars at the top and bottom of their phone screens (which I repeat: has been around since the very first build) is gonna bother them? Somebody must be playing a cruel joke at this company. They had all the chances to bring this up as a potential issue and TODAY is the first time I hear of it.
See, designers. You waste our time and your time by doing this kind of thing. Please raise your issues early. Complain to us ASAP. If you wait for so long before raising an issue that has been in-your-face the whole time, I can't fault any developer for assuming you're trying to play a long prank. I can tell designers right now: it's not funny.1 -
TL;DR Shit programer trying pass off stealing code as "Recycling"
Backstory:
Client hires senior dev. He lied and knows nothing. Has been causing havoc in production since day 1. My crusades to defend production have been without much success.
Since he wants to LITERALLY put his name on every big project, he finds any reason to make a new version of it (or make a slight astetic modification) to say he did something.
The client doesn't know or care about the programming side of things. Which means it is incredibly difficult to get him to understand the issues this brings. Not to mention that the "senior dev" is acting as a consultant to the client, altering the facts.
Story:
The piece of shit, is trying to make a new version of a big project. It was originally made by my mentor. Again, if you are using someone else's work to complete your own, I don't care. But if you take 99% of another person's work and then say...
"I took and existing project, which was similar to what I'm trying to make. Then I modified it to fit our needs."
Fuck you man!
You took someone else's work. Now you're trying to present it as your own. No references to our team. Again, there is literally nothing new about this project. It's exactly like the original. The client didn't even ask for this.3 -
So in our last retros some of my colleagues suggested to (forced) limit the number of lines per method in order to "maximize our code quality".
In the one hand I can see the benefits of this, such as easier testability when having more sperate testable blocks of logic.
But on the other side their code contains lots of such one or two lines private methods which get most of the cases not more than one time called. (And which I then can't even test separately)
I don't understand how this should help...
Is this really a thing? Am I just not "clean" enough?
(it's c# btw)3 -
I'm in a dilemma.
I started this job about 9 months ago and it's really not what I expected. I'm the sole developer in my department that handles applications built around our customer database.
Well it's pretty boring and there is a lot of technical debt with the source code since usually 1-2 people are taking care of it so they never had proper conventions. And we have super old applications running on legacy solutions like cold fusion 🤢
I also receive a lot of problem tickets that never contain enough information to actually do anything and the people don't realize I have no idea what they do or what their business processes are.
The upside is I'm paid very very well for this job > 100 in a place where cost of living is cheap. And when there's no work to do I can work on side projects.
It's really not fulfilling work and idk if I should stick it out. I also don't know where I would head next. There's not very many companies working on cool stuff. Maybe remote work?
Anyone else have a similar story?6 -
Most of the faculty on my college's IT engineering department aren't exactly adept with Linux, despite the fact that 10/12 labs in our building run on Ubuntu.
Last week, a really great professor (who doesn't take any classes I can attend) from the Electronics and Communications department and I wrote some bash scripts to automate updates and so on, staying back after college until late evening to try to get the PCs updated.
We'll be trying to use SSH to update as many computers as we can remotely, and trying to learn to use Cron to automate the whole updating deal.
I'm learning this stuff on the side, since it's not on my syllabus at all, and the professor isn't even related to the departments that run the labs usually.
We're not getting anything for doing this, the head of my department (who has it in for me) has no idea about this, and nobody else is bothered enough to learn either. -
DEAR NON TECHNICAL 'IT' PERSON, JUST CONSUME THE FUCKING DATA!!!!
Continuation of this:
https://devrant.com/rants/3319553/...
So essentially my theory was correct that their concern about data not being up to date is almost certianly ... the spreadsheet is old, not the data.... but I'm up against this wall of a god damn "IT PERSON" who has no technical or logic skills, but for some reason this person doesn't think "man I'm confused, I should talk to my other IT people" rather they just eat my time with vague and weird requests that they express with NO PRECISION WHATSOEVER and arbitrary hold ups and etc.
Like it's pretty damn obvious your spreadsheet was likely created before you got the latest update, it's not a mystery how this might happen. But god damn I tell them to tell me or go find out when the spreadsheet was generated and nothing happens.
Meanwhile their other IT people 'cleaned the database' and now a bunch of records are missing and they want me to just rando update a list of records. Like wtf is 'clean the database' all about!?!?!?
I'm all "hey how about I send you all records between these dates and now we're sure you've got all the records you need up to date and I'll send you my usual updates a couple times a day using the usual parameters".
But this customer is all "oh man that's a lot of records", what even is that?
It's like maybe 10k fucking records at most. Are you loading this in MS Access or something (I really don't know MS Access limits, just picking an old weird system) and it's choking??!?! Just fucking take the data and stick it in the damn database, how much trouble can it be?!!?!?
Side theory: I kinda wonder if after they put it in the DB every time someone wants the data they have some API on their end that is just "HERE"S ALL THE FUCKING DATA" and their client application chokes and that's why there's a concern about database size with these guys.
I also wonder if their whole 'it's out of date' shit is actually them not updating records properly and they're sort of grooming the DB size to manage all these bad choices....
Having said all that, it makes a lot more sense to me how we get our customers. Like we do a lot of customer sends us their data and we feed it back to them after doing surprisingly basic stuff ever to it... like guies your own tools do th---- wait never mind....1 -
i'm waiting for a package manager to come out that compiles everything you have it install from source to "guarantee" it runs on your machine, then have it autopost a SO question when it fails (not if, WHEN) and autotest answers given, then if it didn't work it'd reply saying it didn't work and giving the new error (if appropriate). This'd shut up the "lol it works on my side" and "lol compiling's easy" douchebags and also probably help drive home the importance of providing binaries for things and making them well.
also fuck devkitPro, it's not unreasonable to provide packages for other package managers than Arch's pacman since EVERYONE ELSE DOES IT. And no, "lol just compile from source" doesn't help as it doesn't work when you do. And it doesn't work BECAUSE you don't WANT it to so we HAVE to patchwork pacman into our other distros to get your shitty dev tools. you could also just provide a fucking zip of everything compiled, since then there'd be less effort than maintaining your own copy of pacman and servers and shit just to try and help people desperate enough to try crippling their Windows/Mac/Linux install all because they haven't drank the Arch koolaid.
Fuck those douchebags, fuck devkitPro and... probably fuck you too? Probably? Maybe?
holy shit i really needed to get that shit off my chest i apologize for that3 -
Product Owner (PO) the problem with this sharing widget it loads slow and people might scroll past it.
Me: ok. Let's make it fixed on the side of the page so that it's always seen, but not intrusive.
PO: No. It's not how the brand should look. And it might cover 1% of the skin ad. Let's make our own widget.
Me: that would require to create several apps on social networks and maintain the code internally instead of using a centralised service that many people already provide. You don't have the money for that.
PO: sorry I got distracted by this bird outside the window.8 -
Unable to access cpanel/whm due to IP changed error.
called HR
me : please connect me to networking team (out sourced)
hr : why ?
me : I have some issue to access cpanel. I contacted to hosting comapny but it is not their fault so may be it's our network issue.
hr : explain me in details.
me : ok
from morning I am trying to access whm because our website is out of bandwidth limit and showing 509 error ,I contacted to hosting comapny but they explained me problem from our side. SO i wanted to talk with network team about this issue because I am not using any proxy or vpn even my tor browser is off too still ip chaged error giving frustation. second reason I am frusted that my public IP and private IP is not chaged.
one more your windows pc freeze 3 times from morning.
do you need in detailed technical reason why I want to talk with them.
hr : no no no *hang up*
after 2 minute *my landline ring*
hr : network engineer on other side.
fair enough2 -
Aarrrgghhhhh!!! I am so fucking pissed off right now. It seems like I am paying for my sins in this life.
1. My cousins/relatives outcasted me after a little fault of mine. I used to think highly of them and respected them all my life and this how they acted on me.
Because of this, the entire family is boycotting my parents and they are pissed at me for getting them disowned.
2. My health is a mess. A toxic infection along with SAD creeping in due to less sun exposure. No matter how much I take care of myself, some shit shows up after periodically.
3. My wealth scene is as confusing as it can get. Not only I am unable to make up my mind on the finance strategy and execute it, but also frantically making silly decisions which is causing stress, confusion, and expenses.
4. That Narcissist bitch who abused me and destroyed my will to live is still stalking me after months and causing harassment. Only if the gender roles were reversed, the guy doing so would be in jail but fuck our legal system that biased towards women. This shit is causing me psychological distress.
5. Been away from work for few days due to sickness. I texted my talkative colleague whether she'd like to sync up and help me get upto the speed with updates. I listed 4 bullet points as agenda from my side. They were crisp short serving as pointers to remember. I even asked her to add her points if any.
Now she comes back saying that the way I send communication is it seems like she reports to me.
I have been praised time and again by countless people on my communication structure and soft skills. Never once I received such feedback in years.
I do accept it gracefully. However, I am unsure whether it is even a relevant feedback, since it's coming from someone who is literally struggling with communication with everyone (that she herself mentioned in the same thread).
Funnily she did say that when our manager departs, they'd make her report to me and I was like nah! that cannot happen.
She kept saying various great things about the company when I was new and slowly as I settled in and discovered the reality, her truth changed.
WTF!
Fucking annoying. I am all in for feedback of any kind but how should I figure which should be considered valid and which as invalid?
Life is nothing but a quicksand, you just keep sinking in irrespective of whether you try to get out or stay still. There is no external help or resources available.
So much mess to deal with.4 -
First post yay!
I'm a "tech" lead for my team. The "tech" stands for technically, I can go on a whole different rant there but that's not why we're here today.
So we have a new PM on our side and a new PM on the client side. I've been working on this project longer than any of the devs and PMs have.
One of the tasks that my team does is validate and ingest data. It's pretty straightforward and it's fully automated. It takes minutes, and at most an hour, to complete this task. We get these tasks from users randomly and they don't have any schedule to it. It's FIFO basis and we just add it to our current sprint if we have bandwidth or add it to the next one if we don't. Not a big deal, no users have complained about it before, it's just business as usual. And we have a tracker of when we received it, how big it was and when it's been ingested. Super simple.
So now comes in the new client PM. He's been asking us to come up with timelines for these ingestions. My project's new PM is bending over to him and saying okay we'll come up with it, no problem. Well, there is a problem. We don't know that far in advance for when these tasks are coming in. Even if we did, now we're supposed to create timelines for a 10 min task? It literally is uploading a file and our system handles everything and I've explained that to my pm but he still is like well that's what they want. It takes less effort to do the ingestion than to make these timelines. It just means project managers bothering devs about timelines.
Idk how to deal with this. Thoughts? Any similar experiences?5 -
It feels like half of what I do is just tell people that their code sucks and it needs to be replaced, then I drag them through the 5 stages of grieving the loss of an application that has them trapped in an abusive relationship.
1. Denial:
The unique and complicated needs of our business lead to this unique and complicated architecture. This is all here for a reason, and it's all needed.
2. Anger:
What do you mean it's going to take 6 months to rebuild this? We made MVP in 3 months!
3. Bargaining:
Surely we don't need to throw it all away! There must be something worth salvaging!
4. Depression:
Stake holders and going to think we're not getting anything done! This is a nightmare 😭
Six months later...
6. Acceptance:
Holy shit thank god we got away from that glass tower before it shattered and cut us all to pieces! Side note: development velocity is on fleek. #profit3 -
Data wrangling is messy
I'm doing the vegetation maps for the game today, maybe rivers if it all goes smoothly.
I could probably do it by hand, but theres something like 60-70 ecoregions to chart,
each with their own species, both fauna and flora. And each has an elevation range its
found at in real life, so I want to use the heightmap to dictate that. Who has time for that? It's a lot of manual work.
And the night prior I'm thinking "oh this will be easy."
yeah, no.
(Also why does Devrant have to mangle my line breaks? -_-)
Laid out the requirements, how I could go about it, and the more I look the more involved
it gets.
So what I think I'll do is automate it. I already automated some of the map extraction, so
I don't see why I shouldn't just go the distance.
Also it means, later on, when I have access to better, higher resolution geographic data, updating it will be a smoother process. And even though I'm only interested in flora at the moment, theres no reason I can't reuse the same system to extract fauna information.
Of course in-game design there are some things you'll want to fudge. When the players are exploring outside the rockies in a mountainous area, maybe I still want to spawn the occasional mountain lion as a mid-tier enemy, even though our survivor might be outside the cats natural habitat. This could even be the prelude to a task you have to do, go take care of a dangerous
creature outside its normal hunting range. And who knows why it is there? Wild fire? Hunted by something *more* dangerous? Poaching? Maybe a nuke plant exploded and drove all the wildlife from an adjoining region?
who knows.
Having the extraction mostly automated goes a long way to updating those lists down the road.
But for now, flora.
For deciding plants and other features of the terrain what I can do is:
* rewrite pixeltile to take file names as input,
* along with a series of colors as a key (which are put into a SET to check each pixel against)
* input each region, one at a time, as the key, and the heightmap as the source image
* output only the region in the heightmap that corresponds to the ecoregion in the key.
* write a function to extract the palette from the outputted heightmap. (is this really needed?)
* arrange colors on the bottom or side of the image by hand, along with (in text) the elevation in feet for reference.
For automating this entire process I can go one step further:
* Do this entire process with the key colors I already snagged by hand, outputting region IDs as the file names.
* setup selenium
* selenium opens a link related to each elevation-map of a specific biome, and saves the text links
(so I dont have to hand-open them)
* I'll save the species and text by hand (assuming elevation data isn't listed)
* once I have a list of species and other details, to save them to csv, or json, or another format
* I save the list of species as csv or json or another format.
* then selenium opens this list, opens wikipedia for each, one at a time, and searches the text for elevation
* selenium saves out the species name (or an "unknown") for the species, and elevation, to a text file, along with the biome ID, and maybe the elevation code (from the heightmap) as a number or a color (probably a number, simplifies changing the heightmap later on)
Having done all this, I can start to assign species types, specific world tiles. The outputs for each region act as reference.
The only problem with the existing biome map (you can see it below, its ugly) is that it has a lot of "inbetween" colors. Theres a few things I can do here. I can treat those as a "mixing" between regions, dictating the chance of one biome's plants or the other's spawning. This seems a little complicated and dependent on a scraped together standard rather than actual data. So I'm thinking instead what I'll do is I'll implement biome transitions in code, which makes more sense, and decouples it from relying on the underlaying data. also prevents species and terrain from generating in say, towns on the borders of region, where certain plants or terrain features would be unnatural. Part of what makes an ecoregion unique is that geography has lead to relative isolation and evolutionary development of each region (usually thanks to mountains, rivers, and large impassible expanses like deserts).
Maybe I'll stuff it all into a giant bson file or maybe sqlite. Don't know yet.
As an entry level programmer I may not know what I'm doing, and I may be supposed to be looking for a job, but that won't stop me from procrastinating.
Data wrangling is fun.1 -
On This Episode of Ghetto Medium..
Posted after midnight for extra spooky effects. Read in the dark at your own risk. You've been warned.
So my mother has been on a binge watching shows like long island medium (apparently the taller your hair the closer you are to god or something), and every time we talk she begins at length to talk about, you guessed it.. 'ghosts.'
Now don't get me wrong, I've had some 'spooby' shit occur in my lifetime, the sort that will tighten your sphincter faster than bill cosby asking you if you want some koolaid or grape drank, but I digress.
The ghost talk is tiring. Lately theres been a *flood* of these new shows, purportedly showing mediums and people who can 'look into the other side' and I realize just how vapid and ridiculous it's all become, as if they all are being personally haunted by the ghost of John Edwards burnt out husk of a career. Theres long island beehive big-hair medium, celebrity medium, allison DuBois (the inspiration for that one sappy show *medium*) whos red hair and vacant stare speak of glimpses into centuries past like an intimate unseen horizon. or maybe she forgot to unplug her curling iron in a hotel one time and has been rendered permanently catatonic. And who can forget *Beyond With James Van Praagh* (everyone) whos face, as measured by the width of his mustache, appears to be expanding at a constant rate like a bad image macro edit thats been memed and repasted a thousand times. Then theres Chip Coffee, whos name is about as believable as his teaching degree on the show *Psychic Kids* where he mentored, again, you guessed it, *psychic kids*. Of course theres Tyler Henry, a youthful, uh, "flamboyant" medium for celebrities with ghost problems. Never trust a man with two names, this ones no exception, he looks so clean cut hes either secretly mormon, or secretly gay, maybe both. I'm not judging, but I am saying if I ever saw his clean cut, smooth, wrinkless (seriously, how tyler? how?), all american face, say smiling that subtle smile outside my kitchen sliding glass door at 3 am, his face watching me from the pitch dark outside, I wouldn't at all be surprised, except for the hospital bill I'd have to pay after shitting a brick and needing anal surgery.
At this rate we have mediums popping out left and right, like clowns at one of them R.L Stein nightmare carnivals, or beggers outside a methodone clinic. Geez, they're coming out the wood work, like those painting you see with hidden faces in them, or wheres-waldo posters, only you're trying to find the non-waldo guy amongst all the characters because they're ALL waldo: goofy acting, goofy dressing, and just all around goofy looking.
At this rate I'm fully expecting "pet medium" (starring a character named Stephen King and his marital problems, played by johnny depp eating way to much corn), and "haunted objects medium", and "car medium" (it's just seinfeld in a car, talking to psychics instead of other people), and "ghetto medium."
Today on this episode of "Ghetto Medium"..
Medium: Teneesha, aw yeah girl, u *definitely* ded gurl, uh huh! You WAY to white too be alive, you done passed over gurl!
And in the next episode of Ghetto Medium, one man claims "every time I bend over I can hear "wOoOoOoOoO!, Is my asshole possessed? Find out is it real or fake, and what our verdict is in Ghost Medium, episode 3: A Haunting In My Nether-regions."
Cut commercial break.
"Jerry Springer: One women asks, 'jerry, is my unborn child's foreskin haunted? And later today we ask the crowd, would you have sex with a ghost?"
Welcome to American television 'programming' in 2019.
Yes, it's all brainwashing.2 -
Client (who hosts our programs on their website) sends an email there is an issue! Resolve is asap. - I drop a brick if my boss finds out about this he will kick off.
I look into it the best I can but there is no testing environment for their website so do the best I can on our environment. Every thing seems to be doing exactly what it should and can't reproduce. So I email client I can't reproduce and everything looks fine are you sure it's not at your end?
They email back I got someone at our end to look at it and he's sure it's your end. So I spend a rather long time looking into this and still find nothing so email back for more information and a video of them reproducing the issue.
They email back: umm sorry seems it was our side that was causing the issue, only noticed it when making the video.
*sigh* more time wasted thanks clients! -
My work product: Or why I learned to get twitchy around Java...
I maintain a Java based test system, that tests a raster image processor. The client is a Java swing project that contains CORBA bindings to the internal API of the raster image processor. It also has custom written UI elements and duplicated functionality that became available in later versions of Java, but because some of the third party tools we use don't work with later versions of Java for some reason, it's not possible to upgrade Java to gain things as simple as recursive directory deletion, yes the version of Java we have to use does not support something as simple as that and custom code had to be written to support it.
Because of the requirement to build the API bindings along with the client the whole application must be built with the raster image processor build chain, which is a heavily customised jam build system. So an ant task calls out to execute a jam task and jam does about 90% of the heavy lifting.
In addition to the Java code there's code for interpreting PostScript files, as these can be used to alter the behaviour of the raster image processor during testing.
As if that weren't enough, there's a beanshell interface to allow users to script the test system, but none of the users know Java well enough to feel confident writing interpreted Java scripts (and that's too close to JavaScript for my comfort). I once tried swapping this out for the Rhino JavaScript interpreter and got all the verbal support in the world but no developer time to design an API that'd work for all the departments.
The server isn't much better though. It's a tomcat based application that was written by someone who had never built a tomcat application before, or any web application for that matter and uses raw SQL strings instead of an orm, it doesn't use MVC in any way, and insane amount of functionality is dumped into the jsp files.
It too interacts with a raster image processor to create difference masks of the output, running PostScript as needed. It spawns off multiple threads and can spend days processing hundreds of gigabytes of image output (depending on the size of the tests).
We're stuck on Tomcat seven because we can't upgrade beyond Java 6, which brings a whole manner of security issues, but that eager little Java updated will break the tool chain if it gets its way.
Between these two components we have the Java RMI server (sometimes) working to help generate image data on the client side before all images are pulled across a UNC network path onto the server that processes test jobs (in PDF format), by reading into the xref table of said PDF, finding the embedded image data (for our server consumed test files are just flate encoded TIFF files wrapped around just enough PDF to make them valid) and uses a tool to create a difference mask of two images.
This tool is very error prone, it can't difference images of different sizes, colour spaces, orientations or pixel depths, but it's the best we have.
The tool is installed in both the client and server if the client can generate images it'll query from the server which ones it needs to and if it can't the server will use the tool itself.
Our shells have custom profiles for linking to a whole manner of third party tools and libraries, including a link to visual studio 2005 (more indirectly related build dependencies), the whole profile has to ensure that absolutely no operating system pollution gets into the shell, most of our apps are installed in our home directories and we have to ensure our paths are correct for every single application we add.
And... Fucking and!
Most of the tools are stored as source bundles in a version control system... Not got or mercurial, not perforce or svn, not even CVS... They use a custom built version control system that is built on top of RCS, it keeps a central database of locked files (using soft and hard locks along with write protecting the files in the file system) to ensure users can't get merge conflicts by preventing other users from writing to the files at all.
Branching is heavy weight and can take the best part of a day to create a new branch and populate the history.
Gathering the tools alone to build the Dev environment to build my project takes the best part of a week.
What should be a joy come hardware refresh year becomes a curse ("Well fuck, now I loose a week spending it setting up the Dev environment on ANOTHER machine").
Needless to say, I enjoy NOT working with Java. A lot of this isn't Javas fault, but there's a lot of things that Java (specifically the Java 6 version we're stuck on) does not make easy.
This is why I prefer to build my web apps in python or node, hell, I'd even take Lua... Just... Compiling web pages into executable Java classes, why? I mean I understand the implementation of how this happens, but why did my predecessor have to choose this? Why?2 -
This is more of an advice seeking rant. I've recently been promoted to Team Leader of my team but mostly because of circumstances. The previous team leader left for a start-up and I've been somehow the acting Scrum Master of the team for the past months (although our company sucks at Scrum generally speaking) and also having the most time in the company. However I'm still the youngest I'm my team so managing the actual team feels a bit weird and also I do not consider myself experienced enough to be a Technical lead but we don't have a different position for that.
Below actions happen in the course of 2-3 months.
With all the things above considered I find myself in a dire situation, a couple of months ago there were several Blocker bugs opened from the Clients side / production env related to one feature, however after spending about a month or so on trying to investigate the issues we've come to the conclusion that it needs to be refactorised as it's way too bad and it can't be solved (as a side note this issue has also been raised by a former dev who left the company). Although it was not part of the initial upcoming version release it was "forcefully" introduced in the plan and we took out of the scope other things but was still flagged as a potential risk. But wait..there's more, this feature was part of a Java microservice (the whole microservice basically) and our team is mostly made of JS, just one guy who actually works as a Java dev (I've only done one Java course during uni but never felt attracted to it). I've not been involved in the initial planning of this EPIC, my former TL was an the Java guy. Now during this the company decides that me and my TL were needed for a side project, so both of us got "pulled out" of the team and move there but we've also had to "manage" the team at the same time. In the end it's decided that since my TL will leave and I will take leadership of the team, I get "released" from the side project to manage the team. I'm left with about 3 weeks to slam dunk the feature.. but, I'm not a great leader for my team nor do I have the knowledge to help me teammate into fixing this Java MS, I do go about the normal schedule about asking him in the daily what is he working on and if he needs any help, but I don't really get into much details as I'm neither too much in sync with the feature nor with the technical part of Java. And here we are now in the last week, I've had several calls with PSO from the clients trying to push me into giving them a deadline on when will it be fixed that it's very important for the client to get this working in the next release and so on, however I do not hold an answer to that. I've been trying to explain to them that this was flagged as a risk and I can't guarantee them anything but that didn't seem to make them any happier. On the other side I feel like this team member has been slacking it a lot, his work this week would barely sum up a couple of hours from my point of view as I've asked him to push the branch he's been working on and checked his code changes. I'm a bit anxious to confront him however as I feel I haven't been on top of his situation either, not saying I was uninvolved but I definetly could have been a better manager for him and go into more details about his daily work and so on.
All in all there has been mistakes on all levels(maybe not on PSO as they can't really be held accountable for R&D inability to deliver stuff, but they should be a little more understandable at the very least) and it got us into a shitty situation which stresses me out and makes me feel like I've started my new position with a wrong step.
I'm just wondering if anyone has been in similar situations and has any tips or words of wisdom to share. Or how do you guys feel about the whole situation, am I just over stressing it? Did I get a good analysis, was there anything I could have done better? I'm open for any kind of feedback.2 -
So following my previous post, the issue happened again. And actually for background what I've been telling my boss, for years, we need ELK setup and integrated into all our APIs ASAP.
I think it's a punishable crime if any program is released into prod at a tech company with out real time logging/monitoring built in?
So issue still happening, user sent us the request details. So now need to find the actual now that handles the request and look into it's logs to see the details.
Now he's doing it the hard way.... Just finished took 1hr, and the best answer her can come up with is "I think .... Maybe ..."
And if course this is based on infinite data. He stopped after finding a "probably cause"
I have a script that is like promotion ELK, downloads all looks and parsed then so I can run queries to pinpoint the exact call and which log it's in. And can see what's happening around it.
We'll see what my way find but definitely does not take more than 1hr...
Loading data maybe but that's because it needs to download the logs and parse them all...
On a side note, guess I'm Beck on devrant as I have something to rant about. Though it's the same something that I was wanting about years ago... Monkeys...1 -
I been looking over my profile and god it's been a while, programming as still been going on in the background but more for game mods and alikes, kind of been lazy but same time dealing with life.
I really had forgotten my passion for tech and programming it's just become a tool I know and use and I kind of feel bad for doing that. I got in to computers when I was 6 years old built my own PC our of random spare parts at 7, was teaching family members how to repair there own pcs by 9 at the age of 11 was helping with the schools computer department repair and fixing networking problems and my ideas and comments mattered.
Now I am an adult ... Sadly it seems the enjoyment of any idea is shot down with some rude remarks from another Dev, but isn't the point we all see a problem different so we all can contribute?
Like I said I never worked away from computers or programming but now I more like your little side computer repair shop I can do it, I get the job done but the passion isn't there and the end result reflects it.
I believe it's the human part what put me off not just others but myself, I used to put my heart in to my projects and when someone comes alone and rips them apart for let's say a spelling mistake what I state everywhere I am dyslexic but seems to be over looks alot. I became more stale in what I was willing to take on. My own websites now reflect this I am using crappy reinstalled software over me doing it myself.
But the passion for the idea what tech and programming never left I just hope one day soon I am enjoy it again, the wow factor is still there, god there is some talent out there and some of them people I meet before they became big but my aim was never to be come big I would be happy to be on a small project what only as a few eyes on it as long as it makes a difference and that's my problem tech like everything as become so commercial.
Even small projects are ran like a company and the wow factor is gone or the risk factor of trying a unknown way is dismissed for trying to keep face.
If I was born 20 years before right now I would be glad to slow down but I am 30+ and seen the world change so much in this last 10 years where I can do it but .... Why would I do it, when most cases it goes out of my moral ideals
I still mess around with teck, I still have Pi's kicking about and you bet your bottom Dollar I will be trying to get a Pi 5 lol
The love of tech hasn't gone but the communities I enjoyed have, I know this is a me not adapting but I don't need to adapted, I want what we do to matter to someone to make a difference, and I mean with there life's and wellbeing not there bottom line.
If you have any communities to look in to please comment below and of you was able to read this then OMG I am so sorry, I didn't proof read this or anything it was just a little rant about how I become disconnected from the world I have always found enjoyment.
I slipped away to game at late but this last few months I seen myself wanting to be apart of a project or community for tech/programming and even just be a voice helping even someone else get the answer.
I do still have hope for the geeky nerds of yester years even if we are now just a relic of the past lol
Well sorry to put anyone's eyes though this lol enjoy your rants guys and keep up what ever projects your working on.3 -
Follow-up rant to my company. Today's day is fairly good, so let's talk about infra.
We're building upon an existing open-source project which is not intended to be extended (e.g. plugins).
Our backend-team somehow hacked symfony into the app, which made the actual work a little bit less annoying. But on the other side, there is absolutely no automation. Everything is setup by hand and I need to upload my sources to my dev-server and watch what files exactly are overwritten. Because if not, I accidentally overwrite core sources which will break the whole app, no matter what. If I forget what file I wrongly overwrote, I have no choice but to setup the core from scratch and apply our sources on-top, AGAIN.
The first time setup took me almost five days.
Oh yeah and the team shares one dev server, so whenever I feel like fucking with a mate, I can easily fuck up his system, since everyone has root-rights.
We're required to use windows, but our dev is linux and I am the only knowledgable linux guy. They need cheatsheets (to be fair, I need my powershell-cheatsheet).
We market the same app with some additional functionality, but we also have clients which require their own stuff. This case has never been thought-out, since for these specific clients, we also modify some core-parts. Which makes it a real hassle to add a basic new feature to that special customer.
At least our frontend is somewhat decent. Simple and without critical thinking, but it works and is decently understandable. I'll rant about that for another day, it's still tedious.
I know I won't stay there for long since I start my own stuff, but it's sad. Nothing is perfect and they _do_ want to make it better, but it's the usual "there is no time, client first" talk. On the other hand, they tell that we should be more efficient, but there is no way to be without looking back at the fundamental structure and what takes us so long.
I don't think I am able to change anything here and as I heard from co-workers, they already look for something new.
cheers -
I think I've asked this before. Just cropped up again cuz I'm pushed to do some stuff in nextjs
I Wonder how much longer before js framework devs realise they've been reverse engineering the browser this whole time, that the current browser spec was outdated since the dawn of Web fidelity and real time applications
I wonder whether there are some guys who have seen this and are already cooking in the background. The browser still treats the Internet like front end and back end, whereas with the way apps are going (eg deprecation of the front/back end roles), it seems apparent the browser needs to scale up by fading whatever js is now
I'm seeing "use server", which was one of php's infamous atrocities back in the day (lack of separation of concerns, everything in index.php). It's shocking how those who ridicule that language let this fly, but that's probably a separate thread. Point is, a bunch of these stuff done by front end frameworks seem like boilerplate but the syntax is far different from what I remember javaScript to be. I only vaguely recollect and understand what I'm reading
Why not merge all the cryptic syntaxes struggling to achieve bare minimal expectations, into advanced markup language controlled by dom attributes? Overhaul and Rethink client - server communication to fit modern standard. Someone needs to step out of the box and take a good look at the rat race. I find our lives would be made much simpler if api integration into client side behaviour wasn't a separate thing altogether
You have all these funny hoops and precarious bridges to cross. The reality is what we're fighting to overcome is the manner the architecture is setup. We need a Google/meta/amazon/apple to step in with a new browser since it's not a weekend gig and might need their reach to catch on with mainstream users. Sadly, they're the same guys rolling out new js frameworks2 -
(imagine all of this said in Undoomed's "hey moron" tone)
Hey, moron, fuckin moron! How about if you're a noob with no actual programmer on your side, you just tell me so we can work it out together, instead of sending a moronic 4page "acceptance criteria" that pretend you know what you're talking about, and then bury me under loads of moronic noob questions that reveal you as thenmoron you are, all of that for a fuckin 50 quid?! I thought it's me being an idiot, not being able to do the task within two days timeframe, but now I see you're just too much of a moron to have any idea how much these things take. And now you nonchalantly mention a one-line one point from the four page document full of drivel, which (loads of moronism credit for me here) i didn't notice amongst all of that other mundane drivel, which actually like doubles the whole workload on the task, but your moronic document, which makes 3 parts of the same algorithm into three separate MILESTONES, makes this whole thing that nearly DOUBLES the workload into a shitty SEVENTH SUBPOINT of the completely unrelated first "milestone"?
FUCK YOU, YOU STUPID ROBBERY CHEAPFUCK, and fuck me for letting myself be tricked by all your fancy wordings that pretend you actually know what the fuck you are asking for, so i assumed you did, so I missed THE POINT, WHICH ACCORDING TO THE SEGMENTATION LOGIC OF THE WHOLE REST OF THE DOCUMENT SHOULD BE 3 SEPARATE FULL-SIZED MILESTONES, NOT A SINGLE SUBPOINT, YOU FUCKING FUCK!
... so much for still trying to at least a bit trust people.
FUCKING DISGUSTING MORONIC CHEAPSKATE FUCK.
and I can't even tell him to fuck off through the rectum he came here because he's all nice and polite so I would be the asshole!
"hey, please, can you build me a house?"
*house is basically finished*
"oh, great job, i love it, but i think you might have missed the fineprint in our contract that says that the house is supposed to stand inside an entry hall of a multibillionaire-sized mansion, so could we please sort that out and add it to the building real quick before i pay you the toolshed's worth we agreed on based on the contract? "
FUCK. HIM.
FUCK
FUCKFUCKFUCKSHITFUCKERYFUCKDISGUSTINGIDIOTICFUCKINGFUUUUUUUUCK!!!!!!
i thought i can be a shitty liar and a con man, but this is some next level shit that would be totally beyond my abilities to pull off...
YES I KNOW IT'S MY FAULT I DIDN'T COMB THROUGH THAT BULLSIT "SPECS" OF HIS LETTER BY LETTER TO MAKE SURE THERE'S NO CON BULLSHIT LIKE THIS HIDDEN AMONGST ALL OF THAT MUNDANE SELF-EVIDENT PSEUDO-TECHNICAL DRIVEL, SHUT THE FUCK UP.
fucking disgusting moron, pretending all nice and innocent probably even to himself because he HAS NO FUCKING IDEA WHAT HE EVEN ASKS FOR.
i bet it's one of those pukefucks who get an overpriced contract for 50k without even knowing or caring what programming is, because "i'll just outsource the core functionality of the app for 50 quid to some naiive idiot who lives in the illusion that people are not diarrhorea-worthy pieces of feces, and this other third of the app to some other moron for hundred quid and then i somehow outsource gluing it together to some third poor sod, and that's 49.8k quid of pure profit for me, yay"
and now i'm torn between three options, just cancelling the "contract" with a comment saying "fuck off, you con man", or cancelling it with a lengthy explanation why he's a know-nothing piece of shit who conned me already into having done something worth about 5x more than his shitty "acceptance criteria" requests, or just start conning and bulshitting him back, which won't net me any money, and waste my time, but at least will also waste HIS time, which might be nice because he seems to be on a tight schedule so if i play this right i might have the chance to sink his whole contract which might be mighty nice satisfying...
FUCK THIS, ALL OF THIS, FUCK HIM, FUCK ME, FUCK ALL OF YOU, I SHOULD HAVE STARTED FUCKING OVER EVERYONE RUTHLESSLY A LONG TIME AGO BECAUSE FUCK THE WHOLE WORLD, WHY SHOULD I CARE WHEN NOBODY ELSE DOES, WHY SHOULD I BE DECENT WHEN NOBODY ELSE IS, AND IT ONLY ROYALLY BITES ME IN THE ASS.
stupid fucking lobotomized fuck, IF YOU DON'T KNOW HOW TO DO SOMETHING, DON'T OFFER YOURSELF TO DO IT FOR MONEY AND THEN CON-SOURCE IT TO OTHERS YOU SHITTY BARFPILE!
FUCK. -
In reply to this:
https://devrant.com/rants/260590/...
As a senior dev for over 13 years, I will break you point by point in the most realistic way, so you don't get in troubles for following internet boring paternal advices.
1) False. Being go-ahead, pro active and prone to learn is a good thing in most places.
This doesn't mean being an entitled asshole, but standing for yourself (don't get put down and used to do shit for others, or it will become the routine) and show good learning and exploration skills will definitely put you under a good light.
2)False. 2 things to check:
a) if the guy over you is an entitled asshole who thinkg you're going to steal his job and will try to sabotage you or not answer acting annoyed, or if it's a cool guy.
Choose wisely your questions and put them all togheter. Don't be that guy that fires questions in crumbles, one every 2 minutes.
Put them togheter and try to work out the obvious and what can be done through google or chatgpt by yourself. Then collect the hard ones for the experienced guy and ask them all at once. He's been put over you to help you.
3) Idiotic. NO.
Working code = good code. It's always been like this.
If you follow this idiotic advice you will annoy everyone.
The thing about renaming variables and crap it's called a standard. Most company will have a document with one if there is a need to follow it.
What remains are common programming conventions that everyone mostly follows.
Else you'll end up getting crazy at all the rules and small conventions and will start to do messy hot spaghetti code filled with syntactic sugar that no one likes, included yourself.
4)LMAO.
This mostly never happens (seniors send to juniors) in real life.
But it happens on the other side (junior code gets reviewed).
He must either be a crap programmer or stopped learning years ago(?)
5) This is absolutely true.
Programming is not a forgiving job if you're not honest.
Covering up mess in programming is mostly impossible, expecially when git and all that stuff with your name on it came out.
Be honest, admit your faults, ask if not sure.
Code is code, if it's wrong it won't work magically and sooner or later it will fire back.
6)Somewhat true, but it all depends on the deadline you're given and the complexity of the logic to be implemented.
If very complex you have to divide an conquer (usually)
7)LMAO, this one might be true for multi billionaire companies with thousand of employees.
Normal companies rarely do that because it's a waste of time. They pass knowledge by word or with concise documentation that later gets explained by seniors or TL's to the devs.
Try following this and as a junior:
1) you will have written shit docs and wasted time
2) you will come up to the devs at the deadline with half of the code done and them saying wtf who told you to do that
8) See? What an oxymoron ahahah
Look at point 3 of this guy than re-read this.
This alone should prove you that I'm right for everything else.
9) Half true.
Watch your ass. You need to understand what you're going to put yourself into.
If it's some unknown deep sea shit, with no documentations whatsoever you will end up with a sore ass and pulling your hair finding crumbles of code that make that unknown thing work.
Believe me and not him.
I have been there. To say one, I've been doing some high level project for using powerful RFID reading antennas for doing large warehouse inventory with high speed (instead of counting manually or scanning pieces, the put rfid tags inside the boxes and pass a scanner between shelves, reading all the inventory).
I had to deal with all the RFID protocol, the math behind radio waves (yes, knowing it will let you configure them more efficently and avoid conflicts), know a whole new SDK from them I've never used again (useless knowledge = time wasted and no resume worthy material for your next job) and so on.
It was a grueling, hair pulling, horrible experience that brought me nothing in return execpt the skill of accepting and embracing the pain of such experiences.
And I can go on with other stories. Horror Stories.
If it's something that is doable but it's complex, hard or just interesting, go for it. Expecially if the tech involved is something marketable.
10) Yes, and you can't stop learning, expecially now that AI will start to cover more and more of our work.4 -
There is this local cloud service provider I used to like, since the promise was "it's from Africa" woi, they don't know shit. We tell then to open port 8888 ssh and 8899 since firewall is configured on their side, they close all ports then you can't ssh into the server. They take another 2 hours to fix that. Later on we change our ports and then tell them to change some ports, they open and close all ports (we discovered again because we were locked out again and had to d an nmap to see what was happening). Apparently the staff we we're talking to didn't know much about configuring servers only the senior management knew (I think to cut down costs), then we tell then to terminate services but they decide to bill us for another month (bullying) and gave us a warning letter from their lawyer for not paying for that month and since we are a small startup, we can't afford a court case which will drain us cash so we had to pay for shitty service and some month arr angry
-
UWP suck, I don't wanna hurt yall feeling but it's time to face the truths:
+ SandBox
+ Less Job Offer
+ Development more Complicated than Web App
+ Microsoft not create perfect hardware to make sure our app get to more consumers (the Pro X is failure)
+ Poor Optimized
Poor Optimized ?
the Windows 10 optimization is joke, all my surface laptop, pro, book I have tested. They claim that consume less Ram, but when using it along side electron and Win32 app. It feel so much choppy and lag. I mean WTF ?
UWP was made for optimize low specs SoC such as ARM base, now my laptop running on a core I5 + GPU still lag ??
I'm sorry but this is just sad. Im moving back to win32. WinRT sooner or later will end supported
And Microsoft will improve the Win32 Api6 -
I've just joined a new company out of despair after several month out of jobs without being able to even get interviews.
I've been warned about the code being a bit behind with modern Android stack, they needed to migrate from rx to coroutine and compose is not a priority at the moment.
Fine with it, I like handling and planning migration, that's a nice challenge.
But if only that were the only problems !! Far from it, the code is a formidable mess, I've never seen so much amateurism... Most of it was written from the previous Lead Dev who stayed there for years and touched everything with their very bad practices.
I don't even know where to start honestly...
While the code is in Kotlin, it stink Java. Nothing wrong about Java, but if you code in kotlin, you need to understand what kotlin try to achieve. And that's not the case here. There is freaking nullable everywhere, for no reason at all, the data classes contains lot of var in their constructors, equals are override to compare only one or 2 params and no hashcode override with it.
Sealed class, what for ?! Let me just write a List<Pair<Enum, Any>> and cast your any depending on the enum !
Oh and you know what, let's cast everywhere, no check, and for once no null safe, there is enough nullable in the code !
What about the reactive part ? well let's recreate a kind of broken eventbus with rx ! Cause why not ?!
The viewmodel observable don't contain data, they just contain enum for the progress of the states we're checking.
In the viewmodel function we update that enum states and emit it to be observed and make the data available as a var for the view to pick it up when needed.
But why put the business logic in the viewmodel, let's put in the views, and grab and check the variable contain in the viewmodel whenever it fits.
Testing the business logic ? uh let me just test my variable initialisation in the viewmodel instead.
The vm, the views, make about 2000 lines, the test over 3000, and not a single test really test the business logic in it ! I've made big refactoring we're all the tests stayed green, while the function are full of side effects ! WTF ?!
Oh and what about that migration from rx to coroutine ? well better not break the existing code and continue writting like rx, everything is cold flow ! We just need to store a boolean saying if we already did our call to the data layer then we decide to start our flow or not.
As for the RecyclerView, having too many viewHolder is just so annoying, let's put all our different views in one, and hide what we don't need.
Keystore has been push on the repo, but it's private no ? So who cares ?!
And wait i'm not done ! Some of the main brick of the apps depends on library that hasn't been updated for years, and you know what... yes they were hosted on Jcenter and it's only now that they decide to do something about it, we we're warned about the sunset of jcenter 2 years ago !!!!
So what about compose ? What do you want with compose ?! there is no design system in that app obviously, so don't even think about it !
And there... among all of that mess, I'm supposed to do code review... how the fuck do you do a code review when all the code that is around stink ?!
And there is so much more but by now I'm afraid you're thinking i'm just pissing on the old code like everyone... but damn I guarantee, that's the worst code I've ever seen, and i've work on more than 15 app from small to big on different contract with a lot of legacy code, but nothing that bad !1 -
Yes, the bug is always on our side. Other teams are immaculate and they write the purest, most perfect code possible.
-
What do you think happens when enterprise software meets big data and user generated content? Idk, ask Github. These guys are sitting on a goldmine. The paradise of every big company. The only reason they're not faang is cos it's niche but they'll probably be influential (read, big bad) in the coming years
I predict the copilot thing is a benevolent side. Or maybe it still seems so since it's still in infancy and hasn't aggressively started snatching most developer jobs. What will become of us when that time comes? What other form of technology can computer still require our assistance to create?16 -
We're slowly migrating to VSTS (sigh) from Mantis and SVN for tasks management and code repo.
It's been 4 months now and we still have to move the code from SVN to GIT, asked management when they plan to do that and they still give no ETA, and when asked to make sure our commits stays intact after the transfer I got told "no need for that we're just gonna copypaste the last version of the source code". And most likely the local SVN server we're using is gonna be dismissed.
On top of that, by the way they want to use it, VSTS is being terrible for tracking stuff. I'm so used with other tools at home for some side projects and even though I expressed my concern about VSTS I got ignored over and over...
Bonus (not so) fun fact: branches are something mythic here so everyone else commits straight to master and it's a pain in the ass everytime, because people happen to break things most of the time.
And no, unfortunately this is not a small company.
Send halp please 😭 -
update : we are at hr round baby!!!
part 1 : https://devrant.com/rants/5528056/...
part 2 (in comments) : https://devrant.com/rants/5550145/...
the tech market is crazy mann! it's one of the top indie fintech companies in our country and has a great valuation.
i totally felt that they i am crashing the interviews , and am seriously not trying to be humble. before the dsa round , i was trying to mug up how insertion sort works 🥲
--------
now my dilemma is should i switch if i get the offer. in a summary:
current company:
- small valuation but profitable (haven't picked funding for last 3 years , so poast valuation is some double digit million $, but can easily be a unicorn company)
- very major b2b player in my country. almost all unicorns (including this fintech company) and some major MNCs are their client and they have recently acquired a few other companies of us and eu too, making them- a decent global player
- meh work : i love being a cutting edge performer in android but here we make sdks that need to support even legacy banking apps. so tech stack is a lot of verbose java and daily routine includes making very minor changes to actual code and more towards adding tests , maintaining wrapper sdks in react/cordova/unity etc, checking client side code etc.
- awesome work life balance : since work is shit and i am fast enough, i am usually working only 2-4 hours a day. i joined gym, got into shape , and have already vsited 5 places in last 6 months, and i am a guy who didn't used to have time even on sundays. here, we get mote paid leaves than what i would usually need.
- learning opportunities: not exactly from the company codebase, but they provide unlimited access to various course learning platforms like linkedin learning, udemy and others, so i joined some web dev baches and i now know decent frontend too. plus those hybrid sdks also give a light context to new things
new company :
- positives : multi billion valuation, one of the top players in fintech , have been mostly profitable ( except a few quarters)
- positive : b2c so its (hopefully) going to put me back into racing shoes with kotlin, jetpack and latest libraries.
- more $$$ for your boy :)
- negetive : they seem to be on hiring spree and am afraid to junp ship after seeing the recent coinbase layoffs. fintech is scary these days
- negetive : if they are hiring people like me, then then they are probably hiring people worse than me 😂. although thats not my concern what my main concer is how they interviewed. they have hired a 3rd party company that takes interviews of people FOR THEM! i find that extremely impolite, like they don't even wanna spare their devs to hire people they are gonna work with. i find this a toxic, robotic culture and if these are the people in there then i would have a terrible time finding some buddy engineer or some helpful senior.
- negetive : most probably a bad wlb : i worked for an year for a fast paced b2c edtech startup. no matter how old these are , b2c are always shipping new stuff and are therefore hectic. i don't like the boredom here but i would miss the free time to workout :(
so ... any thoughts about it?4