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 - "who is going to test this"
-
So, since I hear from a lot of people (on here and irl) that Linux has a 'very high learning curve', let me share my experiences with the first time my dad touched Linux (Elementary OS) without me interfering at all! (keep in mind that he is very a-technical)
*le me boots the system* (I already did setup a user account for him and gave him the password).
Dad: *enters password and presses enter*
Me: "Hmm that went faster than expected."
Dad: "Uhm I know how to login son, it's not that hard and pretty obvious".
Me: "Alright, why don't you try to open up the default word documents editor on here! I'll be right back!"
Me: *Goes away and returns after a minute*.
Dad: *already a few test sentences typed in LibreOffice writer* it's going pretty well :)!
Me: "Oo how did you find that?!"
Dad: "Well, there's a thingy that says 'applications' so I clicked in and found it in the "Office" section, do you think I am blind or something?!"
Me: 😐. uhm no but I just didn't think you'd find it that quickly. Now try to install Chromium browser! *thinking: he'll fail this one for sure* I'll be right back :).
Me: *returns again after a minute or so*
Dad: *already searching for stuff through Chromium*
Me: "wait, how the hell did you do that so quickly, it's not the easiest thingy for most people".
Dad: "Jesus, it's not that hard! I went to the application browsing thingy, typed 'software' and then a sorta software store icon showed up so I clicked it and it opened a windows with a search bar saying something like 'search for applications/software'. clicked in it, typed 'chromium', saw it coming up, there was a very clear 'install' button, it asked for my password, I put it in and after a little it gave a notification that it was installed. Then I went to that application browsing thingy again and typed Chromium. Then I hit enter because it selected an icon called chromium...."
Me: O.o. Okay this is going very good, now open an email client and login to your email address!
Dad: *goes to application browsing thingy, types 'email', evolution icon shows up, dad clicks it, email address setup steps show up and dad follows them quickly. After about a minute, everything is setup.
I expected this to be a hard process for someone who dealt with Windows his entire life but damn, I underestimated it.
Asked him if he found it easy/what he liked about it:
"Well, it's very clear where I can find everything, default browser/email/word document editor programs are easy to find and that's about all I need so yeah, great system!"
I am proud of you, dad!77 -
Hey everyone,
We have a few pieces of news we're very excited to share with everyone today. Apologies for the long post, but there's a lot to cover!
First, as some of you might have already seen, we just launched the "subscribed" tab in the devRant app on iOS and Android. This feature shows you a feed of the most recent rant posts, likes, and comments from all of the people you subscribe to. This activity feed is updated in real-time (although you have to manually refresh it right now), so you can quickly see the latest activity. Additionally, the feed also shows recommended users (based on your tastes) that you might want to subscribe to. We think both of these aspects of the feed will greatly improve the devRant content discovery experience.
This new feature leads directly into this next announcement. Tim (@trogus) and I just launched a public SaaS API service that powers the features above (and can power many more use-cases across recommendations and activity feeds, with more to come). The service is called Pipeless (https://pipeless.io) and it is currently live (beta), and we encourage everyone to check it out. All feedback is greatly appreciated. It is called Pipeless because it removes the need to create complicated pipelines to power features/algorithms, by instead utilizing the flexibility of graph databases.
Pipeless was born out of the years of experience Tim and I have had working on devRant and from the desire we've seen from the community to have more insight into our technology. One of my favorite (and earliest) devRant memories is from around when we launched, and we instantly had many questions from the community about what tech stack we were using. That interest is what encouraged us to create the "about" page in the app that gives an overview of what technologies we use for devRant.
Since launch, the biggest technology powering devRant has always been our graph database. It's been fun discussing that technology with many of you. Now, we're excited to bring this technology to everyone in the form of a very simple REST API that you can use to quickly build projects that include real-time recommendations and activity feeds. Tim and I are really looking forward to hopefully seeing members of the community make really cool and unique things with the API.
Pipeless has a free plan where you get 75,000 API calls/month and 75,000 items stored. We think this is a solid amount of calls/storage to test out and even build cool projects/features with the API. Additionally, as a thanks for continued support, for devRant++ subscribers who were subscribed before this announcement was posted, we will give some bonus calls/data storage. If you'd like that special bonus, you can just let me know in the comments (as long as your devRant email is the same as Pipeless account email) or feel free to email me (david@hexicallabs.com).
Lastly, and also related, we think Pipeless is going to help us fulfill one of the biggest pieces of feedback we’ve heard from the community. Now, it is going to be our goal to open source the various components of devRant. Although there’s been a few reasons stated in the past for why we haven’t done that, one of the biggest reasons was always the highly proprietary and complicated nature of our backend storage systems. But now, with Pipeless, it will allow us to start moving data there, and then everyone has access to the same system/technology that is powering the devRant backend. The first step for this transition was building the new “subscribed” feed completely on top of Pipeless. We will be following up with more details about this open sourcing effort soon, and we’re very excited for it and we think the community will be too.
Anyway, thank you for reading this and we are really looking forward to everyone’s feedback and seeing what members of the community create with the service. If you’re looking for a very simple way to get started, we have a full sample dataset (1 click to import!) with a tutorial that Tim put together (https://docs.pipeless.io/docs/...) and a full dev portal/documentation (https://docs.pipeless.io).
Let us know if you have any questions and thanks everyone!
- David & Tim (@dfox & @trogus)53 -
For this episode of practiseSafeHex's most incompetent co-worker were going to move past developers and go straight to a CEO.
*sitcom audience oooooohhhhhhh*
I know! , always risky, everyone has a bad story, but lets try bring it home. Here we go, Most incompetent co-worker, candidate 2, "R".
R was ... now how do I say this ... R was a special kind of Bastard. A perfect blend of impatient, arrogant, a dickhead and to borrow a phrase from family guy "below the line of mental retardation".
I've actually spoken about him recently here: https://devrant.com/rants/1141873/...
I won't bother duplicating the content here, but its worth a read.
Some of the other highlights of R include:
- Not understanding that my first demo was UI / Frontend only (despite frequent explanations). I didn't slack off for the next 2 weeks, I was busy making all those buttons actually do stuff and connect to the server. Shockingly "Test 1", "Test 2" and "Lorem ipsum" wasn't our content.
- He once asked how long a bunch of tasks was going to take, I told him 2 weeks and he gave me 2 and a half days. He pulled me into a meeting the next week to see where it all was, and I literally sat there saying "I asked for 2 weeks" over and over until he shut up.
- R's favourite phrase was "when I was a developer", typically followed by some sort of insult, forever labelling him "asshole" by everyone who has ever worked for him.
- When apple launched iOS 7 and changed the UI and the methods you could use, he refused to invest the time in upgrading to iOS 7, but demanded the app look like an iOS 7 app. No amount of "There is no method to access the status bar in iOS 6" could make him comprehend the issue at hand.
- The worst was when I was dealing with an issue to do with 64bit being introduced (which I tried to explain ... christ give me strength). When another dev fixed a similar but unrelated issue he stood up in front of the office and said loudly "pfft practiseSafeHex tried to tell me this was something to do with 64bit, which made absolutely no sense, guess he doesn't know what he's talking about"
Thankfully I handed in my notice ... after less than 2 months, making in abundantly clear why. Will R make it to the top of the list of most incompetent?
Tune in later for more practiceSafeHex's most incompetent co-worker!!!12 -
Was lead developer at a small startup, I was hiring and had a budget to add 3 new people to my team to develop a new product for the company.
Some context first and then the rant!
Candidate 1 - Amazing, a dev I worked with before who was under utilized at the previous company. Still a junior, but, she was a quick learner and eager to expand her knowledge, never an issue.
Candidate 2 - Kickass dev with back end skills and extras, he was always eager to work a bit more than what was expected. I use to send him home early to annoy him. haha!
Candidate 3 - Lets call him P.
In the interview he answers every question perfectly, he asks all the right questions and suggests some things I havent even thought of. CTO goes ahead and says we should skip the technical test and just hire the guy, his smart and knows what his talking about, I agree and we hire him. (We where a bit desperate at this stage as well.)
He comes in a week early to pick up his work laptop to get setup before he starts the next week, awesome! This guy is going to be an asset to the company, cant wait to have him join the team - The CTO at this stage is getting ready to leave the company and I will be taking over the division and need someone to take over lead position, he seems like the guys to do it.
The guys starts the next week, he comes in and the laptop we gave him is now a local server for testing and he will be working off his own laptop, no issue, we are small so needed a testing stack, but wasnt really needed since we had procedures in place for this already.
Here is where everything goes wrong!!! First day goes great... Next day he gets in early 6:30am (Nice! NO!), he absolutely smells, no stinks, of weed, not a light smell, the entire fucking office smells of weed! (I have no problem with weed, just dont make it my problem to deal with). I get called by boss and told to sort this out people are complaining! I drive to office and have a meeting with him, he says its all good he understands. (This was Friday).
Monday comes around - Get a call from Boss at 7:30am. Whole office smells like weed, please talk to P again, this cannot happen again. I drive to office again, and he again says it wont happen again, he has some issues with back pain and the weed helps.
Tuesday - Same fucking thing! And now he doesnt want to sign for the laptop("server") that was given to him, and has moved to code in the boardroom, WHERE OUR FUCKING CLIENTS WILL BE VIEWING A DEMO THAT DAY OF THE PRODUCT!! Now that whole room smells like weed, FML!
Wednesday - We send P a formal letter that he is under probation, P calls me to have a meeting. In the meeting he blames me for not understanding "new age" medicine, I ask for his doctors prescription and ask why he didnt tell me this in the interview so I could make arrangements, we dont care if you are stoned, just do good work and be considerate to your co-workers. P cant provide these and keeps ranting, I suggest he takes pain killers, he has none of it only "new age" medicine for him.
Thursday - I ask him to rather "work" from home till we can get this sorted, he comes in for code reviews for 2 weeks. I can clearly see he has no idea how the system works but is trying, I thought I will dive deeper and look at all of his code. Its a mess, nothing makes sense and 50% of it is hard coded (We are building a decentralized API for huge data sets so this makes no sense).
Friday - In code review I confront him about this, he has excuses for everything, I start asking him harder questions about the project and to explain what we are building - he goes quiet and quits on the spot with a shitty apology.
From what I could make out he was really smart when it came to theory but interpreting the theory to actual practice wasnt possible for him, probably would have been easier if he wasnt high all the time.
I hate interview code tests, but learned a valuable lesson that day! Always test for some code knowledge as well even if you hate doing it, ask the right questions and be careful who you hire! You can only bullshit for so long in coding before someone figures out that you are a fraud.15 -
Just reached 100+!!
Anyhow. I started coding prettymuch 365 days ago. My mate decided to launch his company and figured it was a good idea to start it with good friends who knew fuck all at coding.
Fyi, the dude can code 15 hours straight everyday for about a year (no shit thats what i saw).
Since he taught me html css javascript(even if i still suck abit at js). He made me remake the whole bootstrap in react by adding this new lib styled-components and test everything(95% coverage :)).
He also taught me webpack and rollup. Json schma forms,http requests redux, redux logic, and all the routing shit...he obliged me to i plement RR4 on release and is now making me overlook the merge requests of my other collegue (yes he made me a git pro,almost).
And now i have to work long distance by studying java, spring, oauth2 and start working on our api.
O yeah,and i went from microsoft to full on linux!!!
To be honest i thought i was gonna die this year. (Also have a kid on the way :)).
Devrant has been like going to the psychologist :) everytime shit hit the fan i realized every one has the same problems :)
Thanks to the community i can also now even give out nerd jokes :)
(L)Devrant11 -
New senior dev joined the project today.
Senior dev: "There's no way for me to test my changes before I merge this into develop"
Me: "Can you at least run our test suite?"
An hour later the develop branch is fucked and everyone who has merged it locally has pages of red errors splattered across their screens whenever they run any tests.
Start looking into what the fuck is going on.
Notice that all the errors are related to changes the new guy made.
Ask him if he ran the tests..
Senior dev: "Nah they wouldn't catch anything locally "
Stare at the stream of red text running down my screen.
Normally I wouldn't care but we were trying to prepare a release... RUN THE FUCKING TESTS ASSHOLE.9 -
Excuse the profuse amount of profanity below.
Fuck this fucking fucked up motherfucker of a fucking director. Money does not make you a fucking decent person, and you come in here and tell me that you pay my fucking measly salary so I must be fucking grateful.
Starts off with a boardroom meeting this morning. Wireless connection on my laptop takes two minutes to connect, I get told that I am wasting company time and that the salary of everyone in the meeting is quite a lot ("with me being the highest"- cuntface director) so stop wasting time. Fuck you man, it's a fucking wireless connection. I am building your motherfucking company applications and doing web design and for what, so I can earn fuckall and be told that I am fucking wasting time. I am presenting your fucking site you wanted, so give me a fucking minute extra to start up the fucking wireless connection.
The fucking mails are taking long to send, great, let's come down and fucking scream at the dev who regrettably said he would try and assist IT (by calling the provider). I literally just got told that I am the following. 1) Fucking stupid 2) He is going to close the dept down because I apparently fuck up (yet again cuntface, your fucking mailserver is NOT MY FUCKING PROBLEM) 3) He is going to contact an external company to come and check my work. 4) I am fucking useless. 5) I telling him lies (yeah fuckface, I worked as a sys admin, I know what a motherfucking DNS server is and what it does. you don't - so don't fucking tell me that I am lying when I tell you there is a DNS fucking issue, because you don't know what the fuck you are talking about - to top that off motherfucker, I FUCKING BUILT YOUR FUCKING SERVER AND YOUR FUCKING NETWORK. I FUCKING KNOW HOW IT WORKS AND WHAT THE FUCK I AM TALKING ABOUT).
On top of that, I got pushed out of the way of my own PC, my code got some fucked up gibberish in it (because he was trying to minimise my editor and he typed some in it, and now I have to fucking roll-back. He told me I am wasting company time and he will take my shit away from me if I download something again. It is an open network. I downloaded JAVA and fucking updated Sublime. Jesus man. What the fucking fuck.
"why is your gmail open?!?!" because I was testing your emails from an external network. "DON'T FEED ME BULLSHIT" (even though the top mail states "test"). It's the whole fucking "my money determines my dick size" mentality.
That being said, I got told that I need to work overtime, without pay, to resolve IT's issue, even if I have to on the weekend.
That being said,my new Dell that I had just bought (my own) got thrown on the floor and he fucked out of my office. Stupid motherfucker. I fucking earn nothing but cannot leave. I will find another job, and when I do - you can go and fuck yourself and your fucking degrading opinions. I am not fucking stupid, so fuck you.Fuck your company and fuck you. Cunt.33 -
!rant but a story
This happened today. Sorry for long post. A manager from another team in development team, I'll call him junkfellow, called me very very late last night to help them solve an issue in our application's test environment that blocking them from doing testing. They apparently doing integration testing with our application. Now said test environment is not even prepared by our team. We are development team and this test environment prepared by our application's support team. So I politely told junkfellow to get in touch with our support team counterpart as I am from development team. And he began shout at me
junkfellow: "WHY DO YOU THINK I'M FUCKING CALL YOU? IT'S BECAUSE I CAN'T FUCKING REACH ANYONE FROM SUPPORT!"
me: "With due respects sir I have no instructions to assist you and your team in your testing"
junkfellow: "THEN WHAT GOOD ARE YOU? IF YOU DON"T GET ONLINE NOW I WILL FUCKING ESCALATE YOU TO CW!!!"
We all know who CW is and he can make some people life very hard and I didn't want to call my boss so late so I quickly went online and spent the next 4hrs supporting their testing. Next morning I told my boss what happened and he scolded me for not calling him last night. He dropped an email to junkfellow's boss about junkfellow being "unacceptable attitude, disrespectful and threatening to escalate my team mates". My boss always refer to us as team mates, not his staff or his team member.
Then in few minutes, someone walking like a school bully with his chest out came to my boss place and announced himself (he is junkfellow). I say announce because he talking like he wanted everyone to know who is he. My boss stood up promptly, greeted good morning, introduce himself, shook junkfellow hand and sat down. Still young, maybe in late 20's or even younger than me. junkfellow talking to my boss loud enough for most of us to hear. Everyone's neck suddenly long like meerkat and listening:
junkfellow looking down to my boss who is sitting down: "How dare you send email like that to my boss? We are both managers you should act like one, you have a problem with me then you talk to me. You don't bypass me and go directly to my boss. You didn't even give me face!"
my boss sitting down: "So you didn't even ask your boss before picking a fight."
*junkfellow suddenly look confused*
my boss still sitting down talking calm with poker face: "I did give you face. You think by going to your boss I bypassed you and went one level up? No I went one level down!"
junkfellow still look confused and then slowly realized what my boss meant. Now he is staring at floor and can't look my boss in eye after he realized he is screwed!
my boss now standing up: "You treat my team mates like that againi or ask them to do something without my knowledge and I will talk to your boss' boss about it"
boss to me: "Hey tollywood! junkfellow here sincerely regrets what he did last night and wants to apologize to you in person" and boss' poker face turned to his familiar smirk
junkfellow immediately came to me, said "it's ok you no need to stand up", he sat down in a squat and apologized repeatedly. He really looked like he was about to cry and for a moment I pity him. But then I remember what he did and I just enjoyed the moment! Was pure gold :D :D :D11 -
Fuck the memes.
Fuck the framework battles.
Fuck the language battles.
Fuck the titles.
Anybody who has been in this field long enough knows that it doesn't matter if your linus fucking torvalds, there is no human who has lived or ever will live that simultaneously understands, knows, and remembers how to implement, in multiple languages, the following:
- jest mocks for complex React components (partial mocks, full mocks, no mocks at all!)
- token cancellation for asynchronous Tasks in C#
- fullstack CRUD, REST, and websocket communication (throw in gRPC for bonus points)
- database query optimization, seeding, and design
- nginx routing, https redirection
- build automation with full test coverage and environment consideration
- docker container versioning, restoration, and cleanup
- internationalization on both the front AND backends
- secret storage, security audits
- package management, maintenence, and deprecation reviews
- integrating with dozens of APIs
- fucking how to center a div
and that's a _comically_ incomplete list; barely scratches the surface of the full range of what a dev can encounter in a given day of writing software
have many of us probably done one or even all of these at different times? surely.
but does that mean we are supposed to draw that up at a moment's notice some cookie-cutter solution like a fucking robot and spit out an answer on a fax sheet?
recruiters, if you read this site (perhaps only the good ones do anyway so its wasted oxygen), just know that whoever you hire its literally the luck of the draw of how well they perform during the interview. sure, perhaps some perform better, but you can never know how good someone is until they literally start working at your org, so... have fun with that.
Oh and I almost forgot, again for you recruiters, on top of that list which you probably won't ever understand for the entirety of your lives, you can also add writing documentation, backup scripts, and orchestrating / administrating fucking JIRA or actually any somewhat technical dashboard like a CMS or website, because once again, the devs are the only truly competent ones - and i don't even mean in a technical sense, i mean in a HUMAN sense of GETTING SHIT DONE IN GENERAL.
There's literally 2 types of people in the world: those who sit around drawing flow charts and talking on the phone all day, and those WHO LITERALLY FUCKING BUILD THE WORLD
why don't i just run the whole fucking company at this point? you guys are "celebrating" that you made literally $5 dollars from a single customer and i'm just sitting here coding 12 hours a day like all is fine and well
i'm so ANGRY its always the same no matter where i go, non-technical people have just no clue, even when you implore them how long things take, they just nod and smile and say "we'll do it the MVP way". sure, fine, you can do that like 2 or 3 times, but not for 6 fucking months until you have a stack of "MVPs" that come toppling down like the garbage they are.
How do expect to keep the "momentum" of your customers and sales (I hope you can hear the hatred of each of these market words as I type them) if the entire system is glued together with ducktape because YOU wanted to expedite the feature by doing it the EASY way instead of the RIGHT way. god, just forget it, nobody is going to listen anyway, its like the 5th time a row in my life
we NEED tests!
we NEED to know our code coverage!
we NEED to design our system to handle large amounts of traffic!
we NEED detailed logging!
we NEED to start building an exception database!
BILBO BAGGINS! I'm not trying to hurt you! I'm trying to help you!
Don't really know what this rant was, I'm just raging and all over the place at the universe. I'm going to bed.19 -
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 -
A real interaction I just had...
Team Member: "Can you handle this ticket for a bug fix?"
Me: "Whats the problem?"
TM: "We aren't exactly sure..."
Me: "Ok, so can you show it to me?"
TM: "We can't get it to happen again, and when it does the machine freezes and we can't debug it..."
Me: "So, if I find a fix then how do we test to make sure it worked?"
TM: "I'm not sure..."
Then today,
Product Manager: "How's that bug fix going?"
Me: "Well, let's see. The problem still hasn't been defined. I have never been able to recreate the issue. I have a hacky fix in a PR..."
PM: "Great, so we can deploy today?!?"
Me: "No, because we have no way to reproduce or test this issue at all..."
PM: "Do you think your fix will work?"
Me: "Honestly, no. If you're asking for my opinion then you can have it. IMO this is NOT a bug fix but a change to how the system operates altogether. This system was built by someone who didn't know what they are doing. We have done our best with it but it is a house of cards. And now the solution is to replace a card at the bottom layer. It is likely that no matter what fix we do (even when we can fucking test it) that it will topple the house of cards..."
PM: ~Looking at me in disbelief~
Me: "If you ask me for my honest professional opinion then you will get it. Keep that in the future if that honest response was outside what you expected."
PM: "I will do that, thanks for your assessment"
Where do we go from here? God only knows.
Praise Joe Pesci5 -
!!rant
!!ANGER
Micromanager: "Hey, Root!
Since you're back, and still not feeling well, we have an easy ticket for you: Rewrite the slack integration gem! Oh, you don't have to re-implement all of it, just make sure it all works the same way it does now. That bitch you worked with once over a year ago who kept throwing you under the bus to management and stealing credit for your work? Yeah, she wrote the original code like four years ago. It's perfect, so don't touch it. but she can fill you in on all the details you need and get you up to speed on how to test it.
But yep! It should be simple. and I just knew you would love this ticket, so I saved it just for you. Nice and quick, too, to get you an easy win.
You know, since you have to repair your reputation with product. and management. and the execs. and the rest of the team. and me. Yeah, product doesn't trust you so they don't want to give you any tickets. They just can't trust you to get them out and have them work. So you have a lot of hard work to do."
Spoiler: The bus-thrower wasn't much help. (Surprise.)
Spoiler: The ticket was already in my backlog -- one of a grand total of two tickets.
Spoiler: I don't find the ticket fun. Maybe if I was to write the entire implementation with a nice DSL? but no, "don't touch the perfect code." Fuck you.
Spoiler: It isn't going to be nice or quick. But, she (micromanager) is looking to lose me, so that really is an easy win. for her.
And. just. argh. fuck you. i've been exhausted and dying for well over a year, but you've kept ignoring that (and still are, despite me providing goddamn legal forms from fucking doctors stating it in plain fucking english, which you also fucking ignore), and you just keep piling on the work and demanding the ridiculous of me despite it. Yeah I can pull it off sometimes. No, I really shouldn't, and I'm surprised I can. (also, "Time off? What, and lower your productivity even more? ____ doesn't even take vacations. And how are you doing on that ticket?") And no, none of my tickets have ever had any fucking problems. Not even when there are upstream service outages. Not. a. single. fucking. one. Ever. And the only things I've ever missed were things that bloody product never put in the fucking ticket, so fuck you with your "repair your reputation" bullshit.
god, i fuckiNG HATE THESESTUPOID ANWETLJAF SAJEWTKW BITCHFACEDUCKFUCKERS
Why the FUCK am I still fucking working here?
Right, because I've been burned out and dying so much I can't pass a fucking interview so I can fucking leave.
jasdkl;fk
ugh. Anyway. If you ever find yourself starting work at a Cali fintech company whose internal mascot is a very fine duck? Just run. I absolutely guarantee you will be miserable.rant root swears oh my micromanager duckfuckers "trivial" ticket root is fucking fed up root swears a lot holy shit rewrite an entire library in 2-3 days16 -
it's funny, how doing something for ages but technically kinda the wrong way, makes you hate that thing with a fucking passion.
In my case I am talking about documentation.
At my study, it was required to write documentation for every project, which is actually quite logical. But, although I am find with some documentation/project and architecture design, they went to the fucking limit with this shit.
Just an example of what we had to write every time again (YES FOR EVERY MOTHERFUCKING PROJECT) and how many pages it would approximately cost (of custom content, yes we all had templates):
Phase 1 - Application design (before doing any programming at all):
- PvA (general plan for how to do the project, from who was participating to the way of reporting to your clients and so on - pages: 7-10.
- Functional design, well, the application design in an understandeable way. We were also required to design interfaces. (Yes, I am a backender, can only grasp the basics of GIMP and don't care about doing frontend) - pages: 20-30.
- Technical design (including DB scheme, class diagrams and so fucking on), it explains it mostly I think so - pages: 20-40.
Phase 2 - 'Writing' the application
- Well, writing the application of course.
- Test Plan (so yeah no actual fucking cases yet, just how you fucking plan to test it, what tools you need and so on. Needed? Yes. but not as redicilous as this) - pages: 7-10.
- Test cases: as many functions (read, every button click etc is a 'function') as you have - pages: one excel sheet, usually at least about 20 test cases.
Phase 3 - Application Implementation
- Implementation plan, describes what resources will be needed and so on (yes, I actually had to write down 'keyboard' a few times, like what the actual motherfucking fuck) - pages: 7-10.
- Acceptation test plan, (the plan and the actual tests so two files of which one is an excel/libreoffice calc file) - pages: 7-10.
- Implementation evalutation, well, an evaluation. Usually about 7-10 FUCKING pages long as well (!?!?!?!)
Phase 4 - Maintaining/managing of the application
- Management/maintainence document - well, every FUCKING rule. Usually 10-20 pages.
- SLA (Service Level Agreement) - 20-30 pages.
- Content Management Plan - explains itself, same as above so 20-30 pages (yes, what the fuck).
- Archiving Document, aka, how are you going to archive shit. - pages: 10-15.
I am still can't grasp why they were surprised that students lost all motivation after realizing they'd have to spend about 1-2 weeks BEFORE being allowed to write a single line of code!
Calculation (which takes the worst case scenario aka the most pages possible mostly) comes to about 230 pages. Keep in mind that some pages will be screenshots etc as well but a lot are full-text.
Yes, I understand that documentation is needed but in the way we had to do it, sorry but that's just not how you motivate students to work for their study!
Hell, students who wrote the entire project in one night which worked perfectly with even easter eggs and so on sometimes even got bad grades BECAUSE THEIR DOCUMENTATION WASN'T GOOD ENOUGH.
For comparison, at my last internship I had to write documentation for the REST API I was writing. Three pages, providing enough for the person who had to, to work with it! YES THREE PAGES FOR THE WHOLE MOTHERFUCKING PROJECT.
This is why I FUCKING HATE the word 'documentation'.36 -
This is my most ridiculous meeting in my long career. The crazy thing is I have witnessed this scenario play out many times during my career. Sometimes it sits in waiting for a few years but then BOOM there it is again and again. In each case the person that fell into the insidious trap was smart and savvy but somehow it just happened. The outcomes were really embarrassing and in some cases career damaging. Other times, it was sort of humorous. I could see this happening to me and I never want it to happen to you.
Once upon a time in a land not so far away there was a Kickoff Meeting for an offsite work area recovery exercise being planned for our Oklahoma locations. Eleven Oklahoma high ranking senior executives were on this webinar plus three Enterprise IT Directors (Ellen, Jim and Bob) who would support the business from the systems side throughout the exercise.
The plan was for Sam Otto, our Midwest Director of Business Continuity to host this webinar. Sam had hands-on experience recovering to our third party recovery site vendor and he always did a great job. He motivated people to attend the exercise with the coolest breakfasts and lunches you could imagine. Donuts, bagels, pizza, wings, scrumptious salads, sandwiches, beverages and desserts. He was great with people and made it a lot of fun.
At the last minute Charles 'Don't Call Me Charlie' Ego-Smith, the Global Business Continuity Senior Vice President, decided to grand-stand Sam. He demanded the reins to the webinar. Pulled a last-minute power-play and made himself the host and presenter. You have probably seen the move at some point in your career. I guess the old saying, 'be careful what you wish for' has some truth to it - read on and let me know if you devRanters agree...
So, Charlie, I mean Charles, begins hosting the session and greets all of the attendees. Hey, good so far! He starts showing some slides in the PowerPoint presentation and he fields a few questions, comments and requests from the Oklahoma executives. The usual easy to handle requests such as, 'what if we are too busy to do recover all systems', 'what if we recover all of our processes from home', 'what if we have high profile visitors that month?' Hey you can't blame them for trying. You are probably thinking to yourself, 'been there - heard that!' But luckily our experienced team had anticipated the push-back. Fortunately, Senior Management 'had our backs' and committed that all processes and systems must participate and test - so these were just softball requests, 'easy-peasy' to handle. But wait, we are just getting started!
Now the fireworks begin. Bob, one if the Enterprise IT directors started asking a bunch of questions. Well, Charles had somewhat of a history with Bob from previous exercises and did not take kindly to Bob's string of questions. Charles started getting defensive and while Bob was speaking Charles started IM'ing. He's firing off one filthy message after another to me and our teammate Sam.
'This idiot Bob is the biggest pain in the ass that I ever worked with'; 'he doesn't know shit', 'he never shuts the f up', 'I wanna go over to his office and kick his f'in ass...!'
Unfortunately...the idiot Charles had control of the webinar and was sharing his screen so every message he sent was seen by all of the attendees! Yeah, everyone including Bob and the Senior Oklahoma executives! We could not instant message him to stop as everyone would have seen our warnings, so we tried to call Charles' cell phone and text him but he did not pick up. He just kept firing ridiculously embarrassing dirty IM messages and I guess we were all so stunned we just sat there bewildered. We finally bit the bullet and IM'ed him to STOP ALREADY!!! Whoa, talk about an embarrassing silence!
I really felt sorry for Bob. He is a good guy. Deservedly, Charlie 'Yes I am going to call you CHARLIE' got in big time hot water after the webinar with upper management. For one reason or another he only lasted another year or so at our company. Maybe this event played a part in his demise.
So, the morale is, if you use IM - turn it off during a webinar if you are the host. If you must use it, be really careful what you say, who you say it to and pray nothing embarrassing or personal is sent to you for everyone to see.
Quick Update - During the past couple of months I participated on many webinars with enterprise software vendors trying to sell me expensive solutions. Most of the vendors had their IM going while doing webinars and training. Some very embarrassing things came flying across our screens. You learn a lot reading those messages when they pop-up on the presenters' screen, both personal and business related. Some even complaints from customers!
My advice to employees and vendors is to sign-out of IM before hosting a webinar. Otherwise, it just might destroy your credibility and possibly your career.5 -
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 -
Paranoid Developers - It's a long one
Backstory: I was a freelance web developer when I managed to land a place on a cyber security program with who I consider to be the world leaders in the field (details deliberately withheld; who's paranoid now?). Other than the basic security practices of web dev, my experience with Cyber was limited to the OU introduction course, so I was wholly unprepared for the level of, occasionally hysterical, paranoia that my fellow cohort seemed to perpetually live in. The following is a collection of stories from several of these people, because if I only wrote about one they would accuse me of providing too much data allowing an attacker to aggregate and steal their identity. They do use devrant so if you're reading this, know that I love you and that something is wrong with you.
That time when...
He wrote a social media network with end-to-end encryption before it was cool.
He wrote custom 64kb encryption for his academic HDD.
He removed the 3 HDD from his desktop and stored them in a safe, whenever he left the house.
He set up a pfsense virtualbox with a firewall policy to block the port the student monitoring software used (effectively rendering it useless and definitely in breach of the IT policy).
He used only hashes of passwords as passwords (which isn't actually good).
He kept a drill on the desk ready to destroy his HDD at a moments notice.
He started developing a device to drill through his HDD when he pushed a button. May or may not have finished it.
He set up a new email account for each individual online service.
He hosted a website from his own home server so he didn't have to host the files elsewhere (which is just awful for home network security).
He unplugged the home router and began scanning his devices and manually searching through the process list when his music stopped playing on the laptop several times (turns out he had a wobbly spacebar and the shaking washing machine provided enough jittering for a button press).
He brought his own privacy screen to work (remember, this is a security place, with like background checks and all sorts).
He gave his C programming coursework (a simple messaging program) 2048 bit encryption, which was not required.
He wrote a custom encryption for his other C programming coursework as well as writing out the enigma encryption because there was no library, again not required.
He bought a burner phone to visit the capital city.
He bought a burner phone whenever he left his hometown come to think of it.
He bought a smartphone online, wiped it and installed new firmware (it was Chinese; I'm not saying anything about the Chinese, you're the one thinking it).
He bought a smartphone and installed Kali Linux NetHunter so he could test WiFi networks he connected to before using them on his personal device.
(You might be noticing it's all he's. Maybe it is, maybe it isn't).
He ate a sim card.
He brought a balaclava to pentesting training (it was pretty meme).
He printed out his source code as a manual read-only method.
He made a rule on his academic email to block incoming mail from the academic body (to be fair this is a good spam policy).
He withdraws money from a different cashpoint everytime to avoid patterns in his behaviour (the irony).
He reported someone for hacking the centre's network when they built their own website for practice using XAMMP.
I'm going to stop there. I could tell you so many more stories about these guys, some about them being paranoid and some about the stupid antics Cyber Security and Information Assurance students get up to. Well done for making it this far. Hope you enjoyed it.26 -
This Part 3 and finale of the tale of Mr DDTW, or the worst coworker I've ever had to deal with. I suggest you start from the beginning if you don't have the context, it's been a trip.
Part 1: https://devrant.com/rants/4210605
Part 2: https://devrant.com/rants/4220715
The problem with this man threatening to snitch on me to the professor if I didn't revert my commit was that he backed me into a corner. Letting him go at his pace with his quality standards would have ruined the project for the rest of us, and I'm not going to let three other people's grades suffer because one was lazy. I'm the PM, team lead, the guy who will ultimately be held responsible for this project succeeding or failing and the mediator of problems.
So I snitched first.
The professor knew us. He had an idea of how we worked as a team, who was enthusiastic about this subject, who was diligent, and who wasn't. It'd been half a semester and he wasn't stupid. I'd also taken the not-so-minor task of testing our software and handling all the little integration problems between components and between the professor's server. This had resulted in several calls between me and him because he'd been flying by the seat of his pants with some of the upgrades he'd been doing to the server code and as the fastest group we were the ones running into all the bugs on his end. And he'd also noted our prior complaint and seen the discrepancy in commits, author tags and hours logged. Mr DDTW had been graded significantly worse than the rest of us. So when I sent him a goddamn novel about our team's internal problems, the bomb was set. And so we get to the conference call, with everybody panicking and with no clue what any of this is about. Except me.
Dear god. That call was pure catharsis. Never have I seen a man get demolished so hard. Mr DDTW got a 45 minute LECTURE, a goddamn SMACKDOWN, about how he needs to take some responsibility for this team effort and that in the real world he'd have been fired. And the professor was so incredibly serene throughout! He could've blasted him with the rage of a thousand suns but he said it in such a way that Mr DDTW's only real responses were "yes", "I understand" and "I'm sorry". An entire semester of this useless fucking bitch being nothing but a leech on our team in three separate projects and he was finally getting SCHOOLED. And then, it gets even better. The professor asked how we could solve this problem, as Mr DDTW needs to do work to be graded but he can't hold us back.
I dropped a suggestion: As I had implemented the module in a way that worked, we could carry on using my version while Mr DDTW could work on a separate branch. Everything else was working reasonably well for an MVP, we just needed to improve and test now, so if Mr DDTW got it working we could merge it back into the main branch. This solved the team's problem of not being able to progress, it solved Mr DDTWs problem of not wanting to fail the course, and it solved my problem of not having to work with this shit-for-brains for the forseeable future. A weight was lifted off my shoulders. No more Mr DDTW. No more bitching and no more shitcode. A grating arsehole that had been bugging everyone all sememster put in his place and out of my hair.
On the way home from uni that day, I rang a friend and told him the entire story as I needed to get it off my chest. Every time I brought up a problem, an issue, a setback, an argument, he made a remark.
"Damn, if only he just... did the work."
Every time he said it it was in a slightly different way, but every time it made me laugh harder as he just didn't stop interrupting me with the same comment. If only he did the work. But the funniest part of all was how right he was. Mr DDTW had so many opportunities to just sit down, shut up, and do the work like the rest of us, but instead he decided to do fuck-all until he got flak for it and proceeded to dig his own grave. What sort of delusional entitlement, sheer incompetence or other dumbfuckery was he suffering from to make such terrible decisions? It's his last year of university and he still hadn't learned to just do the goddamn work (I would later find out that his friend had covered his shortcomings a lot and was apparently the reason why he hadn't flunked out of uni yet).
And so ends the story of Mr Didn't Do The Work the worst person I have ever had the displeasure of working with. We never did merge his branch as we ran out of time during testing. The professor passed him, possibly out of pity or just so that he wouldn't have to resit the course and burden some other poor sods. We weren't the top scorers this time, partially because of my shortcomings as PM but mostly because of the huge delays and manpower deficit, but we did well enough to pass the course with some very high grades. With one exception of course.4 -
The solution for this one isn't nearly as amusing as the journey.
I was working for one of the largest retailers in NA as an architect. Said retailer had over a thousand big box stores, IT maintenance budget of $200M/year. The kind of place that just reeks of waste and mismanagement at every level.
They had installed a system to distribute training and instructional videos to every store, as well as recorded daily broadcasts to all store employees as a way of reducing management time spend with employees in the morning. This system had cost a cool 400M USD, not including labor and upgrades for round 1. Round 2 was another 100M to add a storage buffer to each store because they'd failed to account for the fact that their internet connections at the store and the outbound pipe from the DC wasn't capable of running the public facing e-commerce and streaming all the video data to every store in realtime. Typical massive enterprise clusterfuck.
Then security gets involved. Each device at stores had a different address on a private megawan. The stores didn't generally phone home, home phoned them as an access control measure; stores calling the DC was verboten. This presented an obvious problem for the video system because it needed to pull updates.
The brilliant Infosys resources had a bright idea to solve this problem:
- Treat each device IP as an access key for that device (avg 15 per store per store).
- Verify the request ip, then issue a redirect with ANOTHER ip unique to that device that the firewall would ingress only to the video subnet
- Do it all with the F5
A few months later, the networking team comes back and announces that after months of work and 10s of people years they can't implement the solution because iRules have a size limit and they would need more than 60,000 lines or 15,000 rules to implement it. Sad trombones all around.
Then, a wild DBA appears, steps up to the plate and says he can solve the problem with the power of ORACLE! Few months later he comes back with some absolutely batshit solution that stored the individual octets of an IPV4, multiple nested queries to the same table to emulate subnet masking through some temp table spanning voodoo. Time to complete: 2-4 minutes per request. He too eventually gives up the fight, sort of, in that backhanded way DBAs tend to do everything. I wish I would have paid more attention to that abortion because the rationale and its mechanics were just staggeringly rube goldberg and should have been documented for posterity.
So I catch wind of this sitting in a CAB meeting. I hear them talking about how there's "no way to solve this problem, it's too complex, we're going to need a lot more databases to handle this." I tune in and gather all it really needs to do, since the ingress firewall is handling the origin IP checks, is convert the request IP to video ingress IP, 302 and call it a day.
While they're all grandstanding and pontificating, I fire up visual studio and:
- write a method that encodes the incoming request IP into a single uint32
- write an http module that keeps an in-memory dictionary of uint32,string for the request, response, converts the request ip and 302s the call with blackhole support
- convert all the mappings in the spreadsheet attached to the meetings into a csv, dump to disk
- write a wpf application to allow for easily managing the IP database in the short term
- deploy the solution one of our stage boxes
- add a TODO to eventually move this to a database
All this took about 5 minutes. I interrupt their conversation to ask them to retarget their test to the port I exposed on the stage box. Then watch them stare in stunned silence as the crow grows cold.
According to a friend who still works there, that code is still running in production on a single node to this day. And still running on the same static file database.
#TheValueOfEngineers2 -
This isn't really a Dev related rant, more of a life rant. Things have been going pretty badly for me lately, so I apologize if this comes across as complaining or whining.
This morning, I got in a car accident that totaled my car. It was a 1996 Chevy Camaro that I had been fixing up and restoring over the last few years and I had it running pretty well. The accident was my fault and I told the police as much, because I value honesty over screwing over others for my own benefit. Money has been very tight lately because my wife was out of work for the last bit of her pregnancy, so we ended up having to move to a 1 bedroom apartment that I could afford rent on my own. She also has a son who is now 13, so space is pretty tight. Money got even tighter once we had the baby. She's 10 weeks old now.
I've barely made the $1500/month rent on my own here, usually paying 1-2 days late because we're living paycheck to paycheck. Our lease is up at the end of July and they won't let us renew because of this.
The bad part is that I was driving a car that had expired registration because I couldn't fix it to pass the state smog test and my license expired two weeks ago. I haven't been able to afford insurance, so every time I drove, it was a gamble.
I'm now going to have to pay these damages out of pocket for the other car.
We're now having to move into my mother in law's house for about 4 months so we can get out of this financial hole we've gotten into.
I feel like I've failed as a father and a husband.10 -
I'm so close to giving up. Yesterday, I travelled 4 hours in one direction for a job interview for a graduate position as a web developer. As I arrived at the interview, I was welcomed by a senior dev and one of the HR people.
I sit down and they start explaining how everything will commence(standard procedure stuff) and afterwards hand me the technical test. At this time I am super calm cause I did my homework, checked out their products, their websites and knew right away what I was going to work on. As I turn the page, I see at the top with huge fucking capital letters "JAVA OOP test".
I take a minute and look back at them, like wtf is happening. Turns out that they are looking for a java dev. They picked me for the role because I had literally 1 fucking sentence in my CV and where I have said that I studied java in one semester of uni. FYI my entire portfolio, cv and cover letter are focused on JS, html, css both for client and server side.
As the fucking HR guy stood there and asked me "is there something wrong", I felt broken inside. For the first time in my fucking life I felt like I was done and couldn't continue anymore. I felt like this is some bitch-slap from karma about something but I still can't figure out what. I just walked out of there being unable to realize what happened.
I just feel like I should end my developer career before it has even started, just go do business analysis or something. Why the fuck would someone put a job description entirely talking about Angular, Less/SASS, bootstrap and jQuery and then say that is a Java dev OOP role. Who the fuck allows those people to take good salaries yet still deliver the up most shittiest quality service.
Before the interview, I checked out their websites which are simply horrendous with the comparability of a fucking baked potato. Idk really what to do, I don't mean to sound as a whiny little b.... but as I walked out of their office, I felt broken inside. Sorry for the long rant.8 -
FUCK LINUX
now that I have your attention, and you’re probably angry, too, please, even if you don’t read this rant, never use code.org again. now, onto the rant…
god dammit, code.org sucks. I mean, anyone who created it or associates with it should, well, be considered a terrorist. they’re bombing students futures in computer science with false, useless, bullshit information. not to mention, their sponsors like bill gates, mark zuckerburg, and other rich asses, talk in a video about some boring ass shit that is hard to understand for anyone who doesn’t program, and not to mention, they use a fucking five dollar microphone. ear rape. even if you look at a textual version of it, then read the information on it, it’s practically useless because it's so terribly explained, and also useless. ironically enough, they focus on their animations more than their actual explinations, or their students for that matter. the fact that we had to encode a picture in binary, made me about 50% dumber, give or take a 0 or 1. then, we had to do it in hex, which wasn’t really much better, although more realistic I supposed. what's really the most depressing thing about this class is its application in the real world. I've learnt nothing whatsoever that will help me in the real world, or in computer science. I suppose there's two things that may be useful (that I already knew): hex, and that TCP doesn't lose packets. that's it. those two things. five seconds worth of knowledge from the first quarter of the year. the ideas just make me want to throw up. teaching the main ideas of computer science without actually teaching it? one of the teachers (probably a good one) enrolled her students in an online programming course just so they could understand, because the explanations are just so terrible. this is the only [high school] computer science course offered by code.org, and I signed up because it's an AP computer science class (tried to get into AP Java, the day I was supposed to take the test to get into an upper level class, I was told it didn't count as a tech credit). seriously, fuck code.org. it makes you dumber. their 'app lab' environment is pointless, just like everything else. the app lab is basically where you have a set of commands and have to make a dog bark() or a storm trooper miss() [and that's hell when they haven't introduced while loops yet]. the app lab is literally code.org going out of their way to make everything that their students are learning pointless in the real world. seriously, why can't we just use a <canvas> like an ACTUAL PROGRAMMER would do if they were to make a browser game, not use an app engine so slow it would be faster to update windows and android studio each time I run an 'app' in their 'environment'. their excuse is that the skills "transfer over" to the real world. BITCH! IF I DIDN'T KNOW JAVA, AND I WANTED TO MAKE A GAME IN JAVA, I'M NOT GOING TO LEARN PYTHON, THEN "TRANSFER" THE SKILLS I LEARNT, I'M GOING TO LEARN FUCKING JAVA. AND THAT GOES FOR EVER OTHER LANGUAGE, PROJECT, ETC.
I'm begging you code.org, stop, get help.9 -
TLDR - you shouldn't expect common sense from idiots who have access to databases.
I joined a startup recently. I know startups are not known for their stable architecture, but this was next level stuff.
There is one prod mongodb server.
The db has 300 collections.
200 of those 300 collections are backups/test collections.
25 collections are used to store LOGS!! They decided to store millions of logs in a nosql db because setting up a mysql server requires effort, why do that when you've already set up mongodb. Lol 😂
Each field is indexed separately in the log.
1 collection is of 2 tb and has more than 1 billion records.
Out of the 1 billion records, 1 million records are required, the rest are obsolete. Each field has an index. Apparently the asshole DBA never knew there's something called capped collection or partial indexes.
Trying to get approval to clean up the db since 3 months, but fucking bureaucracy. Extremely high server costs plus every week the db goes down since some idiot runs a query on this mammoth collection. There's one single set of credentials for everything. Everyone from applications to interns use the same creds.
And the asshole DBA left, making me in charge of handling this shit now. I am trying to fix this but am stuck to get approval from business management. Devs like these make me feel sad that they have zero respect for their work and inability to listen to people trying to improve the system.
Going to leave this place really soon. No point in working somewhere where you are expected to show up for 8 hours, irrespective of whether you even switch on your laptop.
Wish me luck folks.3 -
Just need to get this off my chest. Started a new job 3 weeks ago at a company that has been around ~18 years, it is only recently that they have started to grow more rapidly. I was brought in under the guise that they wanted to embrace change and better practices and so said I was up for the challenge.
In my 2nd week I was asked to produce a document on tackling the technical debt and an approach to software development in the future for 3 consultants who were coming in to review the development practices of the company on behalf of the private equity firm who has taken a major stake in the company. I wrote the document trying to be factual about the current state and where I wanted to go, key points being:
Currently a tightly coupled monolith with little separation of concerns (73 projects in one solution but you have to build two other solutions to get it to build because there are direct references.).
Little to no adherence to SOLID principles.
No automated testing whatsoever.
Libraries all directly referenced using the file system rather than Nuget.
I set out a plan which said we needed to introduce TDD, breaking dependencies, splitting libraries into separate projects with nuget packages. Start adhering to SOLID principles, looking at breaking the project down into smaller services using the strangler pattern etc. After submitting what I had written to be part of a larger document I was told that it had been tweaked as they felt it was too negative. I asked to see the master document and it turns out they had completely excluded it.
I’ve had open and frank discussions with the dev team who to me have espoused that previously they have tried to do better, tackle technical debt etc but have struggled to get management to allow them. All in all a fairly poor culture. They seem almost resigned to their fate.
In my first 2 weeks I was told to get myself acquainted and to settle myself in. I started looking at the code and was quite shocked at how poorly written a lot of it was and in discussions with my manager have been critical of the code base and quite passionate and opinionated about the changes I want to see.
Then on Friday, the end of my third week, I was invited to a meeting for a catch up. The first thing I was told was that they felt I was being too openly critical in the office and whether I was a good fit for the company, essentially a stay or go ultimatum. I’ve asked for the weekend to think about it.
I’ve been a little rocked by it being so quickly asked if I was a good fit for the company and it got my back up. I told them that I was a good fit but for me to stay I want to see a commitment to changes, they told me that they had commitments to deliver new features and that we might be able to do it at some point in the future but for now I just needed to crack on.
Ordinarily I would just walk but I’ve recently started the process to adopt kids and changing jobs right now would blow that out the water. At the same time I’m passionate about what I do and having a high standards, I’m not going to be silenced for being critical but maybe I will try and tackle it in a different way. I think my biggest issue is that my boss who was previously a Senior Developer (my current position) has worked at the company for 12 years and it is his only job, so when I’m being critical it’s most likely criticising code he wrote. I find it hard to have the respect of a boss who I had to teach what a unit test was and how to write one. It makes it hard to preach good standards when by all accounts they don’t see the problems.
Just wondering if anyone has suggestions or experience that might help me tackle this situation?12 -
I’m back for a fucking rant.
My previous post I was happy, I’ve had an interview today and I felt the interviewer acted with integrity and made the role seem worthwhile. Fuck it, here’s the link:
https://www.devrant.io/rants/889363
So, since then; the recruiter got in touch: “smashed it son, sending the tech demo your way, if you can get it done this evening that would be amazing”
Obviously I said based on the exact brief I think that’s possible, I’ll take a look and let them know if it isn’t.
Having done loads of these, I know I can usually knock them out and impress in an evening with no trouble.
Here’s where shit gets fucked up; i opened the brief.
I was met with a brief for an MVP using best practice patterns and flexing every muscle with the tech available...
Then I see the requirements, these fucking dicks are after 10 functional requirements averaging an hour a piece.
+TDD so * 1.25,
+DI and dependency inversion principle * 1.1
+CI setup (1h on this platform)
+One ill requirement to use a stored proc in SQL server to return a view (1h)
+UX/UI design consideration using an old tech (1-2h)
+unobtrusive jquery form post validation (2h)
+AES-256 encryption in the db... add 2h for proper testing.
These cunts want me to knock 15-20h of Work into their interview tech demo.
I’ve done a lot of these recently, all of them topped out at 3h max.
The job is middling: average package, old tech, not the most exciting or decent work.
The interviewer alluded to his lead being a bit of a dick; one of those “the code comes first” devs.
Here’s where shit gets realer:
They’ve included mock ups in the tech demo brief’s zip... I looked at them to confirm I wasn’t over estimating the job... I wasn’t.
Then I looked at the other files in the fucking zip.
I found 3 of the images they wanted to use were copyright withheld... there’s no way these guys have the right to distribute these.
Then I look in the font folder, it’s a single ttf, downloaded from fucking DA Font... it was published less than 2mo ago, the license file had been removed: free for Personal, anything else; contact me.
There’s no way these guys have any rights to this font, and I’ve never seen a font redistributed legally without it’s accompanying licence files.
This fucking company is constantly talking about its ethical behaviours.
Given that I know what I’m doing; I know it would have taken less time to find free-for-commercial images and use a google font... this sloppy bullshit is beyond me.
Anyway, I said I’d get back to the recruiter, he wasn’t to know and he’s a good guy. I let him know I’d complete the tech demo over the weekend, he’s looked after me and I don’t want him having trouble with his client...
I’ll substitute the copyright fuckery with images I have a license for because there’s no way I’m pushing copyright stolen material to a public github repo.
I’ll also be substituting the topic and leaving a few js bombs in there to ensure they don’t just steal my shit.
Here’s my hypotheses, anyone with any more would be greatly welcomed...
1: the lead dev is just a stuck up arsehole, with no real care for his work and a relaxed view on stealing other people’s.
2: they are looking for 15-20h free work on an MVP they can modify and take to market
3: they are looking for people to turn down this job so they can support someone’s fucking visa.
In any case, it’s a shit show and I’ll just be seeing this as box checking and interview practice...
Arguments for 1: the head told me about his lead’s problems within 20mn of the interview.
2: he said his biggest problem was getting products out quickly enough.
3: the recruiter told me they’d been “picky”, and they’re making themselves people who can’t be worked for.
I’m going to knock out the demo, keep it private and protect my work well. It’s going to smash their tits off because I’m a fucking great developer... I’ll make sure I get the offer to keep the recruiter looked after.
Then fuck those guys, I’m fucking livid.
After a wonderful interview experience and a nice introduction to the company I’ve been completely put off...
So here’s the update: if you’re interviewing for a shitty middle level dev position, amongst difficult people, on an out of date stack... you need people to want you, don’t fuck them off.
If they want my time to rush out MVPs, they can pay my day rate.
Fuuuuuuuuck... I typed this out whilst listening to the podcast, I’m glad I’m not the only one dealing with shit.
Oh also; I had a lovely discriminatory as fuck application, personality test and disability request email sent to me from a company that seems like it’s still in the 90s. Fuck those guys too, I reported them to the relevant authorities and hope they’re made to look at how morally reprehensible their recruitment process is. The law is you don’t ask if the job can be done by anyone.6 -
Ticket: This API param doesn’t work.
Ticket Size: 1 story point / extra small baby fries
Found the issue almost immediately: some fucked up date math. Or at least backwards as hell. I don’t know. I don’t care.
There’s no spec for it, and writing it is a bitch. None of the API test helpers are designed for end-to-end tests. Why? I don’t care. They’re stupid. They all just break. And the API does weird shit like fucking redirects to an HTML page. Which is… i don’t know. They mix up API and embedded sessions a bunch, so who knows if this is right or broken as fuck.
I can’t deal with this shit anymore.
It’s just mountains of fucking garbage. Every time I dig into anything, anywhere in this codebase, or, let’s be honest: the entire goddamn company, it’s just more fucking garbage. The code is garbage. The specs are garbage. The people are garbage. The woke crap they love so much is garbage. The industry is garbage. The macs we’re required to use are garbage. The strongly-encouraged editor is garbage. The new hires are garbage. The legendary devs are garbage. The VPN is garbage — still haven’t gotten it to fucking work outside of fucking Safari, which is also garbage. The meetings are garbage. The “culture” is garbage. The “raises” are garbage. The thirty-step dance ceremony for each ticket is garbage. The literal fucking garbage at the office is the best part of the entire goddamn landfill.
And yeah, over half of the code that’s been giving me problems on this ticket was written by the same dev: The legendary golden garbage boy himself.
Just.
Fucking hell.
I’m going back to looking for work again. I can’t do this anymore.10 -
I'm coming off a lengthy staff augmentation assignment awful enough that I feel like I need to be rehabilitated to convince myself that I even want to be a software developer.
They needed someone who does .NET. It turns out what they meant was someone to copy and paste massive amounts of code that their EA calls a "framework." Just copy and paste this entire repo, make a whole ton of tweaks that for whatever reason never make their way back into the "template," and then make a few edits for some specific functionality. And then repeat. And repeat. Over a dozen times.
The code is unbelievable. Everything is stacked into giant classes that inherit from each other. There's no dependency inversion. The classes have default constructors with a comment "for unit testing" and then the "real" code uses a different one.
It's full of projects, classes, and methods with weird names that don't do anything. The class and method names sound like they mean something but don't. So after a dozen times I tried to refactor, and the EA threw a hissy fit. Deleting dead code, reducing three levels of inheritance to a simple class, and renaming stuff to indicate what it does are all violations of "standards." I had to go back to the template and start over.
This guy actually recorded a video of himself giving developers instructions on how to copy and paste his awful code.
Then he randomly invents new "standards." A class that reads messages from a queue and processes them shouldn't process them anymore. It should read them and put them in another queue, and then we add more complication by reading from that queue. The reason? We might want to use the original queue for something else one day. I'm pretty sure rewriting working code to meet requirements no one has is as close as you can get to the opposite of Agile.
I fixed some major bugs during my refactor, and missed one the second time after I started over. So stuff actually broke in production because I took points off the board and "fixed" what worked to add back in dead code, variables that aren't used, etc.
In the process, I asked the EA how he wanted me to do this stuff, because I know that he makes up "standards" on the fly and whatever I do may or may not be what he was imagining. We had a tight deadline and I didn't really have time to guess, read his mind, get it wrong, and start over. So we scheduled an hour for him to show me what he wanted.
He said it would take fifteen minutes. He used the first fifteen insisting that he would not explain what he wanted, and besides he didn't remember how all of the code he wrote worked anyway so I would just have to spend more time studying his masterpiece and stepping through it in the debugger.
Being accountable to my team, I insisted that we needed to spend the scheduled hour on him actually explaining what he wanted. He started yelling and hung up. I had to explain to management that I could figure out how to make his "framework" work, but it would take longer and there was no guarantee that when it was done it would magically converge on whatever he was imagining. We totally blew that deadline.
When the .NET work was done, I got sucked into another part of the same project where they were writing massive 500 line SQL stored procedures that no one could understand. They would write a dozen before sending any to QA, then find out that there was a scenario or two not accounted for, and rewrite them all. And repeat. And repeat. Eventually it consisted of, one again, copying and pasting existing procedures into new ones.
At one point one dev asked me to help him test his procedure. I said sure, tell me the scenarios for which I needed to test. He didn't know. My question was the equivalent of asking, "Tell me what you think your code does," and he couldn't answer it. If the guy who wrote it doesn't know what it does right after he wrote it and you certainly can't tell by reading it, and there's dozens of these procedures, all the same but slightly different, how is anyone ever going to read them in a month or a year? What happens when someone needs to change them? What happens when someone finds another defect, and there are going to be a ton of them?
It's a nightmare. Why interview me with all sorts of questions about my dev skills if the plan is to have me copy and paste stuff and carefully avoid applying anything that I know?
The people are all nice except for their evil XEB (Xenophobe Expert Beginner) EA who has no business writing a line of code, ever, and certainly shouldn't be reviewing it.
I've tried to keep my sanity by answering stackoverflow questions once in a while and sometimes turning evil things I was forced to do into constructive blog posts to which I cannot link to preserve my anonymity. I feel like I've taken a six-month detour from software development to shovel crap. Never again. Lesson learned. Next time they're not interviewing me. I'm interviewing them. I'm a professional.9 -
I feel like the web frontend landscape has gone to hell...
It used to be a priority to develop lean front end applications that load fast and work the same on most devices. If resources are required you try to share them. I have always liked the way this was solved using CDN.
Proper workflow: include some small libs you might need, script your interactions, test site, deliver.
And now our friends of the Javascript community have discovered the nuclear science called npm... It started off as this great benefit allowing frontenders to complete entire projects in the language they know and love but I feel like it has grown into an abomination that produces bulky applications with more boilerplate configuration than actual active code...
Surely I can't be the only one who is completely fed up with the direction this is going? Is anyone else looking for a lean way of developing javascript again using only a couple of small libs instead of those monstrous frameworks.
I have even considered to develop a library that makes it easy to develop with CDN (and dependencies) in mind but I don't even know if it will be worth it as more and more people tend to move away from it.
I'm sad10 -
TLDR: Ever wondered what your project's intro/theme song would be?!
Here's mine..
https://youtu.be/SH8wDkqA_50
Share yours if you ever thought about it or some particular song plays in your head while reading this..
Long(er) version + story: project I am currently working on is notorios in our company.. everyone avoids it, parts of code are untouched for 10+ years.. I used to think it was a 'shitty' project, many frameworks, many parts, many coding styles, many bugs... but longer I worked on it, more I came to realisation, it's not the code, it was the coders.. sloppy coders who didn't give a flying f..
Yes, some things are outdated still, and could be rewritten better (hopefully it will start happening soon! Yay!!), some were already rewamped, new things added... but for the time it was going live, it was majestic. I love solving bugs n problems so I must admit it has grown on me.. my little baby/devil..
Anyhu, one day on skype out of the blue I got this pic from my coworker.. made my day, laughed my ass off.. later that day I was debbuging something and youtube started rolling saw theme song (https://youtu.be/9fwWS6Xo1go)...
When I realised what I was listening too, it made perfect sense.. I was relaxed, at peace.. it clicked.. the song, the project, the bug, the code.. it all made chaotic sense..
I want to play a game..
I realised, project wasn't mean, it was just misunderstood and mistreated.. it can be your best friend if you play nice.
I replied to said coworker that I rhink I just found out my project's theme song and pasted the link.. he laughed, I laughed, my project laughed then it killed my test server.. It was a great day!! 🤣🤣🤣🤣
// all true except the project killing server part, that in fact happened on a different occasion
So.. you guys had any moments like this? Any theme songs, intros for your projects?? Or am I the only weirdo who makes associations like this all the time... 🤔🤣😇 ???6 -
So last year i was competing in IT basics, school level went great so i went to state level. This is my first state competition ever and im really nervous, everyone is telling me things like "you've got the gift, don't worry" (by everyone i mean my mum) but i keep believing that everyone who went to the state level has a 'gift' for IT. So the competition is about to start and a guy next to me raises hand to ask a question and im like so nervous that he is going to ask something i dont understand or is too complicated for me. The guy fucking asks how to get past the login screen because he clicked on an admin account and it is requesting a password. The fucking guest account is right next to the admin account that he clicked on and i proceed to help him and i click on the guest account and he litteraly asks me "wow i didnt know that was possible". What the fuck. IT BASICS STATE LEVEL. DOSENT FUCKING KNOW HOW TO ENTER A GUEST ACCOUNT. Next on, the competition is over and we have to enter passwords to submit our online test so as i walk to exit the classroom i see a guy struggling and i ask him like dude you need to write a password and submit! Hes like umm yeah i know but umm you see... I dont know how to write a # (it was required as a password) .IT FUCKING BASICS STATE LEVEL.DOSENT KNOW HOW TO WRITE A '#'. Later on i got 8th place and the fucker who didnt know how to write # got 1st because he knew fucking exel questions that i didnt.4
-
IF YOU UPDATE AN ADM PLATTFORM FOR FUCKS SAKE DON'T DO THE FOLLOWING THINGS:
1. ONLY DOCUMENTATE IT IN A POWERPOINT
2. WRITE DOWN IPs AND PORTS ONLY ON A WHITE-BORD
3. MOVE TOOLS TO OTHER SUBNETS OR DOMAINS WITHOUT PROPERLY KNOWING THE WAYS OF COMMUNICATION BETWEEN THEM
4. USE YOUR PERSONAL EMAIL ADDRESS AS RESET OPTION FOR LICENCE-MANAGEMENT ACCESS IF NO ONE KNOWS THE PW
5. LEAVE THE COMPANY THE DAY AFTER THE UPGRADE IS DONE
Because the guy who has to take care of the upcoming problems is not going to like you!
BUT having to deal with all of this at once would not be a problem if your, so called team (30 People who work with those applications e.g. as test-engineers) would actually work together instead of having that "not my daily business, I am going to drink coffee" attitude.
Apparently I am the only one who has enough balls to see, admit, and report a problem to our leadership.
This always leads to Me fixing the issue...
....that's alright I am learning a lot...
...BUT IF A TEAM-MATE, WHO HAS THE SAME DEGREE AS I AM GOING TO GET, LEAVES EARY BECAUSE: "HE DOES NOT KNOW WHATS WRONG", IT TRIGGERS ME!!!
- The apprenticeship guy
PS Needless to say hundreds of clients have access to those systems and I worked through a shittload of official tool docs just to get to know the tools first...6 -
Storytime!
I got a ticket near the end of the day, asking to install a printer on a computer. The branch in question was in a different time zone (I'm in US-Pacific [GMT-07] and the computer was in US-Eastern [GMT-04]). I figured I wouldn't worry about it; after all, I had other tickets to work on that were much higher priority.
The next day I come into work and immediately get a message from one of my East Coast coworkers, telling me that this branch is calling and asking how the printer is coming. I told him to tell them I would call them a bit later. I do a couple of easy jobs and then begrudgingly call the branch. I listen to the phone tree that they have (which requires two button presses instead of one in order to speak with someone) and finally get in contact with a person... only to have the call disconnect.
I call back and ask for the person who called in the ticket and then followed up, who had apparently gone to lunch. I informed the person that I was just going to install the printer and it would be good to go. This would be fine... up until she mentioned she needed scanning functionality.
Now I wasn't sure if the driver we have in AD is set up with the scan functionality, so I said okay, but that meant I would have to get the driver from the website. The connection to our branches are about 1Mbps, so even downloading Java updates (60-ish MB) take about 5-10 minutes on a good day. The file for this printer was about 700MB (thanks HP). So I went and did other stuff while that downloaded.
I come back after it finished and started the install process. Right away it asks to re-seat the USB cable. So I call the branch. The call disconnects. I call again. It disconnects. I call one more time, and finally get the person who called the ticket in. I instruct him to re-seat the cable. He does. The driver starts doing its thing. I tell him I'll call back if I run into any issues and we hang up.
The driver goes through the install process for about 20 minutes, stops at 99%, then fails. I want to restart the computer, just in case there's a conflict somewhere, but that would require calling the store again, so I put it off.
About an hour later I get a message from another East Coast coworker, telling me the branch is calling about the printer again. I was in the middle of another call and said I would call back later. I do. It disconnects. I call again, and get the person who called the ticket in again. I tell him I want to restart the computer, but wasn't sure if it was okay. He checks with the people using it, who says it's okay, so I reboot. I hang up.
Once the computer comes back up I start the install process again. It asks to re-seat the cable. Fuck. I don't want to call the store again, so I open notepad and say "Please take out the printer's USB connection from the back of the computer."
Three. Fucking. People. Saw it. They moved the window and one even tried to close it, but they didn't re-seat the cable. I opened another window, telling them to call me at my number. They didn't. I called them. Got disconnected. I called them again, finally got someone, told them to re-seat the printer cable again. They do, thank god.
I say thank you and hang up. Continue the installer. It stops at 99% again and fails. I reboot the computer; screw it, I'm just going to install the driver from Active Directory. Check Devices and Printers. It's installed successfully. Hallelujah!
I get the printer set up for the various programs they use and print a test page. I call them one last time; their phone system sounding like they were connected via an underwater line connected by tin cans. I get someone.
$me: Hi, I want to know if the printer has printed something.
$them (garbled): -et me shee... yesh, it -rint-d a *beezelborp*.
$me: Perfect, I'm going to close this ticket! Thanks, goodbye! *hangs up*
tl;dr - I hate printers -
After a few weeks of being insanely busy, I decided to log onto Steam and maybe relax with a few people and play some games. I enjoy playing a few sandbox games and do freelance development for those games (Anywhere from a simple script to a full on server setup) on the side. It just so happened that I had an 'urgent' request from one of my old staff member from an old community I use to own. This staff member decided to run his own community after I sold mine off since I didn't have the passion anymore to deal with the community on a daily basis.
O: Owner (Former staff member/friend)
D: Other Dev
O: Hey, I need urgent help man! Got a few things developed for my server, and now the server won't stay stable and crashes randomly. I really need help, my developer can't figure it out.
Me: Uhm, sure. Just remember, if it's small I'll do it for free since you're an old friend, but if it's a bigger issue or needs a full recode or whatever, you're gonna have to pay. Another option is, I tell you what's wrong and you can have your developer fix it.
O: Sounds good, I'll give you owner access to everything so you can check it out.
Me: Sounds good
*An hour passes by*
O: Sorry it took so long, had to deal with some crap. *Insert credentials, etc*
Me: Ok, give me a few minutes to do some basic tests. What was that new feature or whatever you added?
O: *Explains long feature, and where it's located*
Me: *Begins to review the files* *Internal rage wondering what fucking developer could code such trash* *Tests a few methods, and watches CPU/RAM and an internal graph for usage*
Me: Who coded this module?
O: My developer.
Me: *Calm tone, with a mix of some anger* So, you know what, I'm just gonna do some simple math for ya. You're running 33 ticks a second for the server, with an average of about 40ish players. 33x60 = 1980 cycles a minute, now lets times that by the 40 players on average, you have 79,200 cycles per minute or nearly 4.8 fucking cycles an hour (If you maxed the server at 64 players, it's going to run an amazing fucking 7.6 million cycles an hour, like holy fuck). You're also running a MySQLite query every cycle while transferring useless data to the server, you're clusterfucking the server and overloading it for no fucking reason and that's why you're crashing it. Another question, who the fuck wrote the security of this? I can literally send commands to the server with this insecure method and delete all of your files... If you actually want your fucking server stable and secure, I'm gonna have to recode this entire module to reduce your developer's clusterfuck of 4.8 million cycles to about 400 every hour... it's gonna be $50.
D: *Angered* You're wrong, this is the best way to do it, I did stress testing! *Insert other defensive comments* You're just a shitty developer (This one got me)
Me: *Calm* You're calling me a shitty developer? You're the person that doesn't understand a timer, I get that you're new to this world, but reading the wiki or even using the game's forums would've ripped this code to shreds and you to shreds. You're not even a developer, cause most of this is so disorganized it looks like you copy and pasted it. *Get's angered here and starts some light screaming* You're wasting CPU usage, the game can't use more than 1 physical core, and after a quick test, you're stupid 'amazing' module is using about 40% of the CPU. You need to fucking realize the 40ish average players, use less than this... THEY SHOULD BE MORE INTENSIVE THAN YOUR CODE, NOT THE OPPOSITE.
O: Hey don't be rude to Venom, he's an amazing coder. You're still new, you don't know as much as him. Ok, I'll pay you the money to get it recoded.
Me: Sounds good. *Angered tone* Also you developer boy, learn to listen to feedback and maybe learn to improve your shitty code. Cause you'll never go anywhere if you don't even understand who bad this garbage is, and that you can't even use the fucking wiki for this game. The only fucking way you're gonna improve is to use some of my suggestions.
D: *Leaves call without saying anything*
TL;DR: Shitty developer ran some shitty XP system code for a game nearly 4.8 million times an hour (average) or just above 7.6 million times an hour (if maxed), plus running MySQLite when it could've been done within about like 400 an hour at max. Tried calling me a shitty developer, and got sorta yelled at while I was trying to keep calm.
Still pissed he tried calling me a shitty developer... -
I'm pretty sure that the technical tests for FAANG are just to prove that you'll bust your ass doing trivial bullshit for them / and that you're a sucker -- instead of actual meaningful skill checks. Is this guy a total sucker who will drink our Koolaid when it's time? Are they wearing Nike? Yes. This is going to be a good investment.
I was down and out once and got a job a Micheal's Art and Crafts store. The application was clearly a mindfuck test. It asked, "If your boss was stealing - would you report them?" BTW - the answer is "No." You only report people below you. I answered in the way I knew the computer wanted me to - and I got the job. Same shit.
Are you subordinate? You're hired.2 -
Two big moments today:
1. Holy hell, how did I ever get on without a proper debugger? Was debugging some old code by eye (following along and keeping track mentally, of what the variables should be and what each step did). That didn't work because the code isn't intuitive. Tried the print() method, old reliable as it were. Kinda worked but didn't give me enough fine-grain control.
Bit the bullet and installed Wing IDE for python. And bam, it hit me. How did I ever live without step-through, and breakpoints before now?
2. Remember that non-sieve prime generator I wrote a while back? (well maybe some of you do). The one that generated quasi lucas carmichael (QLC) numbers? Well thats what I managed to debug. I figured out why it wasn't working. Last time I released it, I included two core methods, genprimes() and nextPrime(). The first generates a list of primes accurately, up to some n, and only needs a small handful of QLC numbers filtered out after the fact (because the set of primes generated and the set of QLC numbers overlap. Well I think they call it an embedding, as in QLC is included in the series generated by genprimes, but not the converse, but I digress).
nextPrime() was supposed to take any arbitrary n above zero, and accurately return the nearest prime number above the argument. But for some reason when it started, it would return 2,3,5,6...but genprimes() would work fine for some reason.
So genprimes loops over an index, i, and tests it for primality. It begins by entering the loop, and doing "result = gffi(i)".
This calls into something a function that runs four tests on the argument passed to it. I won't go into detail here about what those are because I don't even remember how I came up with them (I'll make a separate post when the code is fully fixed).
If the number fails any of these tests then gffi would just return the value of i that was passed to it, unaltered. Otherwise, if it did pass all of them, it would return i+1.
And once back in genPrimes() we would check if the variable 'result' was greater than the loop index. And if it was, then it was either prime (comparatively plentiful) or a QLC number (comparatively rare)--these two types and no others.
nextPrime() was only taking n, and didn't have this index to compare to, so the prior steps in genprimes were acting as a filter that nextPrime() didn't have, while internally gffi() was returning not only primes, and QLCs, but also plenty of composite numbers.
Now *why* that last step in genPrimes() was filtering out all the composites, idk.
But now that I understand whats going on I can fix it and hypothetically it should be possible to enter a positive n of any size, and without additional primality checks (such as is done with sieves, where you have to check off multiples of n), get the nearest prime numbers. Of course I'm not familiar enough with prime number generation to know if thats an achievement or worthwhile mentioning, so if anyone *is* familiar, and how something like that holds up compared to other linear generators (O(n)?), I'd be interested to hear about it.
I also am working on filtering out the intersection of the sets (QLC numbers), which I'm pretty sure I figured out how to incorporate into the prime generator itself.
I also think it may be possible to generator primes even faster, using the carmichael numbers or related set--or even derive a function that maps one set of upper-and-lower bounds around a semiprime, and map those same bounds to carmichael numbers that act as the upper and lower bound numbers on the factors of a semiprime.
Meanwhile I'm also looking into testing the prime generator on a larger set of numbers (to make sure it doesn't fail at large values of n) and so I'm looking for more computing power if anyone has it on hand, or is willing to test it at sufficiently large bit lengths (512, 1024, etc).
Lastly, the earlier work I posted (linked below), I realized could be applied with ECM to greatly reduce the smallest factor of a large number.
If ECM, being one of the best methods available, only handles 50-60 digit numbers, & your factors are 70+ digits, then being able to transform your semiprime product into another product tree thats non-semiprime, with factors that ARE in range of ECM, and which *does* contain either of the original factors, means products that *were not* formally factorable by ECM, *could* be now.
That wouldn't have been possible though withput enormous help from many others such as hitko who took the time to explain the solution was a form of modular exponentiation, Fast-Nop who contributed on other threads, Voxera who did as well, and support from Scor in particular, and many others.
Thank you all. And more to come.
Links mentioned (because DR wouldn't accept them as they were):
https://pastebin.com/MWechZj912 -
I've started programming when I was 12. Right now I'm 25. I can clearly say that I'm passionate, I've touched I think almost every "type" of programming ever. From game development, through IoT and finished at eCommerce. I never stop learning.
My workmates are pissing me off. For code review sometimes I'm waiting even 3 days when I've changed like 5-6 files. They don't want to introduce "new" technologies (by new I mean who are existing at least 2-3 years, got stable community). They don't want to refactor some core of the application because it's working - they don't care about it as they can later say "legacy system so this basic feature took me a week".
Code quality means for them "use shorthand syntax, this code is ugly" - the basic shit which can do any linter
When I'm doing code review, I'm checking out to this branch, test it, check if the solution is scalable. Then I make my comments. I just hear "stop bitching about it just approve".
Thank God I've made through interview and I'm going to switch job in next week.7 -
So I have been a fly on the "wall" for last couple of months and never signed up, but now here I am!
Rant is about a serious topic - gender gap in tech industry!!
Couple of months ago Stackoverflow announced developer survey results! I was shocked by demographics results! It was disappointing to see biggest gender gap in general tech industry!
I believe tech industry can be the first one to have equal pay for women!
However.... (bad part)
I was going through my twitter feeds and saw this! Many of you have seen this tweet too.
(ohh!fuck I cant attach multiple images here, I should have created Medium post, fuck it!)
"They" continue, quoting from the tweet.
1)"....bias in society is reflected in AI"
2) "However, I do think it is our responsibility as designers/developers/users to be aware of this bias and do our best to correct it."
I want to rant about 2nd one. Some of you may not like it including grammar naziz!
As a developer/programmer I take 2nd one personally! I am currently at denial phase though!
And I have an OCD so gonna make points here!
1) Seriously tell me please, how the fuck you can write gender bias algorithm which can pass a big crazy amount of test suite?
2) Google has done many things for last decade to overcome gender gap related issues. I have met some of the nicest people from Google, and this is really hard for me to believe that google AI or that team has anything to do with the results!
3) Someone suggests use "they" in google translated result, can you fucking imagine how wrong that would be??? If I am developer working on that algo or even in that team and I see this ticket in jira with highest priority where it says, "make all translated results gender neutral using only they" - I would fucking like to die and may be in my next life ask me to do that, when I am a toddler!
4) I am an advocate for equal pay, equal rights and equal opportunities for everyone to "minify" this gender gap in tech, but showing google translate results of a gender natural language to make a point is wrong, it is simply undermining the efforts of something really helpful thing.
5) Moving on to the core point - What can be done to lower down the gender gap? I have seen amazing women who can code/manage far far far better than what I ever could imagine, and they are at really good place and deserve to be there. Are they doing enough to inspire other women to join tech industry?
Collective efforts are very much required. And need to keep in consideration that tech industry is highly competitive roles are also changing rapidly.
6) Many big companies have women at higher positions(CEO, CFO,....) what are their efforts to bring more women in tech industry?
(Some of you may not like this, as this is implying that it isn't only men's job. )
7) Going slightly political here, everyday we see really disappointing news related to women and their rights and health, I strongly believe women don't have to ask for or even have to mention about "equal rights" about anything. Everyone is equal!!!
This is 2017 and still fucked up!
Thats all for today! Heading for breakfast!24 -
So one of my clients had a different company do a penetrationtest on one of my older projects.
So before hand I checked the old project and upgraded a few things on the server. And I thought to myself lets leave something open and see if they will find it.
So I left jquery 1.11.3 in it with a known xss vulnerability in it. Even chrome gives a warning about this issue if you open the audit tab.
Well first round they found that the site was not using a csrf token. And yeah when I build it 8 years ago to my knowledge that was not really a thing yet.
And who is going to make a fake version of this questionair with 200 questions about their farm and then send it to our server again. That's not going to help any hacker because everything that is entered gets checked on the farm again by an inspector. But well csrf is indeed considered the norm so I took an hour out of my day to build one. Because all the ones I found where to complicated for my taste. And added a little extra love by banning any ip that fails the csrf check.
Submitted the new version and asked if I could get a report on what they checked on. Now today few weeks later after hearing nothing yet. I send my client an email asking for the status.
I get a reaction. Everything is perfect now, good job!
In Dutch they said "goed gedaan" but that's like what I say to my puppy when he pisses outside and not in the house. But that might just be me. Not knowing what to do with remarks like that. I'm doing what I'm getting paid for. Saying, good job, your so great, keep up the good work. Are not things I need to hear. It's my job to do it right. I think it feels a bit like somebody clapping for you because you can walk. I'm getting off topic xD
But the xss vulnerability is still there unnoticed, and I still have no report on what they checked. So I have like zero trust in this penetration test.
And after the first round I already mentioned to the security guy in my clients company and my daily contact that they missed things. But they do not seem to care.
Another thing to check of their to do list and reducing their workload. Who cares if it's done well it's no longer their responsibility.
2018 disclaimer: if you can't walk not trying to offend you and I would applaud for you if you could suddenly walk again.2 -
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 -
There are a lot... I am going to pick the interview dialogue (incl. test) with the government.
Following situation:
-5 recruiters
-3 candidates (including me) who have all passed an online test that did last for 3 hours
The online test was for the government to see how every candidate is good at math, English, situation adaptation, historical questions, a little bit of techy questions like "What does fps stand for?" and basic questions like that.
Even tho I did apply for a job as a software developer, there was not a single fucking question about programming. I shit you not. Anyways...
After everyone did introduce themselves. I was given the following question by one of the recruiters:"How do you think will the regular work look like to you, if you were to schedule it? We will be starting with you, <myName>"
Me:"Since this is hopefully going to be my first job in software development, I can only assume it for now. Based on my knowledge about this specific topic that I have made by reading other software developers' work experiences in form of textual content, I guess that I am going to do this [...] and that [...]. Oh and after this comes the planning phase (I had mentioned the sprints and agile "frameworks") and meetings of how the projects are doing so far.
After this comes the phase of sitting down and getting to work on the project I am assigned to.
At the end comes the "see you tomorrow, xyz" phase and everyone leaves."
Somebody else from the 5 recruiters:"I am sorry to interrupt you right here, but we are not offering you a dev job. It rather is a mixture of dev and sysadmin. You will be working most of the time fixing someone's problem with their PC and not sitting in a dark and empty corner of a warm room."
This was such a disrespect that I could not give an answer to. I was deeply shocked. Developers need more respect. Most of the fucking things you use, are created by developers, you asshole.
"We will be very happy, if you can call us by tomorrow to let us now if you are still interested."
Me does not even bother anymore and blacklists that government as a "trust me. You do not want to work there" type of job offering place.
Since I did not sign any NDA. It is the government of Germany.
PS: I did apply for a *dev* job. But somehow they did decide to create a new job and assign me to it. That is not professional.5 -
Not as much of a rant as a share of my exasperation you might breathe a bit more heavily out your nose at.
My work has dealt out new laptops to devs. Such shiny, very wow. They're also famously easy to use.
.
.
.
My arse.
.
.
.
I got the laptop, transferred the necessary files and settings over, then got to work. Delivered ticket i, delivered ticket j, delivered the tests (tests first *cough*) then delivered Mr Bullet to Mr Foot.
Day 4 of using the temporary passwords support gave me I thought it was time to get with department policy and change my myriad passwords to a single one. Maybe it's not as secure but oh hell, would having a single sign-on have saved me from this.
I went for my new machine's password first because why not? It's the one I'll use the most, and I definitely won't forget it. I didn't. (I didn't.) I plopped in my memorable password, including special characters, caps, and numbers, again (carefully typed) in the second password field, then nearly confirmed. Curiosity, you bastard.
There's a key icon by the password field and I still had milk teeth left to chew any and all new features with.
Naturally I click on it. I'm greeted by a window showing me a password generating tool. So many features, options for choosing length, character types, and tons of others but thinking back on it, I only remember those two. I had a cheeky peek at the different passwords generated by it, including playing with the length slider. My curiosity sated, I closed that window and confirmed that my password was in.
You probably know where this is going. I say probably to give room for those of you like me who certifiably. did. not.
Time to test my new password.
*Smacks the power button to log off*
Time to put it in (ooer)
*Smacks in the password*
I N C O R R E C T L O G I N D E T A I L S.
Whoops, typo probably.
Do it again.
I N C O R R E C T L O G I N D E T A I L S.
No u.
Try again.
I N C O R R E C T L O G I N D E T A I L S.
Try my previous password.
Well, SUCCESS... but actually, no.
Tried the previous previous password.
T O O M A N Y A T T E M P T S
Ahh fuck, I can't believe I've done this, but going to support is for pussies. I'll put this by the rest of the fire, I can work on my old laptop.
Day starts getting late, gotta go swimming soonish. Should probably solve the problem. Cue a whole 40 minutes trying my 15 or so different passwords and their permutations because oh heck I hope it's one of them.
I talk to a colleague because by now the "days since last incident" counter has been reset.
"Hello there Ryan, would you kindly go on a voyage with me that I may retrace my steps and perhaps discover the source of this mystery?"
"A man chooses, a slave obeys. I choose... lmao ye sure m8, but I'm driving"
We went straight for the password generator, then the length slider, because who doesn't love sliding a slidey boi. Soon as we moved it my upside down frown turned back around. Down in the 'new password' and the 'confirm new password' IT WAS FUCKING AUTOCOMPLETING. The slidey boi was changing the number of asterisks in both bars as we moved it. Mystery solved, password generator arrested, shit's still fucked.
Bite the bullet, call support.
"Hi, I need my password resetting. I dun goofed"
*details tech support needs*
*It can be sorted but the tech is ages away*
Gotta be punctual for swimming, got two whole lengths to do and a sauna to sit in.
"I'm off soon, can it happen tomorrow?"
"Yeah no problem someone will be down in the morning."
Next day. Friday. 3 hours later, still no contact. Go to support room myself.
The guy really tries, goes through everything he can, gets informed that he needs a code from Derek. Where's Derek? Ah shet. He's on holiday.
There goes my weekend (looong weekend, bank holiday plus day flexi-time) where I could have shown off to my girlfriend the quality at which this laptop can play all our favourite animé, and probably get remind by her that my personal laptop has an i2350u with integrated graphics.
TODAY. (Part is unrelated, but still, ugh.)
Go to work. Ten minutes away realise I forgot my door pass.
Bollocks.
Go get a temporary pass (of shame).
Go to clock in. My fob was with my REAL pass.
What the wank.
Get to my desk, nobody notices my shame. I'm thirsty. I'll have the bottle from my drawer. But wait, what's this? No key that usually lives with my pass? Can't even unlock it?
No thanks.
Support might be able to cheer me up. Support is now for manly men too.
*Knock knock*
"Me again"
"Yeah give it here, I've got the code"
He fixes it, I reset my pass, sensibly change my other passwords.
Or I would, if the internet would work.
It connects, but no traffic? Ryan from earlier helps, we solve it after a while.
My passwords are now sorted, machine is okay, crisis resolved.
*THE END*
If you skipped the whole thing and were expecting a tl;dr, you just lost the game.
Otherwise, I absolve you of having lost the game.
Exactly at the char limit9 -
TL;DR:
JuniorDev ignores every advice, writes bad code and complains about other people not working because he does not see their result because he looks at the wrong places.
Okay, so I am really fed up right now.
We have this Junior Dev, who is now with us for circa 8 months, so ca. a year less than me. Our first job for both of us.
He is mostly doing stuff nobody in the team cares about because he is doing his own projects.
But now there's a project where we need to work with him. He got a small part and did implement that. Then parts of the main project got changed and he included stuff which was not there anymore. It was like this for weeks until someone needed to tell him to fix it.
His code is a huge mess (confirmed by senior dev and all the other people working at the project).
Another colleague and me mostly did (mostly) pair programming the past 1-2 weeks because we were fixing and improving (adding functionality) libraries which we are going to use in the project. Furthermore we discussed the overall structure and each of us built some proof-of-concept applications to check if some techniques would work like we planned it.
So in short: We did a lot of preparation to have the project cleaner and faster done in the next few weeks/months and to have our code base updated for the future. Plus there were a few things about technical problems which we need to solve which was already done in that time.
Side note: All of this was done not in the repository of the main project but of side projects, test projects and libraries.
Now it seems that this idiot complained at another coworker (in our team but another project) that we were sitting there for 2 weeks, just talking and that we made no progress in the project as we did not really commit much to the repository.
Side note: My colleague and me are talking in another language when working together and nobody else joins, as we have the same mother tongue, but we switch to the team language as soon as somebody joins, so that other colleague did not even know what we were talking about the whole day.
So, we are nearly the same level experience wise (the other colleague I work with has just one year more professional experience than me) and his work is confirmed to be a mess, ugly and totally bad structured, also not documented. Whereas our code is, at least most of it, there is always space for improvement, clean, readable and re-useable (confirmed by senior and other team members as well).
And this idiot who could implement his (far smaller part) so fast because he does not care about structure or any style convention, pattern or anything complains about us not doing our work.
I just hope, that after this project, I don't have to work with him again soon.
He is also one of those people who think that they know everything because he studied computer science (as everybody in the team, by the way). So he listens to nothing anybody explains to him, not even the senior. You have to explain everything multiple times (which is fine in general) and at some points he just says that he understood, although you can clearly see that he didn't really understand but just wants to go on coding his stuff.
So you explain him stuff and also explain why something does not work or is not a good thing, he just says "yes, okay", changes something completely different and moves on like he used to.
How do you cope with something like this?6 -
So first of all I'm not a dev.
I'm a software tester and my test manager is a douche, but this is not it.
Today I went to the end user place along with him to teach them how to test properly and how to manage the software test cycle in JIRA.
I did a demo and showed the users the software the dev team developed and of course there were a lot of rants about it.
Users noted down a list of things to be changed and we kept going.
By the end of the demo, my test manager started discussing the fact that I told these guys to open Bugs without test objects on Jira.
I mean, we don't have a test cycle or test cased yet but these guys found issues already, what's the point?
So here's the funny part.
He then starts telling users (which ignore testing fundaments) to create a test cycle called 'meeting of today dd/mm/yyyy" and create tests below it which were named with the names of who created them.
All of that without a logic and ignoring the fact that these tests were not tests.
I was laughing my ass off while assisting this total mess and I almost lost control.
And this is my manager.
Luckily, tomorrow is Saturday.4 -
Github 101 (many of these things pertain to other places, but Github is what I'll focus on)
- Even the best still get their shit closed - PRs, issues, whatever. It's a part of the process; learn from it and move on.
- Not every maintainer is nice. Not every maintainer wants X feature. Not every maintainer will give you the time of day. You will never change this, so don't take it personally.
- Asking questions is okay. The trackers aren't just for bug reports/feature requests/PRs. Some maintainers will point you toward StackOverflow but that's usually code for "I don't have time to help you", not "you did something wrong".
- If you open an issue (or ask a question) and it receives a response and then it's closed, don't be upset - that's just how that works. An open issue means something actionable can still happen. If your question has been answered or issue has been resolved, the issue being closed helps maintainers keep things un-cluttered. It's not a middle finger to the face.
- Further, on especially noisy or popular repositories, locking the issue might happen when it's closed. Again, while it might feel like it, it's not a middle finger. It just prevents certain types of wrongdoing from the less... courteous or common-sense-having users.
- Never assume anything about who you're talking to, ever. Even recently, I made this mistake when correcting someone about calling what I thought was "powerpc" just "power". I told them "hey, it's called powerpc by the way" and they (kindly) let me know it's "power" and why, and also that they're on the Power team. Needless to say, they had the authority in that situation. Some people aren't as nice, but the best way to avoid heated discussion is....
- ... don't assume malice. Often I've come across what I perceived to be a rude or pushy comment. Sometimes, it feels as though the person is demanding something. As a native English speaker, I naturally tried to read between the lines as English speakers love to tuck away hidden meanings and emotions into finely crafted sentences. However, in many cases, it turns out that the other person didn't speak English well enough at all and that the easiest and most accurate way for them to convey something was bluntly and directly in English (since, of course, that's the easiest way). Cultures differ, priorities differ, patience tolerances differ. We're all people after all - so don't assume someone is being mean or is trying to start a fight. Insinuating such might actually make things worse.
- Please, PLEASE, search issues first before you open a new one. Explaining why one of my packages will not be re-written as an ESM module is almost muscle memory at this point.
- If you put in the effort, so will I (as a maintainer). Oftentimes, when you're opening an issue on a repository, the owner hasn't looked at the code in a while. If you give them a lot of hints as to how to solve a problem or answer your question, you're going to make them super, duper happy. Provide stack traces, reproduction cases, links to the source code - even open a PR if you can. I can respond to issues and approve PRs from anywhere, but can't always investigate an issue on a computer as readily. This is especially true when filing bugs - if you don't help me solve it, it simply won't be solved.
- [warning: controversial] Emojis dillute your content. It's not often I see it, but sometimes I see someone use emojis every few words to "accent" the word before it. It's annoying, counterproductive, and makes you look like an idiot. It also makes me want to help you way less.
- Github's code search is awful. If you're really looking for something, clone (--depth=1) the repository into /tmp or something and [rip]grep it yourself. Believe me, it will save you time looking for things that clearly exist but don't show up in the search results (or is buried behind an ocean of test files).
- Thanking a maintainer goes a very long way in making connections, especially when you're interacting somewhat heavily with a repository. It almost never happens and having talked with several very famous OSSers about this in the past it really makes our week when it happens. If you ever feel as though you're being noisy or anxious about interacting with a repository, remember that ending your comment with a quick "btw thanks for a cool repo, it's really helpful" always sets things off on a Good Note.
- If you open an issue or a PR, don't close it if it doesn't receive attention. It's really annoying, causes ambiguity in licensing, and doesn't solve anything. It also makes you look overdramatic. OSS is by and large supported by peoples' free time. Life gets in the way a LOT, especially right now, so it's not unusual for an issue (or even a PR) to go untouched for a few weeks, months, or (in some cases) a year or so. If it's urgent, fork :)
I'll leave it at that. I hear about a lot of people too anxious to contribute or interact on Github, but it really isn't so bad!4 -
I don't understand how my managers suddenly forgot that my "down weeks" we're due to technical debt I inherited. The whole on boarding hasn't been in my favor. I've stayed at work everyday til long after work hours, digging through code, trying to get JIRA tickets done, encountering issues specific to our code base that no one would ever discover on their own without docs/help from the original dev. The whole time, I was told that they know what's going on and apologize. I constantly expressed that plenty of what we were doing was building on antipatterns. They acknowledged. When a ticket wasn't done, they always knew the very specific reason and I wasn't faulted. 6 months in, I receive a great annual review. 7 months in? I receive an email titled "Performance Discussion," detailing 4 of those incidents where a ticket was pushed back -- with inaccurate depictions of what actually went down. They actually wrote that I didn't communicate. One part of the report expressed that there were "bugs found in production due to inadequate test coverage." WTF!! Everything made it past code review and QA. What are you talking about?? In fact, the person who wrote that merged my code in each time!!!! Insane!! Anyway, Q2 is partly about cleaning up technical debt, which is a responsibility I have been vested (fantastic). I've deleted about 800 lines of code in the last 2 weeks and added plenty of doc strings. Two of the most important modules our application works from are about 1000 lines of JavaScript each without any comments/docs. I'm changing that, but I don't know if my managers truly know the significance. Someone was recently promoted to my position but manually wrote out a sorting algorithm (specified numeric indexes and all); didn't do shit to earn it but breathe. And while they get more and more praise and responsibility, I'm over here stuck trying to prove myself and live up to why I assume they hired me. It's ridiculous. I love the company, but I'm not getting any sleep and I'm stressed out. It's only been about 7 months and I've been doing everything I can. Why is this happening? What am I doing wrong? I've been developing a recurring (physical) headache and ticks. My heart/chest area sometimes feels like it's lifting weights. I sound like an idiot, pushing so hard for a company that isn't mine, but I take so much pride in being in this position, and I'm so set on proving myself this early in my career (I'm 25).8
-
We are 2 people working as remote android devs for this startup in another country. 6 weeks ago a new person joined onsite to work directly in startup HQ. I'l refer to him as an newguy.
Last week we started new sprint (of 2 weeks) to work on a new feature.
Newguy was responsible for gathering all the specs and planning, so this is how our sprint is going so far:
Day 1:
We have 10+ tickets in jira (tickets have only titles) no one knows what to do and we don't even have specification. I started pushing everybody onsite to get their shit together. We NEED UX/UI specs, we NEED backend to be ready, or at least start working paralelly so that once wer'e done with frontend backend would be ready. I mean cmon guys this feature is already 70% done on iOS, why cant you send us the specification?
Day 2:
We had a meeting on Zoom and talked about missing specification and project manager promised to send us the specs. Meanwhile the idea of feature became clearer so I agreed with the newguy to start researching about best way to implement our solution.
Day 3:
We received the specifications. I provided my research for the feature to the newguy. Turns out the he knew about specification 4-5 days before.
Instead of sharing information with us, he decided to create his own library to do what we want to do and blatantly rejected my research input.
Now he showed his implementaton (which is shit by the way) and presents it as the only way to proceed forward. He offers for us to work paralelly with him on this (basically he wants to write library alone, and we are supposed to somehow implement and test it, but how the fuck we can implement if backend is not ready and library is just a bunch of empty interfaces at this point?)
I talked with one of the teamleads in the startup and told him that this is not the way things were being done here before and new guy is becoming a dictator.
Teamlead talked with new guy and found no issue. Basically newguy defended his sole decision by saying that he did research on his own, there are no libraries that do what we want and he knows better.
Teamlead tells me to STFU because new guy seems competent and he will be leading this feature. Basically from what I gathered teamlead doesn't give a single fuck and wants to delegate all project management to this new guy.
Day 5:
End of the week. New guy claims that his lib is done so we can start implementing properly. I tried implementing his lib but its fucked up and backend is still not ready.
Day 6:
Backend is still not ready, no one is doing anything just waiting for it to be ready.
Day 7 (Today):
Today(Backend is still not ready, no one is doing anything just waiting for it to be ready.
So what can I say? His plan was to probably prove his self worth and try to lead this feature by giving us information at last minute. At the point were we should start implementing instead of researching.
What happened? Motherfucker doesn't know shit about backend, has been notified about backend issues multiple times but his head was so deep up his ass with that new library of his that he delayed the rest of the team.
Result? 7 working days wasted. Out of 3 developers only 1 was actually working (and his fucked up code will have to be rewritten anyways). Only 50% of feature done. Motherfucker tells me that this is how we will work in the future, "paralelly". The fuck is this mate? If you would have worked on this feature alone you would have done it already now, but instead you wait until we remote devs will login and fetch you the test input and talk with backend guys for you? The fuck is wrong with you.
You fucking piece of shit, learn to plan and organize better if you want to lead the team. Now all that you are doing is wasting time, money and getting on everyboys nerves. Im tired of fucking spoon feeding you every day you needy scheming office politics playing piece of shit. Go back to your shithole country and let us work.
When I was responsible for sprint planning I figured out what to do before start of the sprint and remote devs were able to do week's work in 1-2 days and have rest of the week off. This is how it's supposed to be when you work with a remote team. Delegate them separate features, give them proper specs ahead and everyone's happy. Don't start working on frontend if you dont even fucking know when backend will be ready. It's fucking common sense.
Now I need to spoon feed this motherfucker who can't even get information while sitting on his ass onsite in HQ. Fucking hell.8 -
300 global variables.. THREE HUNDRED FUCKING GLOBAL VARIABLES?
Are you for real?
Now let me check the line numbers again..
hmm.. line 97 to .. yep line 410, just a few new lines to seperate some of them or.. group? Idk, I've given up on trying to understand those.
Now you may ask "But ThatPerlDeb, where did you see this and what was the intention?"
Low and behold, take a chair and I may explain this to you.
First of all: Fuck the dev that wrote this!
Second: Fuck all the devs that kept up with this practice or whatever you want to fucking call this!
Now, the application is our POS system that our customers can use for a monthly fee (That this piece of garbage even requires payment is disgusting) but anyway..
The global variables sometimes are declared for labels, sometimes for some frames, sometimes just for random values to be there.
We're using Perl for the POS system and Perl ain't the best at OOP, so in the dev's defense I can understand why you'd use a few global variables, but not fucking 300!! FUCK OFF WITH THIS BULLSHIT!!
So now I'm going through this torture slowly but surely deleting globals and putting them into some sort of scope and always MANUALLY test if something broke. Again, this company sucks ass and there's nothing that could even be considered a "unit test" or something like that, so fuck that, too.
After two hours I've brought down the count of global variables to about 260, so there's progress being made..
But then, there comes more!
"But how???" you may ask, and you're right, I've asked that myself.
Now to resolve the global stuff in each file some of the initial globals are used, we got about 20-30 files which do different stuff, all fair and square, at least there was an attempt at seperating functions but god this mess is so fucking fucked up. So in order to "safely" delete a global variable I have to check if any of the variables are used in another file, and if so, in which scope and how they are used.
Spaghetti would be a compliment for this fucking disgusting piece of utter bullshit.
Let alone the code quality of this "code"
Indendation? Dafuq is dat?
Scope? Nah, we got everything global anyway
Function size? Well, some are 5 lines, some are 900 lines, who cares anyways, right?
I'm so fucking glad once I leave this shithole, for real.6 -
This isn't a funny rant or story. It's one of becoming increasingly unsure of the career choices I've made the path they've led me down. And it's written with terrible punctuation and grammar, because it's a cathartic post. I swear I'm a better writer than this.
The highlights:
- I left a low-paying incredibly stable job with room to grow (think specialized office worker at a uni) to become a QA tester at a AAA game studio, after growing bored with the job and letting my productivity and sometimes even attendance slip
- I left AAA studio after having been promoted through the ranks to leading an embedded test tools development team where we automated testing the game (we got to create bots, basically!) and the database, and building some of the most requested tools internally to the company; but we were paid as if we were QA testers, not engineers, and were told that wouldn't change; rather than move over or up, I moved out to a better paying, less fabulous web and tools development job for a no-name company
- No-name company offered one or two days remote, was salaried, and close to home. CTO was a fan of long lunches and Quake 3 Arena 1-2 hours at the end of every day. CTO position was removed, I got a lot of his responsibilities, none of his pay, and started freelancing to learn new skills rather than deal with the CFO being my boss.
- Went to work as a freelancer for an email marketing SaaS provider my previous job had used. Made loads of money, dealt with an old, crappy code base, an old, cranky senior dev, and an owner who ran around like the world was on fire 24/7; but I worked without pants, bought a car, a house, had a kid, etc;
Now during ALL of this, I was teaching game dev as an adjunct at my former uni. This past fall, I went full time as a professor in game dev. I took a huge pay cut, but got a steady schedule (semester to semester anyway) and great benefits. I for once chose what I thought was the job I wanted over more money and something that was just "different". And honestly, I've regretted it so much. My peer / diagonally above me coworker feels untrustworthy half the time and teaches the majority of the programming courses when he's a designer and I've been the game programming professor for 8 years (I also teach non-game programming courses, but those just got folded into the games program...); I hate full-time uni politics; I'm struggling with money for my family; and I am in the car all the time it feels like. I could probably go back to my last job, which had some benefits, but nowhere near as good; my wife doesn't want me back to working in the house all the time because that was a struggle unto itself once we had a kid (for all of us, in different ways); and I have now less than 24 hours to tell my university I want to not pursue longer term contracts for full-time and go back to adjunct next Fall (or walk away entirely), or risk burning a bridge (we are reviewing applicants for next year tomorrow, including my own) by bailing out mid-application process.
I'm not sure I'm asking for advice. I'm really just ranting, I guess. Some people I know would kill to have the opportunities I have. I just feel like each job choice led me further away from a job I liked, towards more money, which was a tradeoff that worked out mostly, but now I feel like I don't have either, and I'm trapped due to healthcare and 401k and such. Sure, I like working more with my students and have been able to really support them in their endeavors this semester, but... that's their lives. Not mine. The wife thinks I should stay at the university and we'll figure out money eventually (we are literally sinking into debt, it's not going well at all), while most people think I should leave, make money, and figure out the happiness factor once my finances are back on track and the kid is old enough to be in school.
And I have less than 24 hours it feels like to make a momentous decision.
Yay. Thanks for reading :)1 -
A couple of years ago I was working on a fairly large system with a complex (by necessity) access control architecture.
As is usually the case with those projects, it's awkward for developers to repro bugs that have to do with a user's accesses in production when we are not allowed to replicate production data in test, let alone locally.
We had a bug where I ended up making myself a new row in the production database for a thing I could have access to without affecting real data to repro it safely. I identified the bug so I could repro it in dev/test and removed the row and ensured everything worked normally, whew scary.
Have you ever walked into the office one day, and everyone is hunched over in a semicircle around one person's workstation, before one turns around to look at you and says - after a pause - "... ltlian?.."
Turns out I had basically "poisoned the well" with my dummy entity in a way where production now threw 500 for everyone BUT me who had transitive access to this post-non-entity. Due to the scope of the system, it had taken about a day for this to gradually propagate in terms of caching and eventual consistencies; new entities coming in was expected, but not that they disappear.
Luckily I had a decent track record for this to be a one-off. I sometimes think about how I would explain testing in prod and making it faceplant before going home for the day, other than "I assumed it would be fine". I would fire me.3 -
Open source is poison, hoax and source of much troubles.
Even as I love OSS, and I use it a lot, when things go south, they go south terribly.
There was "security" updates in one OSS program I have been using, that accidentally prevented use cases which specifically affected me. I raised bug report, made issue and gave small repro for it.
One of the core developers acknowledges that yes, this is problem, and could be handled with few added options, which users of similar use case could use to keep things working. He then tags issue "needs help" and disappears.
After I have waited some time, I ask help how I could fix it myself, like how to setup proper dev environment for that tool. Asked it in their forums few days later, as issue didn't get any response. Then asked help in their slack, as forums didn't get any help.
Figured out how to get dev environment up, fix done (~4 lines changed, adding simple check for option enabled or not) and figured out how to test that this works.
I create pull request to project, checking their CONTRIBUTING and following instructions there. Then I wait. I wait two weeks, and then one of the core develors goes to add label "needs response from maintainer". That is now almost two weeks ago...
So, bug that appeared in October, and issue that was created October 8th, is still not fixed, even as there is fix in PR for 28 days this far.
And what really ticks me off? People who make statements like: "it is OSS, have you thought of contributing and fixing things yourself?" when we run into problems with open source software.
Making fix yourself ain't biggest problem... but getting it actually applied seems to be biggest roadblock. This kind of experiences doesn't really encourage me to spend time fixing bugs in OSS, time is often better spend changing to different tool, or making changes in my own workflow or going around problem some kludge way.
I try to get business starting, and based on OSS tools. But my decision is staggering, as I had also made decision to contribute back to OSS... but first experiences ain't that encouraging.
Currently, OSS feels like cancer.16 -
Fucking fuck sonarcloud and everything about it. Part of the build pipeline for us to deploy code is to ensure that 90% of the code is covered by a unit test. Great in theory, horrible in practice. You think you've written enough tests that actually add value and test a valid piece of functionality but NO, sonarcloud throws a fucking fit because you're at 89.888 then your branch is going nowhere. Because everyone else gets to this stage and writes just enough tests to get the coverage to 90.01% then it becomes a stand off of who will break first; the code coverage threshold or your mental state.4
-
So I got in contact with a recruiter who said they have a possible job for me. The catch is it's in c# (I am a python java dev) and that there is a assessment test for the language to test for competency. I told the recruiter that's fine but I would need a week to highlight the main differences between the two languages and at least do a couple of educational programs for my learning sake. All was fine and that was the plan.
The next day the recruiter notifies me that the test is being called off on account of the company being swarmed. So the recruiter then proposes another similar test (in c#) the recruiter will use to measure my skills and that the recruiter will send the test via email that same day. Later that day I check my email and don't see the test. So I message the recruiter and never get a response. Next day comes and I decide to give the recruiter a call; no response. I then wait until the next day and message him on linkedin that I still needed the test. Linkedin was showing he read the message, but of course didn't respond.
I told my brother about this and he said to send a message saying: "Hi [recruiters name] because of the lack of further feedback I decided to go with another opportunity. Best regards, Lane"
After I send it I get a message the next day from the recruiter saying: "Hey, sorry I haven't gotten back to you. We had to install a new phone system yesterday so it was a busy day."
"I'm going to send it to you today so that you can look at it over the weekend. "
I can't help but think the recruiter is full of shit, but I may be jumping to conclusion. I know they can have a busy schedule, but if you have time to look at a message on linkedin how long would it take to type a short message explaining what's going on? I would like to know any opinions or insights on this.10 -
Hi my dear fellow coders, I have a small request for you.
If you are among those coders who are working on microchipping people / quantum dot something, tracking people, classifying people, AI, ML or any other such software which is going to harm or cage us or take away our freedom. Please stop doing so.
Why I came out with this rant?
I myself am working on a covid-19 screening app which would rate people based on symptoms and if they seem high risk they would not be allowed to enter unless they do a covid-19 test. I am tracking their movement and the requirement is to restrict people’s movement.
My conscience says that this is incorrect and and I should not be a part of such things which take away the freedom and liberty of people.
I am stopping it now.11 -
HOLY SHIT. short story, just dodged a bullet. Using the Samuel L Ipsum generator and not thinking. I then use this copy to test the notification system with the following text. luckily the system email only went to me!
"Look, just because I don't be givin' no man a foot massage don't make it right for Marsellus to throw Antwone into a glass motherfuckin' house, fuckin' up the way the nigger talks. Motherfucker do that shit to me, he better paralyze my ass, 'cause I'll kill the motherfucker, know what I'm sayin'?
Well, the way they make shows is, they make one show. That show's called a pilot. Then they show that show to the people who make shows, and on the strength of that one show they decide if they're going to make more shows. Some pilots get picked and become television programs. Some don't, become nothing. She starred in one of the ones that became nothing."1 -
I decided to upgrade my intellij ultimate from 2019.3 to 2020.2 and I saw there is update button.
I clicked on it.
As I expected it didn’t work and it was 30 minutes waiting looking at progress bar going back and forth couple of times before I decided just to download latest version and drag and drop it to applications folder ( took me 5 minutes) - I use mac so it replaces all crap ( I think ).
I cleared the old cache that growed to 2 gigabytes leaving some configuration files.
Next as always crash on startup cause of incompatible plugins with long java stacktrace - at least I could click the close button or popup closed itself I can’t remember ( one version I remember this button couldn’t be clicked cause it was off the screen and you need to do some cheating to launch ide )
The font has changed and I see that it at least work a little faster - that is nice. Indexing is finally fixed after all those years - probably thanks to visual studio code intellisense pushing those lazy bastards to deal with this.
But the preloader on first logo disappears so I think they decided to remove it cause it’s so fast - no it loads the same time or maybe little longer when I launch it on my old macbook.
After that as always I looked at plugins to see if there’s something interesting, so to find ability to scroll over whole plugins I needed to click couple of times. I think they assume I remember all the nice plugins in their marketplace and I only type search.
Maybe I should be type of user who reads best 2020 plugins for your best ide crap articles filled with advertising or even waste more time to watch all of this great videos about ide ( are there any kind of this stuff ? )
After a few operations I unfortunately clicked apply instead of restart ide and it hanged up on uninstalling some plugin I’m no longer interested in for 5 minutes so I decided to use always working ‘kill -9’ from command line.
Launched again and this time success.
Fortunately indexing finished for this workspace and I can work.
I’m intellij ultimate subscriber for 7+ years and I see those craps are not changing from like forever.
What’s the point of automate something that you can’t regression test ?
I started thinking that now when most people are facebook wall scrolling zombies companies assume that when new software comes out everyone is installing it right away and if not they’re probably not our customers cause they’re dead.
What a surprise they have when I pay for another year I can only imagine ( to be fair probably they even don’t know who I am ).
Yeah for sure I am subscribed to newsletters and I have jetbrains as a start page cause I shit myself with money and have nothing better to do then be grupie ( is there corporate grupies already a big community? )
Well I am a guy who likes to spend some time when installing anything and especially software that is responsible for my main source of income and productivity speed up.
Anyway I decided to upgrade cause editing es7 and typescript got to be pain in the ass and I see it’s working fine now. I don’t know if I like the font but at least the editor it’s working the same or maybe faster then the original that is huge improvement as developers lose most of their time between keyboard and screen communication protocol.
I don’t write it to discourage intellij as it’s great independent ide that I love and support for such a long time but they should focus on code editor and developers efficiency not on things that doesn’t make sense.
Congratulations if you reached this point of this meaningless post.
Now I started thinking that maybe it’s working faster cause I removed 2 gigs of crap from it.
Well we’ll see.1 -
A tale of silos, pivots, and mismanagement.
Background: Our consultancy has been working with this client for over a year now. It started with some of our back-end devs working on the API.
We are in Canada. The client is located in the US. There are two other teams in Canada. The client has an overseas company contracted to do the front-end of the app. And at the time we started, there was a 'UX consultancy' also in the US.
I joined the project several months in to replace the then-defunct UX company. I was the only UX consultant on the project at that time. I was also to build out a functional front-end 'prototype' (Vue/Scss) ahead of the other teams so that we could begin tying the fractured arms of the product together.
At this point there was a partial spec for the back-end, a somewhat architected API, a loose idea of a basic front-end, and a smattering of ideas, concepts, sketches, and horrific wireframes scattered about various places online.
At this point we had:
One back-end
One front-end
One functional prototype
One back-end Jira board
One front-end Jira board
No task-management for UX
You might get where this is going...
None of the teams had shared meetings. None of the team leads spoke to each other. Each team had their own terms, their own trajectory, and their own goals.
Just as our team started pushing for more alignment, and we began having shared meetings, the client decided to pivot the product in another direction.
Now we had:
One back-end
One original front-end
One first-pivot front-end
Two functional prototypes
One front-end Jira board
One back-end Jira board
No worries. We're professionals. We do this all the time. We rolled with it and we shifted focus to a new direction, with the same goals in mind internally to keep things aligned and moving along.
Slowly, the client hired managers to start leading everything in the same direction. Things started to look up. The back-end team and the product and UX teams started aligning goals and working toward the same objectives.
Then the client shifted directions again. This time bigger. More 'verticals'. I was to leave the previous 'prototypes' behind, and feature-freeze them to work on the new direction.
One back-end
One conceptual 'new' back-end
One original front-end
One first-pivot front-end
One 'all verticals' front-end
One functional prototype
One back-end Jira board
One front-end Jira board
One product Jira board
One UX Jira board
Meanwhile, the back-end team, the front-end team overseas, all kept moving in the previously agreed-upon direction.
At this stage, probably 6 months in, the 'prototypes' were much less proper 'prototypes' but actually just full apps (with a stubbed back-end since I was never given permission or support to access the actual back-end).
The state of things today:
Back to one back-end
One original front-end
One first-pivot front-end
One 'all verticals' front-end
One 'working' front-end
One 'QA' front-end
One 'demo' front-end
One functional prototype
One back-end Jira board
Two front-end Jira boards
One current product Jira board
One future product Jira board
One current UX Jira board
One future UX Jira board
One QA Jira board
I report to approximately 4 people remotely (depending on the task or the week).
There are three representatives from 'product' who dictate features and priorities (they often do not align).
I still maintain the 'prototype' to this day. The front-end team does not have access to the code of this 'prototype' (the clients' request). The client's QA team does not test against the 'prototype'.
The demos of the front-end version of the product include peanut-gallery design-by-committee 'bug call-outs', feature requests, and scope creep by attendees in the dozens from all manner of teams and directors.4 -
Context: New to typescript. Writing a thing, doing it for work, good opportunity to stretch my dev legs. Using a propriety lib, alternatives not an option.
Rant begin:
SOOOO, who the fuck thought THIS was a good idea:
1. Lib has minified react in dev (because closed source) meaning no downstream errors AND the entire premise of the lib is that a widget is a react component, so I'm writing typescript react the entire time without downstream errors
2. SHIT docs. By that, I mean there's an API reference page that's so sparse there's literally a set of CRUCIAL interfaces that only say the word 'Interface' on them. That's it. that's what i get. It's an interface. NO FUCKING SHIT SHERLOCK, what the fuck is it though? What's its purpose? Is it an interface for a dog? A dog that has a 'shit' property? or a cat? or a cat eating dog shit? Nobody fucking knows - the docs sure as fuck don't care.
3. No syntax highlighting - editors, IDEs (i've tried a few) can't even find the lib inside this environment, so Code and everything else thinks I'm importing shit that doesn't even exist - so no error prediction, code completion based on syntax of the library, none of that.
4. There are some EXTREMELY basic samples - these samples exclusively use React classes - no function components, no hooks, nada - just classes and even perfect replicas of the sample code display erratic behavior like errors about missing props, so that's mostly FUCKING USELESS
5. And this... this is where the straw breaks the fucking camel's back... there's no... there's no hot reloading... Do you know what that (in conjunction with the previous 4 fuckups) means?
When I write anything or I fuck up (which of course I'm doing every time I write half a line because how the fuck?) I have to restart the client and server EVERY FUCKING TIME and manually test to see if the error (THAT ONLY GETS REPORTED IN THE LOCAL UI) is gone or different.
Then, once I see the error, it isn't an error: it's the minified React error-decoder link and guess what? It isn't really clickable a link OR copyable, meaning that every FUCKING time I get a new error, I have to MANUALLY TYPE A FUCKING 50 CHAR URL TO FIND OUT A GENERIC REACT ERROR MESSAGE WITHOUT A LINE NUMBER OR ANY FUCKING CONTEXT. I HAVE TO DO THIS CONSTANTLY TO SEE IF ANYTHING I'M DOING EVEN WORKS.
6. There's no github to complain to the maintainers or search for issues because it's NOT FUCKING OPEN SOURCE so there is literally nothing to be fucking done about it.
This is due in a week and a half, found out about it last Friday. How's your day going?
PS: good to be back after a long respite from dev ranting.1 -
I messed up . My testicle problem isn't going anywhere soon, and one ultrasound report already says could be a tumor. 2nd test will be done in 10 days, but if its a cancer, then my life just got officially reduced by 20 years and practically reduced to this year, coz fuck this life if I can't be normal.
I already
- haven't ever got love or chance to kiss a loved one,
-have a super beta personality and never got enough respect from anyone
- am not having any friends at current stage
- shifted from my native location and living in a new isolated place
- got ugly ass looks, height and weight to never feel happy
and now with a probable tumor coming which would lead to hair lossing chemo sesssions, ball removal surgery and followed by lifelong of infertility, I would prefer death over a meaningless loveless life
I am so devastated as to why i got into this state. nothing has been going good for lalst 2 years.
- i left my previous company which had a great culture, less work but asked for relocation . i joined this current company with horrible work culture, 3 days working and overload of stress
- I had fights with my friends and don't have any friends anymore
- i broke my arm this year.
- i caught terrible cough last year which took time but got better
- there have been constant bickering and fights among parents for 100s of reason . no more than 2 days goes by when any 2/3 people of our nucleolus family is not fighting
- and countless more shitty stuff
I was on a path to become a mediocre okayish guy. i was having a decent salary , learning new stuff everyday, fighting new task battles, becoming a beeter dev amd aiming to go for senior dev/TL role, buying car l, new home and planning for marriage, ...
but nope. God has some other plans.. some ugly and cruel plans, for the guys who don't even had the chance to live a villionous life.
I wonder how that guy from my scchool who used to date so many girls is doing now. God must be very angry with his Casanova behaviour. Oh wait, that asshole is earning 160k and married her gf from last 8 years!
i wonder how that gu from my homies is doing who used to hookup with random girls every weekend. Oh wait, he got promoted to TL and bought a new home!
I wonder how my friend who smokes 4 cigs a day and drinks beer every night is doing. Oh, he's going on international trips every month , earning 600k and have a clean medical record!
yepp such a great decision maker that guy on the top is . Let me connect with him soon and ask these questions , will let you know what he says. :/6 -
I want to kick this stupid kids ass!
So I'm on a Slack channel for live help for people who are learning JavaScript and I stick around and help people just while I'm by my computer. This kid is on there is constantly asking questions, which I don't mind but I mean I think part of programming is looking up the freakin info to figure it out occasionally. Anyways-
So in each lesson you watch a video ~10-15 mins long and then do an assignment. Well this kid constantly dm's me and asks me for help so I help him. Then as soon as he is done with that lesson quiz, 30 secs later I see him post a question from the NEXT lesson on the Slack channel. I'm like look you dumbass kid, you are going to have to learn this stuff. I mean for shit's sake! He is just on there asking questions for answers to the damn questions and not even watching the freakin lesson videos.
What a waste of my freakin time and effort to help this idiot. Plus there's a test at the end which no one can offer help on. So this dumbass is going to finish the lessons and then not know a damn thing in order to pass the test. I'm pissed that he doesn't even try and I'm over here helping him like an idiot. NERD RAGE!5 -
After going through the regular process of talking to HR/Recruitment and passing the casual interview with a team-mate for cultural compatibility, I got the task of grilling a candidate on some technical matters. This being a PHP job, we got to talking about PSRs (PHP Standards Recommendations).
As he seemed to take pride in his knowledge of PSRs, I decided to focus more closely on that.
So we got to a recomendation regarding dependency injection containers. Nothing special, and he seemed to know his stuff. At that point, he made a statement that parts of that recommendation were a bit stupid.
Now, I hate to put people in their place, but his statement did not match what that specific PSR stated. So I gently tried to correct him. The candidate, being on fire thus far, pointed out that I should trust him on this, as he clearly knew his stuff.
Again, I didn't like having to do this, but I also did not like him having a misconception about a topic he was, otherwise, really on top of...
So I asked him to trust *me*, as I was one of the writers who contributed to the standard.
The true test here, of course, wasn't if he knew all the minutia of every standard but how he would react to being corrected.
We, as developers, are wrong all the time. Its how we learn and evolve. So being able to accept that is vital.
Sadly, he did not respond too well and sunk into a bit of a sullen silence. At first I though maybe I'd scared him or that he was afraid of having made a gaff but it soon turned out he genuinly did not like being wrong.
Sadly, I had to advise against hiring him.2 -
story of a release
v2.1.0 major changes went live : new features, bug fixes, optimisations. also included releases for 2 associated libraries
release process tasks:
- do code
- update test cases
- test sample app
- test on another sample app
- get code reviewed and approved by senior ( who takes his own sweet time to review and never approves on first try)
- get code reviewed again
- merge to develop after 20 mins( coz CICD pipeline won't finish and allow merging before that)
- merge to master after 20 mins( coz CICD again)
- realise that you forgot to update dates in markdown files as you thought the release will be on 10th sept and release is happennig on 12th sept coz of sweet senior's code fucking/reviewing time
- again raise a branch to develop
- again get it a review approval by sr (who hopefully gives a merge approval in less time now)
- again get it merged to develop after waiting for 20 mins
- again get it merged to master after waiting for 20 mins
- create a clean build aar file
- publish to sonatype staging
- publish to sonatype release
- wait for 30 mins to show while having your brain fucked with tension
- create a release doc with all the changes
- update the documentation on a wyswig based crappy docs website
- send a message to slack channels
- done
===========
why am i telling you this? coz i just found a bug in a code that i shipped in that release which still got in after all the above shitty processes. its a change of a 3 lines of code, but i will need to do all the steps again. even though i am going through the same shitty steps for another library version upgrade that depends on this library 😭😭
AND I AM THE ONE WHO CAUGHT IT. it went unnoticed because both of those shitty samples did not tested this case. now i can keep mum about it and release another buggy build that depends on it and let the chaos do its work, or i can get the blame and ship a rectification asap. i won't get any reward or good impression for the 2nd, and a time bomb like situation will get created if i go with 1st :/
FML :/6 -
From such a healthy environment this job turned into an extremely toxic one. Now i finally understand how a toxic environment looks like. It's extremely disgusting. Putting 5 tasks on my name to work in parallel and as i work they put 2 more. All High priority tasks. It is physically impossible. The scrum master whore told me to just check the code how to do something to users and understand this for monday so i can help QA guy to test it. I went over the code with a colleague and understood it. Today she screamed at me angry i didnt do the task. What the fuck are you talking about? I checked the code and im ready to do help the QA guy test it whenever necessary. Then she talked shit changing the task that i was supposed to not only understand the code but also do the task on Monday and now its the end of tuesday and its not done. Fuck you. That was not what she said initially. Its very Fucking confusing. Then she said to QA guy i give up i cant handle it with this guy sorry but ill have to report this to product owner. So be it. I dont give a fuck. I am ALONE working on a GIANT, unmaintainable, spaghetti, caveman technology codebase with broken outdated or nonexistent docs, nobody to help me, the colleague whos supposed to guide me is a good guy but overloaded with tasks himself so he doesnt have time, i him and many of us requested another person to join to work with me on same role but they dont have the budget which is a Fucking lie, a client worth trillions of dollars does not have a budget, yeah get fucked retards. This suffering and downfall of your project is mostly their fault. Theyre too arrogant and proud to understand or admit that it's not possible physically for 1 person to manage and keep knowledge and code on 7 tasks per day. All that for Fucking $8 an hour?????????? I hope cancer eats all of u. Every single one to the very fucking bones till ur bones break. This is fucking disgusting and sickening. Right when i was supposed to get paid $17 an hour (and thats gross income not even net.....) I am now fucking forced to quit this shithole toxic job. Because i realized no amount of fucking money, not even before-tax-$17-an-hour money is worth the weight of stress that i get punched with every fucking day. No fucking job is worth more than health. This is saddening and depressing extremely. All of my fucking plans are ruined. The car to buy on leasing--ruined by a whore. The 2 day vacation this week--ruined by a whore. Going out with my hot blonde gf during this miserable 2 day vacation--ruined by a whore. Meeting with 2 american clients I've been in touch with for several years to work on a side project--ruined by a whore, meeting canceled and delayed due to my overtime work. I am literally fucking treated like the Moscow Crocus Hall terrorist. They have no fucking sympathy or understanding for how fucking HARD this fucking DevOps job is where i work on a 30 year old legacy codebase with no fucking help. It is simply not possible. Now its a race between who's gonna fuck who: either i quit first or they fire me first. At this point its not a matter of if but when. Surely soon enough. Cant wait to get the FUCK away from these pieces of shitheads. I either have option to cry and go mentally insane by giving it my all until i fix the task on time but the stress i would get for that would need them to pay me at least 9 mill $ a year. Fuck with someone else you fucking retards. You're using slave labor to work for basically free just so u can profit a lot. Literally on the meeting one of their bosses said they get 50% of margin which is a lot in biz world for tech field. This is absolutely sickening and saddening that im treated like a fucking terrorist. Fucking Disgusting. Cant wait to not Ever fucking work in this toxic fucking place. Quitting by max 1st of april.3
-
I’d been working event based and freelance jobs in the security and entertainment fields for years, with odd stints as a bartender sprinkled in. My pay was mostly decent, but I had no job security, and I was more on the road than at home. A few years before this job search experience I had already realised I can’t continue on this path for ever, especially if I ever want a serious relationship (e.g. 16 weeks straight touring Europe with on avg. 16h work days pretty much every day isn’t ideal in that regard, and also really though on both body and mind). So I decided to study. As I applied in autumn, not every line of study accepted students. The closest to my interest I found was BBA in Business IT.
Fast forward 1,5 years. After moving away from my previous base due to then-gfs studies, I had also been able to accept less work. Well, there were really two reasons: I didn’t want to go on weeks long big tours anymore, and I’d had to price up on my freelance job due to reasons. I still managed to keep our household going, but not knowing when the next paycheck would be available was becoming a little too stressful. I wanted job security. So a few weeks after my wedding I scoured the internetz for positions I could apply to, and applied to a dozen or so places. They were a variety of positions I had a vague understanding of from what I’d learned at UAS: from sales to data analytics to dev… I was aware pretty much all of the applications were a long shot by best, so I expected to be ghosted…
Two of the organizations I applied to wanted to go forward with me. Both dev jobs. I can’t even remember the specifics of the other one anymore, but I do remember the interview: I got in to their office (which was ridiculously open), and got marched into a tiny conference room. The interviewer was passive-aggressive and really bombarded me with questions, not really leaving a socially awkward introvert with any time to answer. I started to get really anxious and twitchy, sweating like a pig. Just wanted out. But nooo, they wanted me to do a coding test live. So they sat me on a computer with Eclipse open, gave me an assignment and told me not to use the internet. What’s even worse is that I could literally feel the interviewer breathing down my neck when I tried to do the test. Well, didn’t happen cause I was under so much pressure that I couldn’t think at all… yeah, that was horrible.
Anyhow, the other position I really applied to because it was in my hometown and I recognised the company name from legendary commercials from the 90s - everyone in this country who watched TV in mid-to-late 90s remembers those. Anyway, to my surprise, my present day manager contacted me and wanted me to do a coding test. At the time he asked I was having a bout of fevers after fevers, not really able to get healthy. I told him that I’d do it as soon as I’m healthy. A month went by, maybe more. He asked again. Again I replied that as soon as I get healthy, but promised to do it next week the latest. I didn’t deliver on that, but the next week after that, even if I was the most feverish I had been, I did the tests. I could only finish half of them, cause I couldn’t look at a screen for long at a time and had to visit the loo every 10min or so, but apparently that was enough. Next week I was already going to the interview… oh I also googled what is PHP on the way there, since it was mentioned as a requirement and I had no idea what it was. Imagine that…
The interview itself couldn’t have been more different from the other one. We were sitting in a nice conference room with my manager and the product’s lead dev, drinking coffee, our feet on the table and talking smack. Oh, and we did play a game of NHL<insertNumber> on PS4 during the interview… it was relaxed. Of course the more serious chat was there, too, but I can only really remember how relaxed it was. When I left the interview, I had been promised the position and that I would be sent the contract to be signed as soon as the CEO had reviewed and approved it. Next day, I had signed it and some time later I started at my current job (I gave a date when I was available to start, since there was a tour still agreed upon between the interview and the start).
Oh, and the job’s pretty much like the interview. Relaxed. It’s a good place to be in, even though the pay could be better (I regularly get offers for junior positions with more pay, and mid level positions with double the pay). I do value a pleasant working environment and the absence of stress more than big munny, what can I say?1 -
Today something pretty bad happened (as always at school)
and I'm gonna rant about it to
1) get your expertly opinion on it
2) relieve from it
SOOOOO
today I entered class to paretake in the writing of the much anticipated class test (kappa).
The teacher gives everybody a sheet with the exercises - let alone me.
I tell him to give me a sheet too.
"Put a book between you and xy"
so I do. I ask him again to give me the exam paper. No response.
Again, and he looks at me with a disrespectful look. I look back. And get thrown out of the room - not getting a chance to paretake in the writing of the test yet getting the worst grade one could possibly get in the modest german education system (=> 6)
Now I'm going to pursue any possible legal action against him (I dont care about him. After the lesson I wanted to talk with him; yet he declined my offer for reconsiliation, then he called my parents, even though he had time to think about what he did {any sane person would agree that what he did was wrong <yet my classmates dont agree>}. Also, he is that type of teacher who gives unusually unnessecary homework - which I personally see as punition, since I already know 97% of the stuff thought in [english] classes)
See why I am despising school so much?
It drains my last bit of energy until I am an empty shell with the sole goal to finish education asap in order to be able to fucking work.
BTW: I tried using my best english in this rant to demonstrate my abilities in order for you to be able to see that I honestly dont those "basic" english lessons.7 -
Never got one as is, but went so close to it than I could smell the smell of death out if it.
Short story: it's due to my hate of Drupal 8, but I just don't know if I was badly introduced to it through a car wreck of a project or if I simply just hate it and it's insanly hard way to do simple stuff.
In November I went to the point where development was no longer a pleasure, and I was doing lots and lots of small mistakes that almost got my ass fired (made a rant about it). Nothing was enjoyable, I stop going to the gym, ate badly, saw no one excepted my roommate...
The day they switched me to write test scenarios with Behat, the sun started to shine again. Now that I'm back on Drupal knowing all this, I know that I'll have to leave the company once I have my diploma, because there's no point to stay in a place doing something you don't enjoy while you get tons of job proposals on LinkedIn
To all the people who are deep down in it: stay strong, save your ass as soon as possible and find something else, but keep some time to heal. -
About 95% of developer jobs in my country are unevenly split between the administrative and commercial capitals, with an overwhelming majority favouring the commercial capital. I live in the administrative one. Any dev jobs outside both states pay a fraction of what is tenable
Not having much luck with my search, I reluctantly applied for this php role advertised in one of the other states. I wasn't even expecting them to write back cuz the pay is piss poor. it's on site, about 400km away. For some context the salary is 120k but the tfare to and from there is in the neighbourhood of 70 grand
Anyway, the employer wrote back to me on WhatsApp, sending a full stack sample project for me to complete in 36 hours, which frankly, I found pitiful and absurd. Call me entitled, Arrogant, etc. But I didn't anticipate a cv and github like mine, from a company requiring relocation from the capital for a paltry retainer, would demand I complete a sample project. For 120k ffs. I was already making more than that years ago when our inflation hadn't ballooned 30x over
I haven't been able to bring myself to start the project. Not like I know much else to do with my life, I just slipped into a catatonic state shortly after reading it. EVERYBODY I started software with a decade ago, is either outside the country now or earning too much fx to bother with departure. I'm not envious of them, just asking for something decent to get by or not live in penury. Comfortable enough to afford basics without breaking the bank
Shortly after leaving my last workplace, I made a dark joke that: the best ones who leave, get better jobs. The average ones are either retained or land similarly mediocre positions. But the truly incompetent employees wind up in the village, farming
One detail I left out is that this sample project guy is located in the same state as my hometown. In a sense, I made a self fulfilling prophecy
He's going to request I turn in my solution tomorrow but I might just come clean about his sample project catching me off guard. I did an assessment this morning for a coy advertising a senior developer role. 4 segments, not one single one technical /code. Just boring shits about OCEAN, time management, communication. I checked my results when I was done and saw I'd done a previous test with these same guys 5 months ago. I shockingly aced the topics back then but didn't get hired anyway
This time around, almost none of the scores ramped above 501 -
Making some changes to a Blue Prism process I have never seen before
Q: Can we test these changes before going live?
A: No. We are going to pinpoint the problems on the road
Q: Nasty. However we can retry the process if anything goes wrong
A: No. It runs 5:00 to 17:00
Q: Wait, so I have one shot at making this shit work and it's tomorrow?
A: Yes
Yesterday at 2:00 I noticed 2 of the 3 machines are dead, now the process is self destructing every 5 minutes and my mentor, who usually spend weeks without answering phone calls, apparently learned again how do smartphones work 'cause this time he did fucking call.2 -
After three months of development, my first contribution to the client is going live on their servers in less than 12 hours. And let me say, I shall never again be doing that much programming in one go, because the last week and a half has been a nightmare... Where to begin...
So last Monday, my code passed to our testing servers, for QA to review and give its seal of approval. But the server was acting up and wouldn't let us do much, giving us tons of timeouts and other errors, so we reported it to the sysadmin and had to put off the testing.
Now that's all fine and dandy, but last Wednesday we had to prepare the release for 4 days of regression testing on our staging servers, which meant that by Wednesday night the code had to be greenlight by QA. Tuesday the sysadmin was unable to check the problem on our testing servers, so we had to wait to Wednesday.
Wednesday comes along, I'm patching a couple things I saw, and around lunch time we deploy to the testing servers. I launch our fancy new Postman tests which pass in local, and I get a bunch of errors. Partially my codes fault, partially the testing env manipulating server responses and systems failing.
Fifteen minutes before I leave work on the day we have to leave everything ready to pass to staging, I find another bug, which is not really something I can ignore. My typing skills go to work as I'm hammering line after line of code out, trying to get it finished so we can deploy and test when I get home. Done just in time to catch the bus home...
So I get home. Run the tests. Still a couple failures due to the bug I tried to resolve. We ask for an extension till the following morning, thus delaying our deployment to staging. Eight hours later, at 1AM, after working a full 8 hours before, I push my code and leave it ready for deployment the following morning. Finally, everything works and we can get our code up to staging. Tests had to be modified to accommodate the shitty testing environment, but I'm happy that we're finally done there.
Staging server shits itself for half a day, so we end up doing regression tests a full day late, without a change in date for our upload to production (yay...).
We get to staging, I run my tests, all green, all working, so happy. I keep on working on other stuff, and the day that we were slated to upload to production, my coworkers find that throughout the development (which included a huge migration), code was removed which should not have. Team panics. Everyone is reviewing my commits (over a hundred commits) trying to see what we're missing that is required (especially legal requirements). Upload to production is delayed one day because of this. Ended up being one class missing, and a couple lines of code, which is my bad (but seriously, not bad considering I'm a Junior who was handed this project as his first task at his first job).
I swear to God, from here on out, one feature per branch and merge request. Never again shall I let this happen. I don't even know why it was allowed to happen, it breaks our branch policies. But ohel... I will now personally oppose crap like this too...
Now if you'll excuse me... I'm going to be highly unproductive and rest, because I might start balding otherwise after these weeks... -
Hey guys, first time writing here.
Around 8 months ago I joined a local company, developing enterprise web apps. First time for me working in a "real" programming job: I've been making a living from little freelance projects, personal apps and private programming lessons for the past 10 years, while on the side I chased the indie game dev dream, with little success. Then, one day, realized I needed to confront myself with the reality of 'standard' business, where the majority of people work, or risk growing too old to find a stable job.
I was kinda excited at first, looking forward to learning from experienced professionals in a long-standing company that has been around for decades. In the past years I coded almost 100% solo, so I really wanted to learn some solid team practices, refine my automated testing skills, and so on. Also, good pay, flexible hours and team is cool.
Then... I actually went there.
At first, I thought it was me. I thought I couldn't understand the code because I was used reading only mine.
I thought that it was me, not knowing well enough the quirks of web development to understand how things worked.
I though I was too lazy - it was shocking to see how hard those guys worked: I saw one guy once who was basically coding with one hand, answering a mail with another, all while doing some technical assistance on the phone.
Then I started to realize.
All projects are a disorganized mess, not only the legacy ones - actually the "green" products are quite worse.
Dependency injection hell: it seems like half of the code has been written by a DI fanatic and the other half by an assembly nostalgic who doesn't really like this new hippy thing called "functions".
Architecture is so messed up there are methods several THOUSANDS of lines long, and for the love of god most people on the team don't really even know WHAT those methods are for, but they're so intertwined with the rest of the codebase no one ever dares to touch them.
No automated test whatsoever, and because of the aforementioned DI hell, it's freaking hard to configure a testing environment (I've been trying for two days during my days off, with almost no success).
Of course documentation is completely absent, specifications are spread around hundreds of mails and opaquely named files thrown around personal shared folders, remote archives, etc.
So I rolled my sleeves up and started crunching as the rest of the team. I tried to follow the boy-scout rule, when the time and scope allowed. But god, it's hard. I'm tired as fuck, I miss working on my projects, or at least something that's not a complete madness. And it's unbearable to manually validate everything (hundreds of edge cases) by hand.
And the rest of the team acts like it's all normal. They look so at ease in this mess. It's like seeing someone quietly sitting inside a house on fire doing their stuff like nothing special is going on.
Please tell me it's not this way everywhere. I want out of this. I also feel like I'm "spoiled", and I should just do like the others and accept the depressing reality of working with all of this. But inside me I don't want to. I developed a taste for clean, easy maintainable code and I don't want to give it up.3 -
I’ve been looking for a job recently since I am a student and starting my career.
I have a bunch of experience and I like to think I have pretty broad knowledge of programming concepts (web dev, ML, AI, software development).
I see these job postings for jobs that I know I am qualified for.
- I got my research published (which is related to the jobs I’ve been applying for)
- I have great grades
- I have a clear track record of doing well in teams (life long athlete)
- I am a complete geek for new tech and libraries so I always learn them super fast
- I have side projects that aren’t just shit I’ve done in school
- my past jobs show that I am an efficient worker who has real experience
However, I always fucking fail the coding challenges.
I’m never asked questions like “how to reverse a linked list”, just obscure questions that I don’t know how to study for.
What the fuck am I supposed to do? It’s not even like I get close to the answers. I usually get a couple test cases and then fail the rest of them, or I can’t figure out a solution to solve them.
This is all really disheartening and I fucking hate it I absolutely fucking hate it and when I am trying to hire people in the future, I’m never going to make them do coding challenges bc they’re fucking stupid3 -
There was this tech guy in our project. I don't really know how techy nor what his role was, but I do know he was a techie.
Lately we'd noticed he was behaving more and more managerish. Orchestrating resources over slack, scheduling meetings, the managerial slang... Bulletpoints... It was obvious what's going to happen - he was striving for a manager's chair. Cool. He seemed like a guy who can indeed do this well. And the fact that he's a techie was promising - he should understand so many things.
Boy did that come around and bite us in our asses. Turns out this guy is a googler. If we are working on some case [as we always are] he jumps in and offers his opinion, although he is far from our technical area. We explain how/why it is not a good idea. Then he does some googling and comes back with a different idea! And insists on testing it out... FTR, a single test in our project could take from 1 to 6 hours. And he's a manager now!! We can't just ignore his requests...
Allright, we do that testing. Results are far from satisfying. We continue investigating. He does as well. We'd like to try something out, but there he comes with a new idea! And ofc we are asked to test it out as well.
Our own testing is postponed again.
A few days like this one pass by. In a daily meeting we are blamed for taking that long to do our investigation and we are questioned as engineers.
Superb...
Honestly? I'm having second thoughts about this new role. It's supposed to be fun and challenging and all, but this kind of shit is just too much...7 -
Having a lot of bad experiences while working as intern in startups and about to join a MNC, i wanted to share my work life balance and technical demands that i expect from a company. These are going to be my list of checkpoints that i look forward , let me know which of them are way too unrealistic. also add some of yours if i missed anything :
Work life balance demands ( As a fresher, i am just looking forward for 1a, 2a and 8, but as my experience and expertise grows, i am looking forward for all 10. Would i be right to expect them? ):
1a 8 hr/day. 1b 9h/day
2a 5days/week. 2b 6 days/week
3 work from home (if am not working on something that requires my office presence)
4 get out of office whenever i feel like i am done for the day
5 near to home/ office cab service
6 office food/gym service
7 mac book for working
8 2-4 paid leaves/month
9 paid overtime/work on a holiday
10.. visa sponsorship if outside india
Tech Demands (most of them would be gone when i am ready to loose my "fresher " tag, but during my time in internship, training i always wished if things happened this way):
1. I want to work as a fresher first, and fresher means a guy who will be doing more non tech works at first than going straight for code. For eg, if someone hires me in the app dev team, my first week task should be documenting the whole app code / piece of it and making the test cases, so that i can understand the environment/ the knowledge needed to work on it
2. Again before coding the real meaningful stuff for the main product, i feel i should be made to prepare for the libraries ,frameworks,etc used in the product. For eg if i don't know how a particular library ( say data binding) used in the app, i should be asked to make a mini project in 1-2 days using all the important aspects of data binding used in the project, to learn about it. The number of mini tasks and time to complete them should be given adequately , as it is only going to benefit the company once am proficient in that tech
3. Be specific in your tasks for the fresher. You don't want a half knowledgeable fresher/intern think on its own diverging from your main vision and coding it wrong. And the fresher is definitely not wrong for doing so , if you were vague on the first place.
4. most important. even when am saying am proficient , don't just take my word for it. FUCKIN REVIEW MY CODE!! Personally, I am a person who does a lot of testing on his code. Once i gave it to you, i believe that it has no possible issues and it would work in all possible cases. But if it isn't working then you should sit with me and we 2 should be looking, disccussing and debugging code, and not just me looking at the code repeatedly.
4. Don't be too hard on fresher for not doing it right. Sometimes the fresher might haven't researched so much , or you didn't told him the exact instructions but that doesn't mean you have the right to humiliate him or pressurize him
5. Let multiple people work on a same project. Sometimes its just not possible but whenever it is, as a senior one must let multiple freshers work on the same project. This gives a sense of mutual understanding and responsibility to them, they learn how to collaborate. Plus it reduces the burden/stress on a single guy and you will be eventually getting a better product faster
Am i wrong to demand those things? Would any company ever provide a learning and working environment the way i fantasize?3 -
Hello, my first time here. I got to know this website/app from my PM because I need to vent it somewhere other than him according to my PM.
So, here goes my first rant. The date is today (Monday). The rant subject is our new tester. Some context on the guy. He started in our office 8 weeks ago and his title is senior tester with some years in testing. Me and my team with the exception of our PM are new hires and for me, this is my first job after graduation.
After a grueling month of pushing for new modules and bug fixes from our monthly UAT from the client (yes, this will be a future rant one day), about 2/3 of the team is on vacation paired with a long weekend. So, a very few ppl in the team including me and my PM came for today.
I usually came quite early, around 8 am as I commute with public transportation. As soon as I have my breakfast and just getting ready to open my dev laptop, he came to me with a bug. This is like under an hour I came to office. I'm ok with anything related to the project as today was deployment day to test server for our monthly UAT. So, I check the bug and it wasn't my module but the PIC is not there and I familiar with the code thus I fixing the module.
Then, not even 15 mins later, while fixing this module, he came to me with another bug. I'm still the only one who in office that can fix it thus have to do it too. Finished the both bugs, pushed and je retested it. Fortunately, my PM and another colleague came. But, for some reason, he only comes to me for the bug fixes.
The annoying thing for me is that he comes to me every time he found an obstacle, bug or glitch. At this rate, by hourly. Thus, this cycle of impromptu going around fixing-on-the-go for the project begins, for me. Then, my PM asks him abt our past issue log given by the client UAT. Another annoying part is he never checks the clients feedback to see if the result can be produced again. The time he checks it is when ppl ask abt it and test it 1 by 1. Then he came to me again with why x person marked it as done. Like hell I know why they marked it done, you the one who need to check with them. Thus, I called/messaged the PIC for x modules abt the issue and then they explain it. I have to explain it again to him abt it and then he makes the summary report for the feedback. This goes until lunch.
I thought the bug fixes is over and I can deploy it after lunch. I thought wrong and I kinda regret coming back early from lunch which I thought I can rest for a while with the debacle over morning. Nope, straight he comes to me after I sit down for 10 mins and until almost work hour is done, he came to me with small bugs and issues like previously, hourly. By then I think I crushed like ~10 bugs/issues and I'm knackered. I complained to the PM many times and the PM also said to him many times but he still does it again and again. Even the PM also ranted to me abt his behavior. The attitude of not compiling an issue log for the day and not testing the system to verify what the client feedbacks are valid or not is grinding my gears more and more. Not hating the guy even though his personality is quite unique but this is totally grinding ppl's gears atm. As of now, it's midnight and I finally deployed the system to the testing server. This totally drains my mental health and it's just Monday. May god have mercy on me.
Owh, the other colleague that come today? He was doing pretty much the same thing but he was resolving a major issue which is why the tester came to me.2 -
Some had teased me a bit on my previous meme so let me tell my anecdote...
I have to tell you a rather funny anecdote that happened to me during a job interview..
To put you in context, I am a front/back developer and the language where I perform best is JS. I started learning JS at an early age during an open source project to make animations on websites then I also quickly moved to the backend using NodeJS. I gained a lot of experience by going to small start-ups and this time if I wanted to try my luck on big companies in the field of video games.
So I wanted to present some projects to my interlocutor who seemed to be someone with an important position in the company, about 26 years old and we talked about the JS language. I showed him all my projects including those where I was doing free/open source and also in the field of video games such as volunteering like the back off https://mylolmmr.com And suddenly he called out to me and said "JS is not a real language".
I must confess that I was quite disturbed by his assertion and did not understand his condescension or his belittlement. This mind...
Especially since I find it extremely misleading to say that the JS language is not a real language when you know its advantages and disadvantages, but I did not dare to express myself on this subject and we continued the interviews, even though he saw that it bothered me.
The funny thing is that once the interview is over and I decide to go home and I receive a call from the company in question who wanted me to take a technical test telling me that the oral interview was successful...
I reassure you right away, I refused.. For a question of salary which was extremely low and obviously the bad experience with this famous director.3 -
So, I'm an engineer who believes that there isn't one solution that fits all (feel free to change my mind). I believe 100%, that a great engineer is someone who also encompasses the ability to make decisions appropriately on tools, paradigms, etc to solve any problem.
But, this rant is going out to the TDD fanatics.
I assume every piece or lines of code you write is/are towards solving a problem and it includes the code you write to test the "main" code you are about to write 😑
Question: Do you write a test to test the test you write to test the code you about to write? 😏7 -
see now this is the f-ing shit that pisses me off.
There is this project named dain.
One time I made a project that dropped frames using opencv or ffmpeg i can't remember, creating a test output file and ran them through dain to benchmark it for myself.
alot of things just like this actually I tended to do to get a better sense. Its the reason I abandoned the NN since I think I have a feel for how to design them for certain tasks and remember that with my 'successes' i was still really far off from where i'd like to be.
additionally there are other kinds of ml that interest me more that I am not seeing too much on... point is
I worked all this crap out
got wavenet working to check on it YEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARS ago and because the dirty fucks out west kept stealing my stuff, i end up back at square one waiting for some douchebag to steal my stuff again who isn't even going to do anything but pretend he's straight or pretend everything has some faggot meaning. its very annoying. why do these people live this way again ?3 -
Need advice about switching to contracting.
TL;DR;
So I had 2 years of exp as an android dev, then I had a 1.5 year gap from doing android and now for the past 6 months Ive been doing android again fulltime. Im thinking of switching to contracting due to my debts and boring project and life crushing slow corporate processes in my current fulltime job, so I need tips and advices as to where should I start looking for new contracting gigs and in general what should I pay attention to. If it helps, I am based in EU, but am open to any EU/US gigs.
Now the full story:
Initially when I joined my current fulltime job after a break I had zero confidence, lowered my and employers expectations, joined as a junior but quickly picked up the latest standards and crushed it. Im doing better than half devs in my scrum team right now and would consider myself to be a mid level right now.
Asked for a 50% bump, manager kinda okayed it but the HQ overseas is taking a very long time to give me the actual bump. I have been waiting for 10 weeks already (lots of people in the decision chain were on and off vacations due to summer, also I guess manager sent this request to HQ too late, go figure). Anyways its becoming unnaceptable and I feel like its time for a change.
Now since I have mortgage and bills to pay, even with the bump that I requested that would leave me with like maximum 700-800 bucks a month after all expenses. I have debts of around 20k and paying them back at this rate would take 3 years at least and sounds like a not viable plan at all.
Also it does not help that the project Im working on is full of legacy and Im not learning anything new here. Corporate life seems to be very slow, lots of red tape kills creativity and so on. I remember in startups I was cooking features left and right each sprint, in here deploying a simple popup feature sometimes takes weeks due to incompetence in the chain. I miss the times where I worked in startups, did my job learned nre skills and after 6 months could jump on another exciting gig. Im not growing here anymore.
So because my ADD brain seems to be suited much better for working in startups, and also I need to make more money quick and I dont see a future in current company, I am thinking of going back to contracting. All I need right now is to build a few side apps, get them reviewed by seniors and fill my knowledge gaps. Then I plan of starting interviewing as a mid level or even a senior for that matter, since I worked with actual seniors and to be honest I dont think getting up to their level would be rocket science.
Only difference between mid and senior devs that I see atleast in my current company is that seniors are taking on responsibility more often, and they also take care of our tools, such as CD/CI, pipeline scripts, linters and etc. Usually seniors are the ones who do the research/investigations and then come up with actual tasks/stories for mids/juniors. Also seniors introduce new dependencies and update our stack, solve some performance issues and address bottlenecks and technical debt. I dont think its rocket science, also Ive been the sole dev responsible for apps in the past and always did decent work. Turns out all I needed was to test myself in an environment full of other devs, thats it. My only bottleneck was the imposter syndrome because I was a self taught dev who worked most of my career alone.
Anyways I posted here asking for some tips and advices on how to begin my search for new contract opportunities. I am living in EU, can you give me some decent sites where I could just start applying? Also I would appreciate any other tips opinions and feedback. Thanks!3 -
Being asked to build a website in a few days built specifically for a PowerPoint plugin that uses an IE emulator being shown in a slideshow at a remote site that your IT policy does not allow you to install in order to test - ok fine, annoying but fine.
Having to use someone taking a video of the site in the Powerpoint on a TV Screen to make changes... ok more annoying.. but whatever...
Having to work with a 14page branding guideline document to add images for a sponsor to a Powerpoint website that you cannot directly test.... erm...this is kinda awkward...but I guess...
Finding out the team you're working with has their own designer who has very specific rules for font etc. who noone involved until the day before go-live.... ... oh for...
Site goes live
Powerpoint at remote site breaks
you get asked wha'ts going on...
...f you... -
The following piece of advice will be for those aspiring for an IT service desk position:
When companies are looking to hire service desk agents, they're primarily looking for socially skilled people with strong communicative skills, rather than primarily technically skilled people. When I first joined the IT world, I went on different interviews for that position and across all of them there was one truth: all the interviewers were eyeballs-focused on my social and communication skills and a mere thin layer of technical skills was required (depending on how technical the service desk). In fact, I immediately got aggressively dismissed twice for two of those when I filled in a Myers-Briggs personality test according to my Sheldon-type personality (selfish, condescending etc). Conversely, when I applied for a new position and I faked that test into answering everything focused positively on the social aspect, I was an immediate top candidate.
Here's a definition from the ITIL Foundation course, chapter Service Management: Because of how lateral the function of the service desk has become today (not only used to solve technical issues, but also company-wide issues), the most important and valued skills when hiring a service desk agent are fully focused on empathy and soft skills and none of those are technical skills. This is because the service desk has people that are the front window of your company and thus you can't make social mistakes as to protect your company's reputation. That risk has to be minimized and you need the ideal people. The people who in fact solve the technical problems are behind a back-office and they are contacted by the service desk agents.
In the beginning, when I did my first service desk job, I also thought: "Oh, I'm going to have to convince them I'm this technical wizard". In the end I got hired for being able to explain technology in human language and because in the interview I successfully communicated and explained ideas to both the team manager and the CEO, not because I knew what goes on inside a computer. This is a very important distinction.
My friends have also been in service desk positions and ironically they were the most successful when they were empathetic slimeballs (saying: "of course, anything for you" while not meaning it, constantly making jokes), rather than people with integrity (those got fired for telling the customer they were wrong while being unfriendly).
I hope this helps.8 -
How do you deal when you are overpromising and underdelivering due to really shitty unpredictable codebase? Im having 2-3 bad sprints in a row now.
For context: Im working on this point of sale app for the past 4 months and for the last 3 sprints I am strugglig with surprises and edgecases. I swear to god each time I want to implement something more complex, I have to create another 4-5 tickets just to fix the constraints or old bugs that prevent my feature implementation just so I could squeeze my feature in. That offsets my original given deadlines and its so fucking draining to explain myself to my teamlead about why feature has to be reverted why it was delayed again and so on.
So last time basically it went like this: Got assigned a feature, estimated 2 weeks to do it. I did the feature in time, got reviewed and approved by devs, got approved by QA and feature got merged to develop.
Then, during regression testing 3 blockers came up so I had to revert the feature from develop. Because QA took a very long time to test the feature and discover the blockers, now its like 3 days left until the end of the sprint. My teamlead instantly started shitting bricks, asked me to fix the blockers asap.
Now to deal with 3 blockers I had to reimplement the whole feature and create like 3 extra tickets to fix existing bugs. Feature refactor got moved to yet another sprint and 3 tickets turned into like 8 tickets. Most of them are done, I created them just to for papertrail purposes so that they would be aware of how complex this is.
It taking me already extra 2 weeks or so and I am almost done with it but Im going into really deep rabbithole here. I would ask for help but out of other 7 devs in the team only one is actually competent and helpful so I tried to avoid going to him and instead chose to do 16 hour days for 2 weeks in a row.
Guess what I cant sustain it anymore. I get it that its my fault maybe I should have asked for help sooner.
But its so fucking frustrating trying to do mental gymnastics over here while majority of my team is picking low hanging fruit tasks and sitting for 2 weeks on them but they manage to look good infront of everyone.
Meanwhile Im tryharding here and its no enough, I guess I still look incompetent infront of everyone because my 2 weeks task turned into 6 weeks and I was too stubborn to ask for help. Whats even worse now is that teamlead wants me to lead a new initiative what stresses me even more because I havent finished the current one yet. So basically Im tryharding so much and I will get even extra work on top. Fucking perfect.
My frustration comes from the point that I kinda overpromised and underdelivered. But the thing is, at this point its nearly impossible to predict how much a complex feature implementation might take. I can estimate that for example 2 weeks should be enough to implement a popup, but I cant forsee the weird edgecases that can be discovered only during development.
My frustration comes from devs just reviewing the code and not launching the app on their emulator to test it. Also what frustrates me is that we dont have enough QA resources so sometimes feature stands for extra 1-2 weeks just to be tested. So we run into a situation where long delays for testing causes late bug discovery that causes late refactors which causes late deliveries and for some reason I am the one who takes all the pressure and I have to puloff 16 hour workdays to get something done on time.
I am so fucking tired from last 2 sprints. Basically each day fucking explaining that I am still refactoring/fixing the blocker. I am so tired of feeling behind.
Now I know what you will say: always underpromise and overdeliver. But how? Explain to me how? Ok example. A feature thats add a new popup? Shouldnt take usually more than 2 weeks to do my part. What I cant promise is that devs will do a proper review, that QA wont take 2 extra weeks just to test the feature and I wont need another extra 2 weeks just to fix the blockers.
I see other scrum team devs picking low hanging fruit tasks and sitting for 2 weeks on them. Meanwhile Im doing mental gymnastics here and trying to implement something complex (which initially seemed like an easy task). For the last 2 weeks Im working until 4am.
Im fucking done. I need a break and I will start asking other devs for help. I dont care about saving my face anymore. I will start just spamming people if anything takes longer than a day to implement. Fuck it.
I am setting boundaries. 8 hours a day and In out. New blockers and 2 days left till end of the sprint? Sorry teamlead we will move fixes to another sprint.
It doesnt help that my teamlead is pressuring me and asking the same shit over and over. I dont want them to think that I am incompetent. I dont know how to deal with this shit. Im tired of explaining myself again and again. Should I just fucking pick low hanging fruit tasks but deliver them in a steady pace? Fucking hell.4