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 - "said no one ever"
-
!rant
After over 20 years as a Software Engineer, Architect, and Manager, I want to pass along some unsolicited advice to junior developers either because I grew through it, or I've had to deal with developers who behaved poorly:
1) Your ego will hurt you FAR more than your junior coding skills. Nobody expects you to be the best early in your career, so don't act like you are.
2) Working independently is a must. It's okay to ask questions, but ask sparingly. Remember, mid and senior level guys need to focus just as much as you do, so before interrupting them, exhaust your resources (Google, Stack Overflow, books, etc..)
3) Working code != good code. You are an author. Write your code so that it can be read. Accept criticism that may seem trivial such as renaming a variable or method. If someone is suggesting it, it's because they didn't know what it did without further investigation.
4) Ask for peer reviews and LISTEN to the critique. Even after 20+ years, I send my code to more junior developers and often get good corrections sent back. (remember the ego thing from tip #1?) Even if they have no critiques for me, sometimes they will see a technique I used and learn from that. Peer reviews are win-win-win.
5) When in doubt, do NOT BS your way out. Refer to someone who knows, or offer to get back to them. Often times, persons other than engineers will take what you said as gospel. If that later turns out to be wrong, a bunch of people will have to get involved to clean up the expectations.
6) Slow down in order to speed up. Always start a task by thinking about the very high level use cases, then slowly work through your logic to achieve that. Rushing to complete, even for senior engineers, usually means less-than-ideal code that somebody will have to maintain.
7) Write documentation, always! Even if your company doesn't take documentation seriously, other engineers will remember how well documented your code is, and they will appreciate you for it/think of you next time that sweet job opens up.
8) Good code is important, but good impressions are better. I have code that is the most embarrassing crap ever still in production to this day. People don't think of me as "that shitty developer who wrote that ugly ass code that one time a decade ago," They think of me as "that developer who was fun to work with and busted his ass." Because of that, I've never been unemployed for more than a day. It's critical to have a good network and good references.
9) Don't shy away from the unknown. It's easy to hope somebody else picks up that task that you don't understand, but you wont learn it if they do. The daunting, unknown tasks are the most rewarding to complete (and trust me, other devs will notice.)
10) Learning is up to you. I can't tell you the number of engineers I passed on hiring because their answer to what they know about PHP7 was: "Nothing. I haven't learned it yet because my current company is still using PHP5." This is YOUR craft. It's not up to your employer to keep you relevant in the job market, it's up to YOU. You don't always need to be a pro at the latest and greatest, but at least read the changelog. Stay abreast of current technology, security threats, etc...
These are just a few quick tips from my experience. Others may chime in with theirs, and some may dispute mine. I wish you all fruitful careers!227 -
There's this guy where I work who's one of the senior linux engineers. To me, he's like a linux god. He knows how to solve the most difficult problems and somehow copes with all the stress/workload. Next to that, he's only one year older than me!
Whenever I'm at work, I consider myself a junior, which I actually am. I also, as said earlier, see this senior guy as a fucking linux god and consider myself to be an absolute newbie around him but he is the most kind/friendly guy ever.
But then, today, something happened which made me feel like a god in front of him, a very, very weird feeling.
For him, doing his stuff is the most normal thing in the world while for me, it's still a learning process.
For me, programming is the most normal thing in the wold, while for him, it's still something he just knows the very basics of.
He asked me if I knew something about javascript/jquery. Said yes as I often program/script in javascript.
Explained me what he wanted to get done, it was a very simple thing for me but after hours of online searching, his lack of javascript knowledge still got him nowhere.
Told him I'd give him a working script in 30 minutes. Emailed it to him in 10.
He seemed/reacted the way I always do when he solves something I have no clue how to solve.
It was really weird to witness *him* being amazed of something that *I* made/did.
Today was a good day where I saw that one person's limitations can be anothers' most easy thing, even if that another person sees that one person as a god.13 -
Holy fucking shit. I just went to my first Java class at uni (3 1/2 hour long one at that) and I havent felt so damn irritated in a while.
Some background:
So first, I only had about an hour of sleep last night and a full day of work before this class so I was more cranky than normal.
Theres only 7 students in the class, 6 others plus me. I am the only one with any resemblence of programming experience. The teacher also claims to be a linux developer.
This is a three part course series. Java 1, 2, and 3. All taught by the same teacher.
The fuckery:
-teacher spends 48 minutes talking about text editors. Not even IDEs. Just talking in depth as fuck about notepad (notepad. Not notepad++ )and atom and textpad. Those three only though, nothing on vim or emacs or ACTUAL IDEs. 48 minutes.
- I briefly mentioned learning node.js on the side and am now the "javascript girl" to my teacher. I'm probably less experienced with js than any other thing i ever practised or studied.
-professor saw linux on laptop and asked what distro. When I said arch he said "oh no you shouldnt be using that Its not really for beginners" ... Uhh what makes you think I'm a beginner to linux? Or does he not think I should be using arch while learning java? Either way its really ridiculous and irritates me that he would discourage anyone from using any software/OS/anything, regardless of what it is or skill level.
-teacher moved a bunch of content out of the course because theyre either "concepts that are never implemented anymore" or "arent critical to know to master the language". These particular topics that were removed? Multi-dimensional arrays, scopes, and exception handling. EXCEPTION HANDLING.
-he writes a hello world program and displays it on the board, proof of it working and everything. He tells the class to write the same program, compile and run it. Never did I guess we would spend the remaining hour and ten minutes of class struggling with fucking hello world programs. Especially when the correct code is on the fucking projector.
And I get it guys, everyone starts somewhere. People have to learn from square one. But these kids have no fucking interest in this. One of them literally admitted to pursuing this degree for the "lavish life" that comes with the salary. Others just picked programming because they didnt know what else to choose to get into the school. It fucking saddens me. I hope that one or some of them end up caring and finding a passion in this field, otherwise I feel fucking sorry for them having to spaghetti code their way through life to get a paycheck cause they couldnt be bothered to put in the effort. I feel even more sorry for any devs they work with in the future too.
The other annoying bit is that I can't test out of this class!! so it looks like for either 7 hours a week ill be bored out of my fucking mind with these beginner concepts or ill be helping others fix really stupid shit in their code (like putting quotes around hello world so it would actually print the string).
Fucking hell. Waste of a semester class.44 -
I worked with a good dev at one of my previous jobs, but one of his faults was that he was a bit scattered and would sometimes forget things.
The story goes that one day we had this massive bug on our web app and we had a large portion of our dev team trying to figure it out. We thought we narrowed down the issue to a very specific part of the code, but something weird happened. No matter how often we looked at the piece of code where we all knew the problem had to be, no one could see any problem with it. And there want anything close to explaining how we could be seeing the issue we were in production.
We spent hours going through this. It was driving everyone crazy. All of a sudden, my co-worker (one referenced above) gasps “oh shit.” And we’re all like, what’s up? He proceeds to tell us that he thinks he might have been testing a line of code on one of our prod servers and left it in there by accident and never committed it into the actual codebase. Just to explain this - we had a great deploy process at this company but every so often a dev would need to test something quickly on a prod machine so we’d allow it as long as they did it and removed it quickly. It was meant for being for a select few tasks that required a prod server and was just going to be a single line to test something. Bad practice, but was fine because everyone had been extremely careful with it.
Until this guy came along. After he said he thought he might have left a line change in the code on a prod server, we had to manually go in to 12 web servers and check. Eventually, we found the one that had the change and finally, the issue at hand made sense. We never thought for a second that the committed code in the git repo that we were looking at would be inaccurate.
Needless to say, he was never allowed to touch code on a prod server ever again.8 -
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 -
I worked on a greenfield project a couple of years ago. The company had an old solution written in Omnis (heard of it? Yeah, me neither) with an SQL database. My team was to create a completely new web based system... on top of the old database, so the customers could keep their existing stuff.
The dba was an intelligent man, one of the nicest people I've met, and over the course of fifteen years he had made a remarkably terrifying monstrosity of a database. Some years before me they wanted to "future proof" the system and make it "easier to switch to new technologies". So they moved the entire business logic into the database...
I used a tool to create a visualization of said database when we started. It had no views, only tables and sprocs. Look at it! Tables and sprocs are rectangles (well, dots) and any connections are drawn in grey lines. There were no foreign keys, so a tables only visualization only yielded a collection of independent rectangles without a single line.
Now, the stored procedures were bloody MASSIVE. A single procedure that only registered a new interested party and attached them to a property had 2500+ lines and over 150 parameters.
Also, this dba added features and fixed bugs by logging into the respective customers production server and writing SQL.
That database is the stupidest thing I've ever seen a developer do.
34 -
In a user-interface design meeting over a regulatory compliance implementation:
User: “We’ll need to input a city.”
Dev: “Should we validate that city against the state, zip code, and country?”
User: “You are going to make me enter all that data? Ugh…then make it a drop-down. I select the city and the state, zip code auto-fill. I don’t want to make a mistake typing any of that data in.”
Me: “I don’t think a drop-down of every city in the US is feasible.”
Manage: “Why? There cannot be that many. Drop-down is fine. What about the button? We have a few icons to choose from…”
Me: “Uh..yea…there are thousands of cities in the US. Way too much data to for anyone to realistically scroll through”
Dev: “They won’t have to scroll, I’ll filter the list when they start typing.”
Me: “That’s not really the issue and if they are typing the city anyway, just let them type it in.”
User: “What if I mistype Ch1cago? We could inadvertently be out of compliance. The system should never open the company up for federal lawsuits”
Me: “If we’re hiring individuals responsible for legal compliance who can’t spell Chicago, we should be sued by the federal government. We should validate the data the best we can, but it is ultimately your department’s responsibility for data accuracy.”
Manager: “Now now…it’s all our responsibility. What is wrong with a few thousand item drop-down?”
Me: “Um, memory, network bandwidth, database storage, who maintains this list of cities? A lot of time and resources could be saved by simply paying attention.”
Manager: “Memory? Well, memory is cheap. If the workstation needs more memory, we’ll add more”
Dev: “Creating a drop-down is easy and selecting thousands of rows from the database should be fast enough. If the selection is slow, I’ll put it in a thread.”
DBA: “Table won’t be that big and won’t take up much disk space. We’ll need to setup stored procedures, and data import jobs from somewhere to maintain the data. New cities, name changes, ect. ”
Manager: “And if the network starts becoming too slow, we’ll have the Networking dept. open up the valves.”
Me: “Am I the only one seeing all the moving parts we’re introducing just to keep someone from misspelling ‘Chicago’? I’ll admit I’m wrong or maybe I’m not looking at the problem correctly. The point of redesigning the compliance system is to make it simpler, not more complex.”
Manager: “I’m missing the point to why we’re still talking about this. Decision has been made. Drop-down of all cities in the US. Moving on to the button’s icon ..”
Me: “Where is the list of cities going to come from?”
<few seconds of silence>
Dev: “Post office I guess.”
Me: “You guess?…OK…Who is going to manage this list of cities? The manager responsible for regulations?”
User: “Thousands of cities? Oh no …no one is our area has time for that. The system should do it”
Me: “OK, the system. That falls on the DBA. Are you going to be responsible for keeping the data accurate? What is going to audit the cities to make sure the names are properly named and associated with the correct state?”
DBA: “Uh..I don’t know…um…I can set up a job to run every night”
Me: “A job to do what? Validate the data against what?”
Manager: “Do you have a point? No one said it would be easy and all of those details can be answered later.”
Me: “Almost done, and this should be easy. How many cities do we currently have to maintain compliance?”
User: “Maybe 4 or 5. Not many. Regulations are mostly on a state level.”
Me: “When was the last time we created a new city compliance?”
User: “Maybe, 8 years ago. It was before I started.”
Me: “So we’re creating all this complexity for data that, realistically, probably won’t ever change?”
User: “Oh crap, you’re right. What the hell was I thinking…Scratch the drop-down idea. I doubt we’re have a new city regulation anytime soon and how hard is it to type in a city?”
Manager: “OK, are we done wasting everyone’s time on this? No drop-down of cities...next …Let’s get back to the button’s icon …”
Simplicity 1, complexity 0.16 -
Worst thing you've seen another dev do? Long one, but has a happy ending.
Classic 'Dev deploys to production at 5:00PM on a Friday, and goes home.' story.
The web department was managed under the the Marketing department, so they were not required to adhere to any type of coding standards and for months we fought with them on logging. Pre-Splunk, we rolled our own logging/alerting solution and they hated being the #1 reason for phone calls/texts/emails every night.
Wanting to "get it done", 'Tony' decided to bypass the default logging and send himself an email if an exception occurred in his code.
At 5:00PM on a Friday, deploys, goes home.
Around 11:00AM on Sunday (a lot folks are still in church at this time), the VP of IS gets a call from the CEO (who does not go to church) about unable to log into his email. VP has to leave church..drive home and find out he cannot remote access the exchange server. He starts making other phone calls..forcing the entire networking department to drive in and get email back up (you can imagine not a group of happy people)
After some network-admin voodoo, by 12:00, they discover/fix the issue (know it was Tony's email that was the problem)
We find out Monday that not only did Tony deploy at 5:00 on a Friday, the deployment wasn't approved, had features no one asked for, wasn't checked into version control, and the exception during checkout cost the company over $50,000 in lost sales.
Was Tony fired? Noooo. The web is our cash cow and Tony was considered a top web developer (and he knew that), Tony decided to blame logging. While in the discovery meeting, Tony told the bosses that it wasn't his fault logging was so buggy and caused so many phone calls/texts/emails every night, if he had been trained properly, this problem could have been avoided.
Well, since I was responsible for logging, I was next in the hot seat.
For almost 30 minutes I listened to every terrible thing I had done to Tony ever since he started. I was a terrible mentor, I was mean, I was degrading, etc..etc.
Me: "Where is this coming from? I barely know Tony. We're not even in the same building. I met him once when he started, maybe saw him a couple of times in meetings."
Andrew: "Aren't you responsible for this logging fiasco?"
Me: "Good Lord no, why am I here?"
Andrew: "I'll rephrase so you'll understand, aren't you are responsible for the proper training of how developers log errors in their code? This disaster is clearly a consequence of your failure. What do you have to say for yourself?"
Me: "Nothing. Developers are responsible for their own choices. Tony made the choice to bypass our logging and send errors to himself, causing Exchange to lockup and losing sales."
Andrew: "A choice he made because he was not properly informed of the consequences? Again, that is a failure in the proper use of logging, and why you are here."
Me: "I'm done with this. Does John know I'm in here? How about you get John and you talk to him like that."
'John' was the department head at the time.
Andrew:"John, have you spoken to Tony?"
John: "Yes, and I'm very sorry and very disappointed. This won't happen again."
Me: "Um...What?"
John: "You know what. Did you even fucking talk to Tony? You just sit in your ivory tower and think your actions don't matter?"
Me: "Whoa!! What are you talking about!? My responsibility for logging stops with the work instructions. After that if Tony decides to do something else, that is on him."
John: "That is not how Tony tells it. He said he's been struggling with your logging system everyday since he's started and you've done nothing to help. This behavior ends today. We're a fucking team. Get off your damn high horse and help the little guy every once in a while."
Me: "I don't know what Tony has been telling you, but I barely know the guy. If he has been having trouble with the one line of code to log, this is the first I've heard of it."
John: "Like I said, this ends today. You are going to come up with a proper training class and learn to get out and talk to other people."
Over the next couple of weeks I become a powerpoint wizard and 'train' anyone/everyone on the proper use of logging. The one line of code to log. One line of code.
A friend 'Scott' sits close to Tony (I mean I do get out and know people) told me that Tony poured out the crocodile tears. Like cried and cried, apologizing, calling me everything but a kitchen sink,...etc. It was so bad, his manager 'Sally' was crying, her boss 'Andrew', was red in the face, when 'John' heard 'Sally' was crying, you can imagine the high levels of alpha-male 'gotta look like I'm protecting the females' hormones flowing.
Took almost another year, Tony released a change on a Friday, went home, web site crashed (losses were in the thousands of $ per minute this time), and Tony was not let back into the building on Monday (one of the best days of my life).10 -
I'm drunk and I'll probably regret this, but here's a drunken rank of things I've learned as an engineer for the past 10 years.
The best way I've advanced my career is by changing companies.
Technology stacks don't really matter because there are like 15 basic patterns of software engineering in my field that apply. I work in data so it's not going to be the same as webdev or embedded. But all fields have about 10-20 core principles and the tech stack is just trying to make those things easier, so don't fret overit.
There's a reason why people recommend job hunting. If I'm unsatisfied at a job, it's probably time to move on.
I've made some good, lifelong friends at companies I've worked with. I don't need to make that a requirement of every place I work. I've been perfectly happy working at places where I didn't form friendships with my coworkers and I've been unhappy at places where I made some great friends.
I've learned to be honest with my manager. Not too honest, but honest enough where I can be authentic at work. What's the worse that can happen? He fire me? I'll just pick up a new job in 2 weeks.
If I'm awaken at 2am from being on-call for more than once per quarter, then something is seriously wrong and I will either fix it or quit.
pour another glass
Qualities of a good manager share a lot of qualities of a good engineer.
When I first started, I was enamored with technology and programming and computer science. I'm over it.
Good code is code that can be understood by a junior engineer. Great code can be understood by a first year CS freshman. The best code is no code at all.
The most underrated skill to learn as an engineer is how to document. Fuck, someone please teach me how to write good documentation. Seriously, if there's any recommendations, I'd seriously pay for a course (like probably a lot of money, maybe 1k for a course if it guaranteed that I could write good docs.)
Related to above, writing good proposals for changes is a great skill.
Almost every holy war out there (vim vs emacs, mac vs linux, whatever) doesn't matter... except one. See below.
The older I get, the more I appreciate dynamic languages. Fuck, I said it. Fight me.
If I ever find myself thinking I'm the smartest person in the room, it's time to leave.
I don't know why full stack webdevs are paid so poorly. No really, they should be paid like half a mil a year just base salary. Fuck they have to understand both front end AND back end AND how different browsers work AND networking AND databases AND caching AND differences between web and mobile AND omg what the fuck there's another framework out there that companies want to use? Seriously, why are webdevs paid so little.
We should hire more interns, they're awesome. Those energetic little fucks with their ideas. Even better when they can question or criticize something. I love interns.
sip
Don't meet your heroes. I paid 5k to take a course by one of my heroes. He's a brilliant man, but at the end of it I realized that he's making it up as he goes along like the rest of us.
Tech stack matters. OK I just said tech stack doesn't matter, but hear me out. If you hear Python dev vs C++ dev, you think very different things, right? That's because certain tools are really good at certain jobs. If you're not sure what you want to do, just do Java. It's a shitty programming language that's good at almost everything.
The greatest programming language ever is lisp. I should learn lisp.
For beginners, the most lucrative programming language to learn is SQL. Fuck all other languages. If you know SQL and nothing else, you can make bank. Payroll specialtist? Maybe 50k. Payroll specialist who knows SQL? 90k. Average joe with organizational skills at big corp? $40k. Average joe with organization skills AND sql? Call yourself a PM and earn $150k.
Tests are important but TDD is a damn cult.
Cushy government jobs are not what they are cracked up to be, at least for early to mid-career engineers. Sure, $120k + bennies + pension sound great, but you'll be selling your soul to work on esoteric proprietary technology. Much respect to government workers but seriously there's a reason why the median age for engineers at those places is 50+. Advice does not apply to government contractors.
Third party recruiters are leeches. However, if you find a good one, seriously develop a good relationship with them. They can help bootstrap your career. How do you know if you have a good one? If they've been a third party recruiter for more than 3 years, they're probably bad. The good ones typically become recruiters are large companies.
Options are worthless or can make you a millionaire. They're probably worthless unless the headcount of engineering is more than 100. Then maybe they are worth something within this decade.
Work from home is the tits. But lack of whiteboarding sucks.37 -
Get ready for one of the biggest AMAZON rants EVER.
I dislike this company so much I can feel it in my bones.
They have NO, absolutely NO idea how user experience works.
PROBLEM #1.
If you have Amazon Prime / Video (ANOTHER FUCKED UP PROBLEM THAT CONFUSES A LOT OF PEOPLE) and you want to watch a movie on your Xbox using the Amazon App, You have to buy the movie ON YOUR COMPUTER FIRST, YOU CAN’T BUY IT DIRECTLY FROM THE APP.
WHAT THE SHIT AMAZON?
So.. go to your laptop, buy the movie, go back to your other device (Xbox or whatever), click “My movie library” and then you can watch it.
OH AND THERE’S ALSO A “MY WATCHLIST”, WHERE YOUR NEW PURCHASED / RENTED MOVIE DOES NOT SHOW UP.
Yes.. there is a “MY WATCHLIST” and “My movie library” or some shit.
HOW, WHY, WHY FUCKING AMAZON, WHY.
PROBLEM #2.
“WE HAVE A ZILLION ALEXA SKILLS NOW !!!1!!!!!11111! EINZ!!!!!”
Yeah, WELL, NOT THAT HARD WHEN YOU HAVE “Alexa Evangelist” traveling to every DAMN tech convention and having them make USELESS FUCKING SKILLS THAT NOBODY WANTS USING BOILER PLATE CRAP THAT ANYBODY CAN USE.
Oh and Alexa is DUMB AS SHIT.
I asked her "Play the song Starboy by the Weeknd" and she said: "I CAN'T FIND THAT SONG"
Then you go "Play me Starboy" and she goes: "HERE IS A SAMPLE OF STARBOY BY THE WEEKND"
Same with other songs: "YOU DONT HAVE IT IN YOUR PRIME MUSIC LIBRARY".
She doesn't even TRY to go to your fucking Spotify account, you have say: "Play Starboy by The Weeknd on Spotify" AND THEN she still has the FUCKING NERVES to say : "I Can't find that song on Spotify".
BUT YOU JUST FOUND IT ON YOUR OWN DAMN CRAPPY PRIME MUSIC.
"Hey Alexa, how many days till the end of the year?"
GUESS WHAT ,SHE CAN'T TELL YOU. (maybe now but not 2 months ago)
PROBLEM #3.
AUDIBLE.COM and AUDIBLE.CO.UK have DIFFERENT FUCKING DATABASES, THUS, YOU CAN END UP HAVING 2 ACCOUNTS AND HAVING 2 LIBRARIES, and.. THERE IS NO WAY TO FUSE THEM INTO 1 account.
OH MY GOD, HOW IS THAT EVEN POSSIBLE?
I FUCKING HATE that, how can ANYBODY think that is a GOOD IDEA?
PROBLEM #4.
Their website is a TOTAL FUCKING mess, really, who the FUCK designs that piece of SHIT.
Look up a movie, let’s say “SCHOOL OF ROCK”
First result?
“School Of Rock” - “Amazon Video”
So you can click on this and watch the movie.
Then click the second result.
“School of Rock Blu RAY” and next to the price-tag “PRIME”
You click on it, you can buy it, but HEY, LOOK, WHAT DOES IT SAY?
“Unlimited Streaming with Amazon Prime
Start your 30-day free trial to stream thousands of movies & TV shows included with Prime. Start your free trial”
WHAT, WHAT!!!! CAN I WATCH THIS WITH AMAZON PRIME? OR DO I NEED THE AMAZON VIDEO? I DON’T GET IT.
Put me in a room with all those FUCKWIT project managers and their fucked up company culture and I’ll rip them a new one, I can go on for DAYS about the SHIT they are doing.15 -
Where do I even start?
Personal projects?
So many. Shouldn't count.
Unpaid game dev intern?
Unpaid game dev volunteer?
Both worthwhile, if stressful. Shouldn't count either.
Freelancing where clients refused to pay?
That's happened a few times. One of them paid me in product instead of cash (WonderSoil, a company that [apparently still] makes and sells some expanding super potting soil thing). The product turned out to be defective and killed all of the plants I used it on. I'd have preferred getting stiffed instead. Their "factory" (small, almost tiny) was quite cool. The owner was a bitch. Probably still is.
Companies that have screwed me out of pay?
So many. I still curse their names at least once a month. I've been screwed out of about $13k now, maybe more. I've lost track.
I have two stories in particular that really piss me off.
The first: I was working at a large robotics company, and mostly enjoyed my job, though the drive was awful. The pay wasn't high either, but I still enjoyed the work. Schedule was nice, too: 28 hours (four 7-hour days) per week. Regardless, I got a job offer for double my salary, same schedule, and the drive was 11 minutes instead of 40. I took it. My new boss ended up tricking me into being a contractor -- refused to give me a W2, no contracts, etc. Later, he also increased my hours to 40 with no pay increase. He also took forever to pay (weeks to months), and eventually refused to pay me to my face, in front of my cowokers. Asshole still owes me about $5k. Should owe me the the difference in taxes, too (w2 vs 1099) since he lied about it and forced me into it when it was too late to back out.
I talked to the BBB, the labor board, legal council, the IRS (because he was actively evading taxes), the fire inspector (because he installed doors taht locked if the power went out, installed the exit buttons on the fucking ceiling, and later disconnected all of said exit buttons). Nobody gave a single shit. Asshole completely got away with everything. Including several shady as hell things I can't list here because they're too easy to find.
The second one:
The economy was shit, and I was out of a job. I had been looking for quite awhile, and an ex-coworker (who had worked at google, interestingly) suggested I work for this new startup. It was a "reverse search engine," meaning it aggregated news and articles and whatnot, and used machine learning to figure out what its users are interested in, and provided them with exactly that. It would also help with scheduling, reminders of birthdays, mesh peoples' friends' travel plans and life events, etc. (You and a friend are going on vacation to the same place, and your mutual friend there is having a birthday! You should go to ___ special event that's going on while you're all there! Here's a coupon.) It was pretty cool. The owner was not. He delayed my payments a few times, and screwed me over on pay a few more times, despite promising me many times that he was "not one of those people." He ended up paying me less than fucking minimum wage. Fake, smiling, backstabbing asshole.
The first one still pisses me off more, though, because of all the shit I went through trying to get my missing back pay, and how he conned me every chance he got. And how he yelled at me and told me, to my face, that he wasn't ever going to pay me. Fucking goddamn hell I hate that guy.8 -
Welcome back to practiseSafeHex's new life as a manager.
Episode 2: Why automate when you can spend all day doing it by hand
This is a particularly special episode for me, as these problems are taking up so much of my time with non-sensical bullshit, that i'm delayed with everything else. Some badly require tooling or new products. Some are just unnecessary processes or annoyances that should not need to be handled by another human. So lets jump right in, in no particular order:
- Jira ... nuff said? not quite because somehow some blue moon, planets aligning, act of god style set of circumstances lined up to allow this team to somehow make Jira worse. On one hand we have a gigantic Jira project containing 7 separate sub teams, a million different labels / epics and 4.2 million possible assignees, all making sure the loading page takes as long as possible to open. But the new country we've added support for in the app gets a separate project. So we have product, backend, mobile, design, management etc on one, and mobile-country2 on another. This delightfully means a lot of duplication and copy pasting from one to the other, for literally no reason what so ever.
- Everything on Jira is found through a label. Every time something happens, a new one is created. So I need to check for "iOS", "Android", "iOS-country2", "Android-country2", "mobile-<feature>", "mobile-<feature>-issues", "mobile-<feature>-prod-issues", "mobile-<feature>-existing-issues" and "<project>-July31" ... why July31? Because some fucking moron decided to do a round of testing, and tag all the issues with the current date (despite the fact Jira does that anyway), which somehow still gets used from time to time because nobody pays attention to what they are doing. This means creating and modifying filters on a daily basis ... after spending time trying to figure out what its not in the first one.
- One of my favourite morning rituals I like to call "Jira dumpster diving". This involves me removing all the filters and reading all the tickets. Why would I do such a thing? oh remember the 9000 labels I mentioned earlier? right well its very likely that they actually won't use any of them ... or the wrong ones ... or assign to the wrong person, so I have to go find them and fix them. If I don't, i'll get yelled at, because clearly it's my fault.
- Moving on from Jira. As some of you might have seen in your companies, if you use things like TestFlight, HockeyApp, AppCenter, BuddyBuild etc. that when you release a new app version for testing, each version comes with an automated change-log, listing ticket numbers addressed ...... yeah we don't do that. No we use this shitty service, which is effectively an FTP server and a webpage, that only allows you to host the new versions. Sending out those emails is all manual ... distribution groups?? ... whats that?
- Moving back to Jira. Can't even automate the changelog with a script, because I can't even make sense of the tickets, in order to translate that to a script.
- Moving on from Jira. Me and one of the remote testers play this great game I like to call "tag team ticketing". It's so much fun. Right heres how to play, you'll need a QA and a PM.
*QA creates a ticket, and puts nothing of any use inside it, and assigns to the PM.
*PM fires it back asking for clarification.
*QA adds in what he feels is clarification (hes wrong) and assigns it back to the PM.
*PM sends detailed instructions, with examples as to what is needed and assigns it back.
*QA adds 1 of the 3 things required and assigns it back.
*PM assigns it back saying the one thing added is from the wrong day, and reminds him about the other 2 items.
*QA adds some random piece of unrelated info to the ticket instead, forgetting about the 3 things and assigns it back.
and you just continue doing this for the whole dev / release cycle hahaha. Oh you guys have no idea how much fun it is, seriously give it a go, you'll thank me later ... or kill yourselves, each to their own.
- Moving back to Jira. I decided to take an action of creating a new project for my team (the mobile team) and set it up the way we want and just ignore everything going on around us. Use proper automation, and a kanban board. Maybe only give product a slack bot interface that won't allow them to create a ticket without what we need etc. Spent 25 minutes looking for the "create new project" button before finding the link which says I need to open a ticket with support and wait ... 5 ... fucking ... long ... painful ... unnecessary ... business days.
... Heres hoping my head continues to not have a bullet hole in it by then.
Id love to talk more, but those filters ain't gonna fix themselves. So we'll have to leave it here for today. Tune in again for another episode soon.
And remember to always practiseSafeHex13 -
I honestly have no energy to even type this out because this is so draining, but here goes.
I am usually very calm and can keep my composure well, but boy do you push my limits. Do you think my work is so easy that it’s just “a bunch of queries and simple logic”? Well, fine. YOU FUCKING DO IT.. right before I grab you by your fucking neck and shove your face repeatedly into the keyboard. You even have the audacity to give us a project and come the very next fucking day and repeatedly keep asking us “iS iT FiNisHeD yEt?” so much and annoy even the calmest in our team even when we clearly stated that it was going to take us 30 work days to fucking finish it. Do you not know what a working day is? 30 work days is not the same as 30 days you dumbfuck. You have no idea how any of these work and yet you preach your bullshit and waste our fucking time when we could have used that time better to finish our work. THIS IS WHY EVERY SINGLE EMPLOYEE KEEPS LEAVING AND WHY THIS COMPANY HAS A VERY LOW EMPLOYEE RETENTION RATE. You won’t even let me finish my fucking lunch in peace. We have 45 minutes for lunch and since I’ve been eating out for almost the past year (I live alone and don’t usually have time to make food at home because of my hour and a half long commute), a close friend of mine’s mom reached out to and said “Hey, since you’ve been usually getting food from outside, why not join us for lunch?”, so I did and it was the most amazing food ever. Mind you, this was the first time I’ve ever left work myself to have lunch since I joined. I did get 10 minutes late because lunchtime tends to fall around the time where the schools close for the day (no shit) and school traffic is usually insane, and you unsurprisingly decided to make an issue out of a non-issue especially since I’M THE ONLY FUCKING PERSON WORKING IN THE COMPANY and also dock my pay for that. Let me also include the time where our one of the others in the management gave us a quick project that was to be quickly finished while we working on an existing project so we put aside a day just to complete and ship the app and the features and as usual, you decided to make an issue out of a non-issue and decided to shame us publicly and even made (my now former) colleague cry. You’re just a spoiled, selfish, ignorant nit-witted fucking imbecile who has no idea how to even properly run a business. Get fucked in the arse with a cactus. I'm done. I've held on for so long but this is the last straw. I'll be handing my letter of resignation soon. Good luck with running a company without any employees.20 -
I really hate this company.
The code is a disaster. Every single other employee is a salesperson. Nobody has any bloody clue what I do or how difficult it is. They don't care about stability (unless things are crashing), maintenance (until crashing), code quality (until it delays features), or anything apart from shiny new features they can sell. The boss (the king salesman, if ever there was one) doesn't know how to manage, but tries to by acting like his "nice asshole" self -- he's an asshole that gives you passes, makes sure it's bloody obvious that he's doing it begrudgingly, yet everything is still absolutely your fault. If he arbitrarily decides it's too much your fault, he stops being "nice" and flips out on you in front of everyone. That's a "nice asshole": an asshole who can barely even pretend to be nice.
Fuck him.
And you know what? I really hate having to work next to these fucking birds, too.
Today was our weekly conference call, and I was both late and unprepared. I was too focused on my work, and got a ping 4 minutes into the meeting, so I obv didn't have time to prepare. Boss was also pissy today, and I didn't have much to show for my week, thanks to lots of little "OMG NEED ASAP" shit projects that all took too long, pushing back what I was actually supposed to work on. Which didn't get finished, of course, and today that project was "the most important" -- I suspect simply because it wasn't finished. AGADJFSKL. Cue the birds fucking screaming and never fucking shutting up no matter what I did. Blanket? No effect. Spray bottle? SCREAM MORE! Boss was yelling at me, the birds were screaming, and I couldn't think. Goddamn fucking disaster.
and yes, we have a macaw. A macaw and over 20 cockatiels. Said macaw decided today was a lovely day to just fucking SCREAM non-stop, and the tiels were doing their best to keep up. Thinking clearly during this cacophony? Not gonna happen.
Wait, "go elsewhere," you say? Somewhere quieter? Where is this "elsewhere?" We live in a fucking tiny house, and during the call it was (and still is) filled with sleeping people, and surrounded by a fucking desert. Who the fuck thought living in the desert was a good idea, anyway? Like, seriously. What brainless moron thought "You know what? This is a great place! Let's settle down right here," while trudging through the scorching sand and dust, looking at the basically lifeless horizon filled with large, hot, dry, dusty, barren rocks (aka "mountains"), and fucking dying from thirst? Probably someone so delirious from heatstroke they never actually recovered, and continued raving that it's a goddamn paradise to their heat-addled imbecile followers. I really hope they hallucinated a la-z-boy in place of a hedge of teddybear cholla and died an excruciating and prickly death. Fuck that guy/girl, too.
But I digress.
I seriously need an office that isn't a 30 min drive into gang-central. I'd work outside, but I live in the middle of the bloody fucking desert, and get heat exhaustion within about half an hour. Everywhere else in the house people bother me almost incessantly.
just. FUCKING FJASKLDFJGAG.
I HATE THIS PLACE SO SO SO MUCH.
'I've had such Zen lately,' Alex said. Maybe then, but lately? I've just been too exhausted and burned out from putting up with all this shit to get angry. Days like today? I could pour kerosene over everything and laugh as it all just burned to ash.rant it's a cool day at 96f/35c root has problems and fan the flames as your blazes burn root should see a shrink desert kerosene asshole boss when you fall i'll take my turn15 -
Spent most of the day debugging issues with a new release. Logging tool was saying we were getting HTTP 400’s and 500’s from the backend. Couldn’t figure it out.
Eventually found the backend sometimes sends down successful responses but with statusCode 500 for no reason what so ever. Got so annoyed ... but said the 400’s must be us so can’t blame them for everything.
Turns out backend also sometimes does the opposite. Sends down errors with HTTP 200’s. A junior app Dev was apparently so annoyed that backend wouldn’t fix it, that he wrote code to parse the response, if it contained an error, re-wrote the statusCode to 400 and then passed the response up to the next layer. He never documented it before he left.
Saving the best part for last. Backend says their code is fine, it must be one of the other layers (load balancers, proxies etc) managed by one of the other teams in the company ... we didn’t contact any of these teams, no no no, that would require effort. No we’ve just blamed them privately and that’s that.
#successfulRelease4 -
The man who runs my IT department. The man who is in charge of all things and people that are technical: IT management software development, infrastructure, training, help desk, system administration, etc. A man with a staff of fifty plus. If you were to peel back the flesh on this man's head and crack open his skull you would find dung beetles feasting on the feces that power his thoughts and motor functions. Underneath this foul membrane, if you could push past the maggots; the meal worms; his undying love for hourly binges of Johnny Walker Black on any day of the week with a name that contains a vowel; his fascination with shiny objects and his endless internal monologue wondering when they would hatch rainbow ponies that fly; his desire whenever he enters a paint store to open all the cans of paint and taste the different colors; if you could push past all of the vile crap that exists where Thomas Aquinas once theorized there was a soul, you would find a colony of paramecia at the end of their short lives laughing hysterically at how much smarter they were than the host they lived in.
This man was in charge of hiring the Manager of Software Development. The manager I report to. After seven months of ignoring this chore; after interviewing the sum total of four candidates; after making a point to tell myself and a colleague that there was no one qualified to fill this position within our company (an opinion that is both untrue and, when spoken, runs afoul of internal hiring policies) this man hired a soulless cretin with no experience in software development or with running a software development group. A man who regularly confuses web servers and SQL servers. A man who asked me how my previous manager reviewed my work, was told by me that said previous manager read my code, and then replied in his capacity as the manager of software development that "looking at code is a compete waste of time for a manager." A man so without any humanity or reason for being that he will sit silently, creepily, in conference rooms with the lights off waiting for meetings to begin. Meetings he has scheduled. That have no reason for being in the first place. Just like himself.
Shortly before the man in charge offered the Dev Manager job to the simulacrum of human flesh that is my manager, he met with me and others who had been involved in the interview process. When I informed him that hiring someone with no technical knowledge for a very technical position would be a mistake that he would suffer through for years, he replied in reference to his future hire that "his managerial experience makes up for his lack of technical knowledge."
Best. Prank. Ever. Worst prank ever too. Fuck.6 -
Ok story of my most most recent job search (not sure devRant could handle the load if I was to go through them all)
First a little backstory on why I needed to search for a new job:
Joined a small startup in the blockchain space. They were funded through grants from a non-profit setup by the folks who invented the blockchain and raised funds (they gave those funds out to companies willing to build the various pieces of the network and tools).
We were one of a handful of companies working on the early stages of the network. We built numerous "first"s on the network and spent the majority of our time finding bugs and issues and asking others to fix them so it would become possible, for us to do what we signed up for. We ended up having to build multiple server side applications as middleware to plug massive gaps. All going great, had a lot of success, were told face to face by the foundation not to worry about securing more funds at least for the near term as we were "critical to the success of the network".
1 month later a bug was discovered in our major product, was nasty and we had to take it offline. Nobody lost any funds.
1-2 months later again, the inventor of the blockchain (His majesty, Lord dickhead of cuntinstein) decided to join the foundation as he wasn't happy with the orgs progress and where the network now stood. Immediately says "see that small startup over there ... yeah I hate them. Blackball them from getting anymore money. Use them as an example to others that we are not afraid to cut funds if you fuck up"
Our CEO was informed. He asked for meetings with numerous people, including His royal highness, lord cockbag of never-wrong. The others told our CEO that they didn't agree with the decision, but their hands were tied and they were deeply sorry. Our CEO's pleas with The ghost of Christmas cuntyness, just fell on deaf ears.
CEO broke the news to us, he had 3 weeks of funds left to pay salaries. He'd pay us to keep things going and do whatever we could to reduce server costs, so we could leave everything up long enough for our users to migrate elsewhere. We reduced costs a lot by turning off non essential features, he gave us our last pay check and some great referrals. That was that and we very emotionally closed up shop.
When news got out, we then had to defend ourselves publicly, because the loch ness moron, decided to twist things in his favour. So yeah, AMAZING experience!
So an unemployed and broken man, I did the unthinkable ... I set my linkedin to "open to work". Fuck me every moronic recruiter in a 10,000 mile radius came after me. Didn't matter if I was qualified, didn't matter if I had no experience in that language or type of system, didn't matter if my bio explicitly said "I don't work with X, Y or Z" ... that only made them want me more.
I think I got somewhere around 20 - 30 messages per week, 1 - 2 being actually relevant to what I do. Applied to dozens of jobs myself, only contacted back by 1, who badly fucked up the job description and I wasn't a fit at all.
Got an email from company ABC, who worked on the same blockchain we got kicked off of. They were looking for people with my skills and the skills of one other dev in the preious company. They heard what happened and our CEO gave us a glowing recommendation. They largely offered us the job, but both of us said that we weren't interested in working anywhere near, that kick needing prick, again. We wanted to go elsewhere.
Went back to searching, finding nothing. The other dev got a contract job elsewhere. The guy from ABC message me again to say look, we understand your issues, you got fucked around. We can do out best to promise you'll never have to speak to, the abominable jizz stain, again. We'll also offer you a much bigger role, and a decent salary bump on top of that.
Told them i'd think about it. We ended up having a few more calls where they showed me designs of all the things they wanted to do, and plans on how they would raise money if the same thing was to ever happen to them. Eventually I gave in and signed up.
So far it was absolutely the right call. Haven't had to speak to the scrotum at all. The company is run entirely by engineers. Theres no 14 meetings per week to discuss "where we are" which just involves reading our planning tool tickets, out loud. I'm currently being left alone 99% of the week to get work done. and i'm largely in-charge of everything mobile. It was a fucking hellhole of a trip, but I came out the other side better off
I'm sure there is a thought provoking, meaningful quote I could be writing now about how "things always work out" or that crap. But remembering it all just leaves me with the desire to find him and shove a cactus where the sun don't shine
.... happy job hunting everyone!10 -
I very very rarely drink, but when I do I party hard.
I negotiated an entire piece of complex web architecture (really huge, works at 50k transactions per second), with my boss who's a lead architect, from a bar (he thought I was home), while moderately drunk.
It got me a lotta praise and till date it's one of the best pieces of software I've ever written. It saved the company 500+ hours or something #humblebrag.
To this day I have no recollection of what I said (huge hangover after) or how I managed to come up with that shit. I don't think I'd have been able to do it sober. The sheer size of the problem would've made me go "yea it works, I'm not touching that. Nope."
DAE notice any increase in pattern recognition in their code while drunk?1 -
Root encounters HR at her new job.
So, I left my job a few weeks ago. I was pretty sad about it, so I didn't want to write anything about it. It was a great place to work, with great managers, decent coworkers, and interesting work. I also had free reign over how I built things, what to improve, etc. Within about four months, I authored over half of the total commits on their backend repo, added a testing suite with 90% coverage, significantly improved the security (more accurately: added security), etc. but I got a job offer that allowed me to work remotely, and make well over six figures (usd). I couldn't turn it down, even though I wanted to. So, I left. I'm still genuinely sad about that. I had emotions and everything. 🙁 I stayed on long enough to finish the last of the features for their new product launch, and make sure everything was stable. I'm welcome back whenever, though they don't want to have remote employees, and I want to move, so. that's probably not going to happen. sigh.
Anyway, I started my new job this week. Rented an office (read: professional closet) and everything! It's been veritable mountains of HR paperwork so far. That's all I've done besides some accounts setup. I've seriously only worked on and completed one ticket so far in two and a half days, and I still have six documents/contracts to sign! (and benefits; that'll probably take my weekend.)
But getting an I9 thing notarized? Apparently I only have three days before I'm legally unemployable by them or something, idk. HR made it sound ridiculously dire and important, and reminded me like five or more times. I figured it was just some notary service; that takes like 10 minutes, right? So I put it off until my second day so I didn't have to disappear in the middle of my first day. Anyway, I called a bunch of notary services on day 2, and apparently only like 5% of them both do notary services this time of year and aren't booked full. And of those, probably another 5% will notarize I9 documents.. No idea why it's rare, but whatever, I'm not a notary.
The HR lady assured me that I didn't need any special documents; I should just go there, present my IDs, and the notary will provide or draft documents for everything else. Totally doesn't sound right, but fine; I'm not a notary nor will I ever work in HR, so I'm not very knowledgeable about this. So, against my better judgement I decided to just go anyway. I called around and finally found a place that wasn't closed, busy, or refusing, and drove over there. Waited. Waited. Waited. Notary lady was super slow in every single action. (I should mention that it's now 10am, and I have a meeting with the Senior VP of Engineering [a stern, stubborn old goat who enjoys making people feel inadequate] at 12:30pm.) The notary lady looks like she's an npc updating in slow motion (maybe at 0.25x speed?) and can't seem to understand what I need. Eventually, she tells me exactly what I had assumed: if there's no document, she can't notarize said document, and she doesn't have an I9 for the company I'm trying to work for. (like, duh.) So I thank her for proving the flow of time is variable, which she ignores in slow motion, and drive back home. It's now about 11.
I message the same HR lady, and the useless wench gawks in surprise and says she's never heard of that ridiculous request before. It took prodding to get her to respond every time, but after some (very slow) back and forth, she says she wants to call the notary personally and ask what they need. I waited around for another response that never came, and eventually just drove to the notary place again to have them notarize the required ID documents. That plus my chat history with HR should be enough to show that I bloody well tried, and HR just shit the bed instead. I finally got them notarized at like 12:10, and totally broke the speed limit the entire way to the office, found the last remaining parking spot, and made it to my office just in time for the meeting. seriously, less than two minutes to spare. Meeting was interesting (mostly about security), but totally made me facepalm, shout "Seriously!? What the hell are you thinking!?" and make slapping motions at some of the people talking. I will probably rant about that next.
But anyway, I'm willing to bet that the useless wench won't get back to me before the notary closes, if at all, and will somehow try to blame it completely on me if I bring it up again. Passive aggressive bitch. She's probably thinking: "If I don't help her with these mandatory legal processes, it'll be her fault she didn't get them done in time. I mean, they're so easy! She's just doing it wrong." I fucking hate HR.13 -
Here's a true story about a "fight" between me and my project manager...
I've been working as a Frontend developer for nearly two years, managed to acquire a decent amount of knowledge, in some cases well above the rest of my coworkers, and one day I got into a bit of a disagreement with my project manager.
Basically he wanted me to copy/paste some feature from another project (needless to say, that... "thing" has more bugs than an ant farm), and against his orders I started doing that feature from scratch, to build a solid foundation from the very start.
I had a lengthy deadline to deliver that feature, they were expecting me to take some time to fix some of the bugs as well, but my idea was to make it bug-free from the moment the feature was released. Both my method and the one I should be copying worked the exact same, but mine was superior in every way, had no bugs, was scalable and upgradeable with little effort, there was no reason not to accept it.
We use scrum as our work methodology, so we have daily meetings. In one of those, the project manager asked me how was the progress on that new feature, and I told him I was just polishing up the code and integrating it with the rest of the project, to make sure everything was working properly. I still had a full day left before the deadline set for that feature, and I was expecting to take about half an hour to finish up a couple lines of code and test everything, no issues so far...
But then he exploded, and demanded to know why wasn't I copying the code from the other project, to which I answered "because this way things will work better".
Right after he said that the feature was working on the other project, copying and pasting it should take a few minutes to do and maybe a couple of extra hours to fix any issues that might have appeared...
The problem here is, the other project was made by trainees, I honestly can't navigate through 3 pages without bumping into an average of 2 errors per page, I was placed into this new project because they know I do quality code, and they wanted this project to be properly made, unlike the previous one, so I was baffled when he said that he preferred me to copy code instead of doing "good" code...
My next reply was "just because something has been made and is working that doesn't mean that it has been properly made nor will work as it should, I could save a few hours copying code (except I wouldn't save any, it would take me more time to adapt the code than to do it from scratch) but then I'll be wasting weeks of work because of new bugs that will be reported over time, because trust me, they will appear... "
I told him this in a very calm manner, but everybody in the meeting room paused and started staring at me, not many dare challenge that specific project manager, and I had just done that...
After a few seconds of silence the PM finally said... "look, if you manage to finish your task inside the set deadline I'll forget we ever had this conversation, but I'll leave a note on my book, just in case..."
I finished that task in about 30 mins, as expected, still had 7 hours till deadline, and I completely forgot about that feature until now because it has never given any issues whatsoever, and is now being used for other projects as well.
It was one of my proudest/rage inducing moments in this project, and honestly, I think I have hit my PM with a very big white glove because some weeks after this event the CEO himself came to the whole team to congratulate us on the outstanding work being made so far, in a project that acted against the PM's orders 90% of the time.11 -
Wow... this is the perfect week for this topic.
Thursday, is the most fucked off I’ve ever been at work.
I’ll preface this story by saying that I won’t name names in the public domain to avoid anyone having something to use against me in court. But, I’m all for the freedom of information so please DM if you want to know who I’m talking about.
Yesterday I handed in my resignation, to the company that looked after me for my first 5 years out of university.
Thursday was my breaking point but to understand why I resigned you need a little back story.
I’m a developer for a corporate in a team of 10 or so.
The company that I work for is systemically incompetent and have shown me this without fail over the last 6 months.
For the last year we’ve had a brilliant contracted, AWS Certified developer who writes clean as hell hybrid mobile apps in Ion3, node, couch and a tonne of other up to the minute technologies. Shout out to Morpheus you legend, I know you’re here.
At its core my job as a developer is to develop and get a product into the end users hands.
Morpheus was taking some shit, and coming back to his desk angry as fuck over the last few months... as one of the more experienced devs and someone who gives a fuck I asked him what was up.
He told me, company want their mobile app that he’s developed on internal infrastructure... and that that wasn’t going to work.
Que a week of me validating his opinion, looking through his work and bringing myself up to speed.
I came to the conclusion that he’d done exactly what he was asked to, brilliant Work, clean code, great consideration to performance and UX in his design. He did really well. Crucially, the infrastructure proposed was self-contradicting, it wouldn’t work and if they tried to fudge it in it would barely fucking run.
So I told everyone I had the same opinion as him.
4 months of fucking arguing with internal PMs, managers and the project team go by... me and morpheus are told we’re not on the project.
The breaking point for me came last Wednesday, given no knowledge of the tech, some project fannies said Morpheus should be removed and his contract terminated.
I was up in fucking arms. He’d done everything really well, to see a fellow developer take shit for doing his job better than anyone else in [company] could was soul destroying.
That was the straw on the camels back. We don’t come to work to take shit for doing a good job. We don’t allow our superiors to give people shit in our team when they’re doing nothing but a good job. And you know what: the opinion of the person that knows what they’re talking about is worth 10 times that of the fools who don’t.
My manager told me to hold off, the person supposed to be supporting us told me to stand down. I told him I was going to get the app to the business lead because he fucking loves it and can tell us if there’s anything to change whilst architecture sorts out their outdated fucking ideas.
Stand down James. Do nothing. Don’t do your job. Don’t back Morpheus with his skills and abilities well beyond any of ours. Do nothing.
That was the deciding point for me, I said if Morpheus goes... I go... but then they continued their nonsense, so I’m going anyway.
I made the decision Thursday, and Friday had recruiters chomping at the bit to put the proper “senior” back in my title, and pay me what I’m worth.
The other issues that caused me to see this company in it’s true form:
- I raised a key security issue, documented it, and passed it over to the security team.
- they understood, and told the business users “we cannot use ArcGIS’ mobile apps, they don’t even pretend to be secure”
- the business users are still using the apps going into the GDPR because they don’t understand the ramifications of the decisions they’re making.
I noticed recently that [company] is completely unable to finish a project to time or budget... and that it’s always the developers put to blame.
I also noticed that middle management is in a constant state of flux with reorganisations because in truth the upper managers know they need to sack them.
For me though, it was that developers in [company], the people that know what they’re talking about; are never listened to.
Fuck being resigned to doing a shit job.
Fuck this company. On to one that can do it right.
Morpheus you beautiful bastard I know you’ll be off soon too but I also feel I’ve made a friend for life. “Private cloud” my arse.
Since making the decision Thursday I feel a lot more free, I have open job offers at places that do this well. I have a position of power in the company to demand what I need and get it. And I have the CEO and CTO’s ears perking up because their department is absolutely shocking.
Freedom is a wonderful feeling.12 -
!!privacy
!!political
I had a discussion with a coworker earlier.
I owed him for lunch the other day, and he suggested I pay him back either with cash (which I didn't have), Venmo, or just by him lunch the next time (which I ended up doing).
I asked about Venmo, and he said it was like paypal, but always free. that sounded a bit off -- because how are they in business if it's always free? -- so I looked it up, and paid special attention to their privacy policy.
The short of it: they make money by selling your information. That's worth far more than charging users a small fee when sending $5 every few weeks. Sort of what I expected when I heard "always free," but what surprised me is just how much they collect. (In retrospect, I really shouldn't have been surprised at all...)
Here's an incomplete list:
* full name, physical address, email, DoB, SSN (or other government IDs, depending on country)
* Complete contact list (phone numbers, names, photos)
* Browser/device fingerprint
* (optional) Your entire Facebook feed and history
* (optional) all of your Facebook friends' contact info
* Your Twitter feed
* Your FourSquare activity
(The above four ostensibly for "fraud prevention")
* GPS data
* Usage info about the actual service
* Other users' usage info (e.g. mentioning you)
* Financial info (the only thing not shared with third parties)
Like, scary?
And, of course, they share all of this with their parent company, PayPal. (The privacy policy does not specify what PayPal does with it, nor does it provide any links that might describe it, e.g. PayPal's "info-shared-by-third-parties" privacy policy)
So I won't be using Venmo. ever.
I mentioned all of this to my coworker, and he just doesn't understand. at all. He even asks "So what are they going do with that, send me ads? like they already do?"
I told him why I think it's scary. Everything from them freely selling all of your info, to someone being able to look through your entire online life's history, to being able to masquerade around as you, to even reproducing your voice (e.g. voice clips collected by google assistant), to grouping people by political affiliations.
He didn't have much to say about any of them, and actually thought the voice thing was really cool. (All I could think of was would happen if the "news" had that ability....) All of his other responses were "that doesn't bother me at all" and/or "using all of these services is so convenient."
but what really got me was his reaction to the last one.
I said, "If you're part of the NRA, for example, you'd be grouped with Republicans. If they sell all of this information, which they do, and they don't really care who buys it or what they do with it... someone could look through the data and very very easily target those political groups."
His response? "I don't have to worry about that. I'm a Democrat, and have always voted Democrat. I'll tell anyone that."
Like.
That's basically saying every non-democrat is someone you should be wary of and keep an eye on. That's saying Democrats are the norm and everyone else is deviant and/or wrong.
and I couldn't say anything after this because... no matter what I said, it would start a political conflict, and would likely end with me being fired (since the owner is also a democrat, and they're very buddy-buddy). "What if they target democrats?" -> "They already do!" or "What if democrats use it against others?" -> "They deserve it for being violent and racist, but we never would" (except, you know, that IRS/tea-party incident for example...)
But like, this is coming from someone who firmly believes conservatives are responsible for all of the violence and looting and rioting and mass shootings in the country. ... even when every single instance has been by committed by democrats. every. single. one.
Just...
jfl;askjfasflkj.
He doesn't understand the need for privacy, and his world view is just... he actually thinks everyone with different beliefs is wrong and dangerous.
I don't even know how to deal with people like this. and with how prevalent this mindset is... coupled with the aforementioned privacy concerns... it's honestly *terrifying.*65 -
Every step of this project has added another six hurdles. I thought it would be easy, and estimated it at two days to give myself a day off. But instead it's ridiculous. I'm also feeling burned out, depressed (work stress, etc.), and exhausted since I'm taking care of a 3 week old. It has not been fun. :<
I've been trying to get the Google Sheets API working (in Ruby). It's for a shared sales/tracking spreadsheet between two companies.
The documentation for it is almost entirely for Python and Java. The Ruby "quickstart" sample code works, but it's only for 3-legged auth (meaning user auth), but I need it for 2-legged auth (server auth with non-expiring credentials). Took awhile to figure out that variant even existed.
After a bit of digging, I discovered I needed to create a service account. This isn't the most straightforward thing, and setting it up honestly reminds me of setting up AWS, just with less risk of suddenly and surprisingly becoming a broke hobo by selecting confusing option #27 instead of #88.
I set up a new google project, tied it to my company's account (I think?), and then set up a service account for it, with probably the right permissions.
After downloading its creds, figuring out how to actually use them took another few hours. Did I mention there's no Ruby documentation for this? There's plenty of Python and Java example code, but since they use very different implementations, it's almost pointless to read them. At best they give me a vague idea of what my next step might be.
I ended up reading through the code of google's auth gem instead because I couldn't find anything useful online. Maybe it's actually there and the past several days have been one of those weeks where nothing ever works? idk :/
But anyway. I read through their code, and while it's actually not awful, it has some odd organization and a few very peculiar param names. Figuring out what data to pass, and how said data gets used requires some file-hopping. e.g. `json_data_io` wants a file handle, not the data itself. This is going to cause me headaches later since the data will be in the database, not the filesystem. I guess I can write a monkeypatch? or fork their gem? :/
But I digress. I finally manged to set everything up, fix the bugs with my code, and I'm ready to see what `service.create_spreadsheet()` returns. (now that it has positively valid and correctly-implemented authentication! Finally! Woo!)
I open the console... set up the auth... and give it a try.
... six seconds pass ...
... another two seconds pass ...
... annnd I get a lovely "unauthorized" response.
asjdlkagjdsk.
> Pic related.
rant it was not simple. but i'm already flustered damnit it's probably the permissions documentation what documentation "it'll be simple" he said google sheets google "totally simple!" she agreed it's been days. days!19 -
Minimum wage employers and restaurants asking "and why should we hire you?".
You have 40 vacancies in your area for just your company alone.
You're paying $13.25 an hour when only a year ago you were paying $9.75.
Why should we hire you?
F*ck you, pay me, that's why.
You're not f*cking NASA
You're a God damn chain restaurant with a 40% turnover rate, who's employees probably shoot up in the bathroom on the rare occasion they even get a break.
I looked at the guy with all the annoyance I could muster, stared him down for a good five seconds and said. "You pay a few dollars over minimum. You're job is not important enough to even ask that question. Have a nice day." And got up and left.
Dude followed me and stuttered " hold up. I was just..."
But I was already out the door.
You were just what mark? Asking a dumbfuck question as if you had any leverage at all?
Your competitor *across the street* is offering 50 cents *more* per hour, and has guaranteed breaks.
What, did you forget 2008 and how you treated millions of people as disposable? The little part where you and most american industries demanded passion, without pay raises? Promotions without benefits? The jobs that if you worked hard, rather than a promotion or a pay raise, your reward was more work and less hours to finish?
You assholes thought we forgot about that? How you shipped millions of jobs overseas, blamed it on "automation" (chinese and indian slave labor), and then pointed the finger at millions of impoverished people as "lazy" in places like Detroit and Pittsburgh and told them "you just got to work harder and smarter!" Or "just get a small loan and create the next google!" from the comfort of your yachts? I'm looking at you bane corp.
No, now the shoes on the other foot motherf*ckers. Hows it feel needing all *us* commoners? "Why should we hire you?"
No, why should *I* WORK FOR YOU?
Cuz I saw THREE dirty tables coming in. A line of people that could be being served. A line that could have been optimized with the proper table count and some simple changes. A menu that doesnt even incentivize your biggest sellers and a dozen other things your store is doing wrong.
Think mark, think!
This is one of those braindead questions employers paying sub $18 an hour ask, because they suffered so much brain drain from years of payola profits from too-big-to-fail wallstreet bailouts, that they forgot they are not king midas, unless they are the king midas of shit, because increasingly everything corporate America touches turns into shit.
And while were on the subject, stopping bringing in outside management to stores. It destroys team cohesion, staff morale, pisses off people *on site* who *actually know* the team, the stores daily activities and processes, and who are better fit for that role. You bring in disinterested outside management, and it's one of the biggest red flags I've ever seen: these smarmy selfcongratulating f*cks who know nothing about the particular store, have no connection to the staff, go on firing sprees or alienation-sprees to hire in friends, fuck up the schedules because again they know nothing about the employees, and then move on after a few years to greener pastures, leaving a barren radioactive wasteland of chain smokers and burnt out staff in their wake.
Dear corporate America, your free ride on the public's good will is over. It's over.
Now you're in the bitch seat. Come sit at my desk and explain to me, EXPLAIN TO ME, why I should sweat and labor to save your shitty company hemorrhaging money like a bleeding crack-addicted hobo dying with a sucking chest wound from a chicago skidrow friday-night drive-by?
You dont deserve it. Your management and company culture is worse than incompetent. It's full of smiley guys expounding about their passion for customer service while giving each other sloppy BJs in broom closets, a veritable cornucopia of cult-like corporate dick suckers *and* dickheads, proclaiming, no...PROFESSING (hence "professional") their undying allegiance and dedication to their corporate family with the intensity of cujo, foaming at the mouth, or Mitt Romney preparing for a photoshoot, plastic smiles and feigned laughs.
Dont forget to wipe your chin, asshole. It's not Ronald McDonald your blowing, but it's definitely not Gordon f*cking Ramsey either.
Would you like fries with that?86 -
Story time. My first story ever on devRant.
To my ex-company that I bear for a long time... I joined my ex-company 3 years ago. My ex-company assigned me and one girl teammate to start working on a brand new big web project (big one - two members - really?)
My teammate quitted later, I have to work alone after then. I asked if someone can join this project, but manager said other people are busy. Yea, they are fucking busy reading MANGA shit everyday... Oops, I saw it because whenever I about to leave my damn chair, they begin chanting some hotkey magic and begin doing "poker face" like "I'm doing some serious shit right here".. FUCK MY CO-WORKERS!
My manager didn't know shit about software development, and keep barking about Agile, Waterfall and AI shit... He didn't even fucking know what this project should look like, he keep searching the internet for similar functions and gave me screenshots, or sometimes they even hold a meeting of a bunch of random non-related guys who even not working on the project, to discuss about requirements, which last for endless hours... FUCK MY MANAGER!
I was the one in charge for everything. I design the architecture, database, then I fucking implement my own designed architect myself, and I fucking test functions that I fucking implemented myself based on my fucking design. I was so tried, I don't know what the fuck I am working on. Requirement changes everyday. My beautiful architecture began to falling off. I was so tired and began use hack fixes here and there many places in the project. I knew it's bad, but I just don't have time to carefully reconsider it. My test case began becoming useless as requirements changed. My manager's boss push him to finish this project. He began to test, he start complaining about bug here and there, blaming me about why functions are broken, and why it not work as he expected (which he didn't even tell my how he expected). ... I'm not junior developer, but this one-man project is so overwhelmed for me... FUCK MY JOB!
At this time, I have already work this project for almost 2.5 years. I felt very upset. I also feel disappointed about myself, although I know that is not all my entire faults. The feeling that you was given a job, but you can not get it done, I feel like a fucking LOSER. I really wanted to quit and run away from this shithole. But on the other hand I also want to finish this project before I quit. My mind mixed. I'm a hard-worker. I keep pushing myself, but the workplace is so toxic, I can feel it eating up my motivation everyday. I start questioning myself: "Is the job I am doing important?", "If this is really important project, didn't they should assign more members?", I feel so lonely at work... MY MIND IS FUCKED UP!
Finally, after a couple months of stress. I made up my mind that no way this project is gonna end within my lifespan. I decide to quit. Although my contract pointed that I only need to tell one month in advance. I gave my manager 3 months to find new members for project. I did handle over what I know, documents, and my fucked up ultra complexity source code with many small sub-systems which I did all by myself.
Well, I am with a new employer right now. They are good company. At least, my new manager do know how to manage things. My co-workers are energy and hard-working. I am put to fight on the frontline as usual (because of my "Senior position"). But I can feel my team, they got my back. My loneliness is now gone. Job is still hard, but I know for sure that I'm doing things on purpose, I am doing something useful. And to me that is the greatest rewards and keep me motivative! From now, will be the beginning for first page of my new story...
Thanks for reading ...13 -
Tl;dr: owning and pranking other people with a wireless mouse is hacking and illegal.
Okay, so I wanted to fuck around with some people one day so I decide to bring a usb wireless mouse to my secondary school.
My first target was my science teacher (was a bitch). I got into class before everyone else and plugged in the small usb receiver then sat down and pretended as if nothing had happened. The lesson starts and here is where the fun begins. Her screen is projected onto a whiteboard so I could see what she was doing. Under the table I had my mouse and every time she tried clicking a dialogue, I would move the mouse ever so slightly so she would miss. After a couple of times, she started to get suspicious, maybe even slightly paranoid; my friend keked. I never got found out by that teacher.
Fast forward to next lesson: I already planted the receiver in my next victims pc. The victim was a bitch I hated so much at the time. She would used to bully me to an extent and was a loud noisy bitch. I really didn't like the person. I digress. When the time was right, I went to her folder, highlighted all her files, right click, hover over delete. But I wasn't so shallow to delete her stuff. That's not the person I am. I guess it was more of a threat really. But the teacher saw what was going on and she saw my wireless mouse and connected 2 and 2 together. She called the behaviour people, removed the reciever and the mouse from me.
Within a few minutes, I was in a room on my own talking to this woman talking about how hacking is bad/illegal and she knows I'm into it etc. But I wasn't hacking? I did no damage and was pulling a prank. Bitch didn't listen to me. She made me sign this document which said that if I fuck around with computers, I could be expelled and I won't be allowed to use to computers again or use them with many restrictions.
I didn't really care. To this day, I still don't have my mouse back. :(7 -
I had to open the desktop app to write this because I could never write a rant this long on the app.
This will be a well-informed rebuttal to the "arrays start at 1 in Lua" complaint. If you have ever said or thought that, I guarantee you will learn a lot from this rant and probably enjoy it quite a bit as well.
Just a tiny bit of background information on me: I have a very intimate understanding of Lua and its c API. I have used this language for years and love it dearly.
[START RANT]
"arrays start at 1 in Lua" is factually incorrect because Lua does not have arrays. From their documentation, section 11.1 ("Arrays"), "We implement arrays in Lua simply by indexing tables with integers."
From chapter 2 of the Lua docs, we know there are only 8 types of data in Lua: nil, boolean, number, string, userdata, function, thread, and table
The only unfamiliar thing here might be userdata. "A userdatum offers a raw memory area with no predefined operations in Lua" (section 26.1). Essentially, it's for the API to interact with Lua scripts. The point is, this isn't a fancy term for array.
The misinformation comes from the table type. Let's first explore, at a low level, what an array is. An array, in programming, is a collection of data items all in a line in memory (The OS may not actually put them in a line, but they act as if they are). In most syntaxes, you access an array element similar to:
array[index]
Let's look at c, so we have some solid reference. "array" would be the name of the array, but what it really does is keep track of the starting location in memory of the array. Memory in computers acts like a number. In a very basic sense, the first sector of your RAM is memory location (referred to as an address) 0. "array" would be, for example, address 543745. This is where your data starts. Arrays can only be made up of one type, this is so that each element in that array is EXACTLY the same size. So, this is how indexing an array works. If you know where your array starts, and you know how large each element is, you can find the 6th element by starting at the start of they array and adding 6 times the size of the data in that array.
Tables are incredibly different. The elements of a table are NOT in a line in memory; they're all over the place depending on when you created them (and a lot of other things). Therefore, an array-style index is useless, because you cannot apply the above formula. In the case of a table, you need to perform a lookup: search through all of the elements in the table to find the right one. In Lua, you can do:
a = {1, 5, 9};
a["hello_world"] = "whatever";
a is a table with the length of 4 (the 4th element is "hello_world" with value "whatever"), but a[4] is nil because even though there are 4 items in the table, it looks for something "named" 4, not the 4th element of the table.
This is the difference between indexing and lookups. But you may say,
"Algo! If I do this:
a = {"first", "second", "third"};
print(a[1]);
...then "first" appears in my console!"
Yes, that's correct, in terms of computer science. Lua, because it is a nice language, makes keys in tables optional by automatically giving them an integer value key. This starts at 1. Why? Lets look at that formula for arrays again:
Given array "arr", size of data type "sz", and index "i", find the desired element ("el"):
el = arr + (sz * i)
This NEEDS to start at 0 and not 1 because otherwise, "sz" would always be added to the start address of the array and the first element would ALWAYS be skipped. But in tables, this is not the case, because tables do not have a defined data type size, and this formula is never used. This is why actual arrays are incredibly performant no matter the size, and the larger a table gets, the slower it is.
That felt good to get off my chest. Yes, Lua could start the auto-key at 0, but that might confuse people into thinking tables are arrays... well, I guess there's no avoiding that either way.13 -
The Absolutely True Story of a Real Programmer Who Never Learned C.
I have a young friend named Sam who is quite a programming prodigy. Sam does know C! I need to make this clear: he’s not the titular programmer.
But a couple years ago Sam told me a story about a different programmer who never learned C, and I liked it so much that right on the spot I asked his permission to repeat it. (I could never just steal such a tale.)
Sam wasn’t always a programmer—actually he started in his later teens, in part because he was more of a jock, and in part because he was related to programmers and wanted to do his own thing. But, like all great programmers, once he was bitten by the bug he immersed himself completely in it.
One day Sam happened to be talking programming with his uncle, who was also a programmer but from way, way back.
“Hey,” said Sam, “I’m learning this language called C. You must know a lot of languages, did you ever study C?”
“No,” said the uncle, to Sam’s surprise. “I am one of the very few programmers who never had to learn C.”
“Because I wrote it.”
Oh, Sam’s last name is Ritchie.
What I love about this story is the idea of Dennis waiting Sam’s entire life to deliver this zinger. Just imagine sitting on a line that good, watching your nephew grow up and waiting, waiting until the one day he finally starts learning to code. Did he work on the line in his head at night? Like, “Hmm, how should I word it so I can deliver the punch line perfectly? Should I say ‘I never took a class on C?’ Nah, too awkward…”
The great thing about geniuses is how much effort they put into everything.
Courtesy : Wil Shiply.5 -
This rant means YOU if you are one of those people that "fix" their family's computers.
I was visiting my family over the holidays and while I managed to stay away from fixing their computers for the most time, I offered to help my grandfather to update the Garmin navigation device he wanted to gift my father. (They do not use smartphones for navigation, and my father doesn't want "these modern shitty phones".)
When booting up my grandfather's laptop, I realized something odd: Linux Mint boot screen. Wut?
And immediately I said: "It could be impossible to update your navigation device on this laptop."
As true enough, the Garmin Express update software requires either a Windows PC or a Mac; and even though I vaguely hoped it might be possible to upgrade through Linux, I just could not be bothered to find out that day.
What I wondered though is why did my grandfather of all people ran Linux!?
Don't get me wrong, I use Linux myself on my work machine and I never want to work with something else when coding; yet my grandfather is an end user of the show-me-where-and-what-and-how-often-to-click-kind.
What could he gain by it?
As it turns out, the computer nerd's friend of my uncle managed his PC. And my uncle and he decided unanimously my grandfather should better run Linux. Is it something my grandfather needs? No. BUT IT'S RIGHT! Suck it up! (My father's laptop therefore also runs Linux Mint. So he can't upgrade his new device either.)
This is the ugly kind of entitled nerd-dom I truly detest.
When discussing things further, my grandfather told me that he had problems ever since with his printer. Under Windows, he knew how to print on the special photo paper. Under Linux, all he can barely manage is to print on normal papers. Shame, printing photos was the only thing he liked doing on that device. What did my uncle's friend tell him?
"Get a decent printer!"
Fuck that guy.
It's fine if Linux works for you, but before you install it on a PC of a relative, you better make sure it fits their needs! If you have that odd member that only wants to write letters, read emails, use facebook, and wants to play that browser game, feel free to introduce them to Linux.
Yet if they have any special wish, don't stand in their way.
If they want to do something that requires a certain OS, don't just decide for them that their desire is wrong, but help them achieve their goal. If you can't align that with your ideology, then get the fuck out of my way and stop "helping".
For some people, a computer is a device to achieve a certain goal, a work. They only get hindered by your ill-advised attempts at virtue signalling.8 -
A room full of mostly old male stressed out engineers sat in chairs, and the presenter said:
"So who watched Judging Amy last night?"
The presenter went on to express her surprise that nobody in the room had seen last night's episode of Judging Amy.... and wasn't going to drop the topic.
The meeting, if it ever had any, now had no chance of going anywhere good.
By the end of the meeting someone would walk out and "retire" shortly there after, and it certainly wasn't going to be the presenter....
Backstory:
The company built on the IBM model of sell pricey custom hardware (granted it worked really well) and sell expensive support contracts wasn't doing as well as it had hoped. Granted it was still doing better than most of its neighboring companies, but it was clear that with the .com bust the days of catered lunches every day were over.
The company had grown fat and everyone knew that while the company had a good enough product(s) to survive, there weren't enough lifeboats for everyone to survive.
In the midst of this an HR department that took up nearly 20% of the office space at HQ felt it needed to justify its existence / expenses.
They decided to do this in the same way they always had, by taking funding from other departments, this time not by simply demanding more direct budgets for themselves.... they decided to impose mandatory 'training' on other departments ... that they would then bill for this training.
When HR got wind that there were some stressed out engineers the solution was, as it always is for HR.... to do more HR stuff:
They decided to take these time starved engineers away from their jobs, and put them in a room with HR for 4 days. Meanwhile the engineer's tasks, deadlines and etc remained the same.
Support got roped into it too, and that's how I ended up there.
It would be difficult to describe the chasm between HR and everyone else at that company. This was an HR department that when they didn't have enough cubes (because of constant remodeling in the HR area under the guise of privacy) sat their extra HR employees next to engineering and were 'upset' that the engineers 'weren't very friendly and all they did was work'.
At one point a meeting to discuss this point of contention was called off for some made up reason or another by someone with a clue.
So there we all sat, our deadlines kept ticking away and this HR team (3 people) stood at the front of the room and were perplexed that none of these mostly older males in this room had seen last night's episode of Judging Amy.
From there the presentation was chaos, because almost the entire thing was based on your knowledge of what happened to poor stressed out Amy ... or something like that.
We were peppered with HR tales of being stressed out and taking a long lunch and feeling better, and this magical thing where the poor HR person went and had a good cry with her boss and her boss magically took more off her plate (a brutal story where the poor HR person was almost moved to tears again).
The lack of apparent sympathy (really nobody said much at all) and lack of seeming understanding from the crowd of engineers that all they should do is take a long lunch, or tell their boss to solve their problems ... seemed to bother the HR folks. They were on edge.
So then they finally asked "What are your stressers?" And they picked the worst possible person they could to ask, Ted.
Ted was old, he prickly, he was the only one who understood the worst ass hell of assembly that had been left behind.
Ted made a mistake, he was honest with folks who couldn't possibly understand what he was saying. "This mandatory class is stressing me out. I have work to do and less time because of this class."
The exchange that followed was kinda horrible and I recall sitting behind Ted trying to be as small as possible as to not be called on. Exactly what everyone said almost doesn't matter.
A pedantic debate between Ted and the HR staff about "mandatory" and "required" followed. I will just sum it up that they were both in the wrong for how they behaved for a good 20 minutes...
Ted walked out, and would later 'retire' that week.
Ted had a history and was no saint. I suspect an email campaign by various folks who recounted the events that day spared ted the 'fired' status and he walked with what eventually would become the severance package status quo.
HR never again held another 'training', most of them would all finally face the axe a few months later after the CEO finally decided that 'customer facing, and product producing' headcount had been reduced enough ... and it was other internal staff's time for that.
The result of the meeting was one less engineer, and everyone else had 4 days less of work done...4 -
Following on from: https://devrant.com/rants/1345037/...
I sent a polite but very frank email to the manager telling him I don't agree and think its extremely unfair to overlook the breath and scale of work we have done in the past few months. Instead to criticise us for this.
He didn't reply, or really speak to us for a week. Then suddenly one day the developers were all in a meeting room and he butted in to talk.
He first of all said he wanted to let things settle before talking to us, which gave me high hopes as I expected him to then say something like we miss understood, or he didn't realise etc.
... but no ... the next words out of his mouth were "I'm not apologising for anything, and I don't want to be told to piss off in an email".
A) Piss off = completely untrue and a massive exaggeration.
B) Go fuck yourself with a cactus.
C) See point B.
In that meeting we discussed the massive amount of meetings and work we have to do which was described as "just the job".
We were told we all have to be in until 5pm, but that we also don't. We need to be in the office more, but its fine if we can't be. And we need to cut down on WFH, but its ok to WFH ... so yeah everything is crystal clear.
I haven't written any code in 3 - 4 weeks. I'm now dealing with GDPR shit, and our internal processes to handle it (despite having no legal background). Have to fill out 140+ question surveys about each of our projects, which are the most vaguest things i've ever seen.
"Are you processing large scale data" - The fuck is large scale, oh wait heres a definition. "Large scale is determine by volume or percentage of population size" - How in the name of christ is that a definition? Fucking lawyers and their bullshit.
The next round of applications for research funding is coming around soon and were being told to work on proposals (which are huge and a lot of effort). While being told we need to define and improve on our KPI's for the year. While trying to find time to ... you know ... do ... work?
I'm just so fucking bored and pissed off with this place. I have to do the work of 6 people, nothing is ever good enough, devs have to do very non-dev tasks with little to no support. Bosses are just annoyed about everything, everyones in a bad mood and everything sucks.
A friend put me forward for another senior role in another company. Thought this would be my saving grace. They have a strict interview process with white-boarding (which I hate) and will likely ask about algorithms etc which I suck at. I'm so burnt out from this place I just can't find the motivation to go study up or prepare properly.
I just wanna write code, why is there so much bullshit in life11 -
The Indian state of Kerala uses Linux(Edubuntu) in all the schools. This incident happened back in 2010. I was not that proficient in Linux but I liked it for some reasons.
So one day, one of my IT teachers was handed the responsibility to edit a video. Being the School Student IT Convenor, he asked for my help. I'm no Video Editor but this thing was so easy that Openshot was enough.
While I was at it, he said: "Why does the govt. want us to use such unprofessional stuff? If it was Windows we could do everything very easily. Who is ever gonna use Linux in a professional environment? The govt. is spoiling the children by urging them to use Linux, Free Software and Open Source."
I couldn't argue that day. But today I so wish I could go back and roast him!4 -
Normally I just read rants but my new assignments is just to much and I have to vent a bit.
So I was assigned on a new company to help them with their automated tests (I'm normally a developer) which was fine for me. Especially when they said a guy that have 10+ years of experience have worked on the framework for a couple of weeks so it should be fine and ready. So I though it would be a quick deal.
But then I got there and... it's the worst C# code I have ever seen. I can live with the overuse of static, long method and classes and overally messy classes that doesn't really seems to fit (it's bad but not unusual in test code it seems). My biggest problem is overuse of the damn "dynamic" keyword.
Don't get me wrong, dynamic can be good and it have it's uses but here they use "dynamic args" in every single method, every one! They don't care if the method only require one value or ten values, they use dynamic args. Then you follow this "dynamic args" parameter going in to sub method after sub method and you have no idea what they use.
And of course they don't know if anyone use the methods correctly (as you have no damn clue what to use without checking the source code) so in 75% of the methods they convert the dynamic to an object and check if it contains "correct argument".
So what I have here is a code that isn't just hard to use, it's a hell to maintain.
So I talked with this with other testers on the team and they agree, but as most of them lack experience they couldn't talk back to the senior that wrote it. So I hope to sit down with him this week and talk this through because it would be fun to hear the arguments for this mess.
/rant10 -
I hate my job. I am furious at my colleagues.
Last November I asked my colleagues (A and B) to help me learn to use something, let's call it Tool. They said okay and set a date for training. Next week they said that they had too much work to do so we'll have to postpone. And the next date was also postponed and the next one too, and so on.
Three months in, colleague C kept dicking around and being a complete jackass telling me that he refused to work with me for I don't use the Tool.
Not like I didn't want to learn to use the Tool, I simply couldn't. I have long before googled how to use the Tool but in no way can Google ever tell me about our own company workflow, our methods, habits and such.
I was furious, but I am also a the most fucking patient person ever so I let it slide. The Tool wasn't actually needed that much to do my job anyways. And I have known for a while that colleague C needed to push someone under him to feel good about himself.
A few more dates had been set but got cancelled for reasons.
Meanwhile both A and B started to look down on me for not knowing how to use the Tool. I started to feel depressed.
Today B held a "workshop" about the Tool. It took two hours. He was not prepared, had a hangover and generally had a hard time concentrating.
He used aliases that he set up only for himself to show the usage of the Tool instead of commands that a beginner would understand (or google). He kept mumbling and I hsd trouble understanding him. His lecture lacked direction and was all over the place.
I am devastated and furious. I had been waiting since November for this training and when the time actually came he pulled something out of his ass and called it a workshop.
I didn't even get answers for my questions.
Now I feel that I am actually in a worse position than before because while I still cannot use the Tool, they can tell me that there was a workshop and I should've paid closer attention.
I want to quit so bad.23 -
One day Bill Gates died and met god. God said "Now then, Bill, i'll show you heaven and hell and you can choose which one you want to go to. Sound good?"
"Yeah!,"replies Gates. So god takes Gates to hell first. In hell he shows him pretty maidens, beautiful landscapes and an endless supply of pop tarts. "So you like it?"he asks him. "Yeah, it's great,"Gates replies.
So god takes him to heaven. In heaven he shows him quite pretty maidens, quite beautiful landscapes and a not quite endless supply of pop tarts. "So bill have you made your choice?" "Yes, God. i want to go to hell," "OK then." And Bill Gates is whisked away to hell.
But it is not the hell he saw before. Here there are no pretty maidens, no beautiful landscapes and no pop tarts. Instead there are all the most horrible things ever. "Aaaahhhh! Where am I!"asks Gates. "In hell,"replies god. "But it's not how it was before!"cries Gates. "Aahh. That was just the demo Bill."3 -
Roommate: "Hey, man, uh, I know you use computers a lot or something; do you know off the top of your head how to use the touch screen on my computer?"
Me: "Uh, your laptop doesn't have a touch screen."
Roommate: "Yeah, but I thought you might know how to use it as a touchscreen."
Me: "...Your laptop does not have a touch screen."
I swear, this is the dumbest man I have ever come into contact with.
That'd be fine if this was a one-off type of thing, but he seriously has approx. 209.8 brain cells in total.
Once, with no argumentative basis, he told me that, if Mickey Mouse got enough votes as a write-in candidate, he could win the Presidency of the United States. I showed him Article II of our Constitution, and he said "why does that even matter here?"
Three more months, school'll be done, and I never have to see him again.7 -
HoD in my college is a "22 year experienced C programmer" with a PhD in CS.
One day I went to him and told, it is very hard to work with TurboC, and it isn't needed as we can easily migrate to GCC.
He asked me why was I complaining. No other student has any problem. They have been using it ever since the college started and everyone was "comfortable" with it.
I stood silent. He then went on to say, even JVM was coded in TurboC. I nodded and left the office as i didn't have an argument.
He's the same guy who had earlier said, "printf returns an array of characters printed", so I guess everything works here.11 -
A female boss I worked for, pulled an employee retention tactic that still gives me the chills.
She paid dogshit salaries to all her employees. And yelled at them enough to keep them overworked and burnt out.
When one of them tried to resign, she said "fine you can leave us but I won't be giving you any salary slips, no experience/recommendation letter and neither acknowledge that you ever worked here.
You get to leave the company when I decide for you.
You have already stayed here so long that if you decide to disappear tomorrow it will leave a gap on your resume in your next interview."16 -
I have been gone a while. Sorry. Workplace no longer allows phones on the lab and I work exclusively in the lab. Anyway here is a thing that pissed me off:
Systems Engineer (SE) 1 : 😐 So we have this file from the customer.
Me: 😑 Neat.
SE1: 😐 It passes on our system.
Me: 😑 *see prior*
Inner Me (IM): 🙄 is it taught in systems engineer school to talk one sentence at a time? It sounds exhausting.
SE1: but when we test it on your system, it fails. And we share the same algorithms.
Me: 😮 neat.
IM: 😮neat, 😥 wait what the fuck?
Me: 😎 I will totally look into that . . .
IM: 😨 . . . Thing that is absolutely not supposed to happen.
*Le me tracking down the thing and fixing it. Total work time 30 hours*
Me: 😃 So I found the problem and fixed it. All that needs to happen is for review board to approve the issue ticket.
SE1: 😀 cool. What was the problem?
Me: 😌 simple. See, if the user kicked off a rerun of the algorithm, we took your inputs, processed them, and put them in the algorithm. However, we erroneously subtracted 1 twice, where you only subtract 1 once.
SE1: 🙂 makes sense to me, since an erroneous minus 1 only effects 0.0001% of cases.
*le into review board*
Me: 😐 . . . so in conclusion this only happens in 0.0001% of cases. It has never affected a field test and if this user had followed the user training this would never have been revealed.
SE2: 🤨 So you're saying this has been in the software for how long?
Me: 😐 6 years. Literally the lifespan of this product.
SE2: 🤨 How do you know it's not fielded?
Me: 😐 It is fielded.
SE2: 🤨 how do you know that this problem hasn't been seen in the field?
Me: 😐 it hasn't been seen in 6 years?
IM: 😡 see literally all of the goddamn words I have said this entire fucking meeting!!!
SE2: 😐 I would like to see an analysis of this to see if it is getting sent to the final files.
Me: 🙄 it is if they rerun the algorithm from our product. It's a total rerun, output included. It's just never been a problem til this one super edge case that should have been thrown out anyway.
SE2: 🤨 I would still like to have SE3 run an analysis.
Me: 🙄 k.
IM: 😡 FUUUUUUUUUCK YOOOOOU
*SE3 run analysis*
SE3: 😐 getting the same results that Me is seeing.
Me: 😒 see? I do my due diligence.
SE2: 😐 Can you run that analysis on this file again that is somehow different, plus these 5 unrelated files?
SE3: 😎 sure. What's your program's account so I can bill it?
IM: 😍 did you ever knooooow that your my heeeerooooooo.
*SE3 runs analysis*
SE3: 😐 only the case that was broken is breaking.
SE2: 😐 Good.
IM: 🤬🤬🤬🤐 . . . 🤯WHY!?!?
Me: 😠 Why?
SE2: 😑 Because it confirms my thoughts. Me, I am inviting you to this algorithm meeting we have.
Me/IM: 😑/😡 what . . . the fuck?
*in algorithm meeting*
Me: 😑 *recaps all of the above* we subtract 1 one too many times from a number that spans from 10000 to -10000.
Software people/my boss/SE1/SE3: 🤔 makes sense.
SE2:🤨 I have slides that have an analysis of what Me just said. They will only take an hour to get through.
Me: 😑 that's cool but you need to give me your program's account number, because this has been fixed in our baseline for a week and at this point you're the only program that still cares. Actually I need the account to charge for the last couple times you interrupted me for some bullshit.
*we are let go.*
And this is how I spent 40+ useless hours against a program that is currently overrunning for no reason 🤣🤣🤣
Moral: never involve math guys in arithmetic situations. And if you ever feel like you're wasting your time, at least waste someone else's money.10 -
Story time:
Yesterday I wanted to go to the theater with my girlfriend. It was her idea because as a student you can get reduced tickets for the play, but only via the online store exactely two hours before the play starts. We had already tried two weeks before but with no success. So this time I said i want to be on my pc with a proper browser and not a mobile version like last time. So we are sitting at home me in front of their website on one screen and with a clock on the other screen. Two minutes realy i hit refresh and I get a selection for the reduced tickets, nice.
You would think.
After selecting the amount. ERROR: Can not get your tickets. I was like fuck they are already sold out because it's a popular play. But hey let's try again. I got one ticket but not the second one, okay strange lets try again, same ERROR again. WHAT the FUCK, no feedback what so ever. My girlfriend had then the idea that they maybe restricted the amount for reduced tickets to one (does not state this explicitly but hey lets give it a shot). Use second browser select one ticket. ERROR can not get you the amount of seats. Rage level near to a 1000 why did it work two minutes before but not anymore. Trying around for five more minutes finally got the second ticket.
Now the real fun begins.
Proceeding to checkout should not be that hard you would think, but you need to be registered for that. Okay so let's do that. The salutation is not required neither is the address for the tickets but you need to have a company name??!!!!! The fuck?? I am not self employed and neither are a most other people around here so why is this field mandatory? Beeing a little under stress I decided to found the "asdf" company with my girlfriend.
Now one would think checking out is easy. Not so fast.
After accepting the terms of service another ERROR, unable to accept your data. What data? I did not input anything new? Where does this come from? Ok never mind I am going to pay with credid card that must work!
ERROR: Internal paymentservice initialization failure! Sorry what? I thought maybe I was to long idle in this browser and they do not reserve the tickets for so long (which would be no surprise to me at this point). Let's try again. Nope same error.
Now my rage level was really over 9000 but we really wanted to go so I decided to call the customer SUPPORT. Or better to say I had a answering maching telling me for ten minutes how sorry they are that this takes so long, yeah you bet. Then and this is now really great: the support guy asks me: "What error do you see? Internal paymentservice initialization failure?" I was like, okay he knows this so they need to know how to handle it. FUCK NO. "Sorry I can't help you. This is our payment system maybe they (IT) are doing some maintenance I can't halp you. Call the theater directly good day." Sorry what just happened, you fuckers are the vendors for the tickets for nearly all big events around here and the theater explicitly states to call you for tickets but you can not help me? Like hell.
This process took 25 very frustrating minutes and I was really angry and wanted to quit, then I saw that there is also a paypal option which I had not tried. With very little hope i selected everything for the payment, registered with paypal and they told me I already had an account. So reactivated this five year old account payed with all the mobile passwords and tans to finally, after 30 fucking minutes, get a pdf file for a ticket. Repeated the last step for the second ticket and with some time left to get there we were off.2 -
My colleges and I were talking about salaries in our company. Our team as about 10 members. Many of us are receiving interesting offers from other companies, and we concluded that we were being underpaid.
In this life, unless you ask to, no boss will raise you, even if you put some extra effort and work the shit out of you, to bring that profit, new client or something else good to the company.
Nobody was interested in talking directly about that to our manager. Just a side note, our manager is an awesome senior developer and a very nice guy. It shouldn't be too hard to talk about this issue to him.
I waited until our annual performance and salary revision to talk about it. Everyday our team talks about this. Everyone is going crazy.
So I went straight to the point, during this meeting with our manager, and said that we needed to be raised. All of us, because other companies were offering much better salaries.
He said to me: "Take this paper, write down what value should every one receive, including myself."
I took this opportunity and put down the values, raising about 600€ for each one.
I looked at it and said: "This looks ok. I'll will ask your colleagues to do the same task. Wait here."
So he went and requested everyone to do the same thing, without explaining why.
Guess what happened? Some mother fuckers actually cut on others salaries, instead of raising everyone equally.
Anyway the manager said he would show that to the CEO, and maybe something would happen.
We were all raised in the values I said so, because the CEO want us to be among the companies that pay the most.
After the backstabbing, no one ever talked about that. Except for 3 good fellow developers, that thanked me for my initiative.11 -
Man I really need to get this off my chest. So here goes.
I just finished 1 year in corporate after college. When I joined, the team I got was brilliant, more than what I thought I would get. About 6 months in, the project manager and lead dev left the company. Two replacements took their place, and life's been hell ever since.
The new PM decided it was his responsibility to be our spokesperson and started talking to our overseas manager (call her GM) on our behalf, even in the meetings where we were present, putting words in our mouth so that he's excellent and we get a bad rep.
1 month in, GM came to visit our location for a week. She was initially very friendly towards all of us. About halfway through the week, I realized that she had basically antagonized the entire old team members. Our responsibilities got redistributed and the work I was set to do was assigned to the new dev (call her NR).
Since then, I noticed GM started giving me the most difficult tasks and then criticizing my work extra hard, and the work NR was doing was praised no matter what. I didn't pay much attention to it at first, but lately the truth hit me hard. I found out a fault in NR's code and both PM and GM started saying that because I found it, it was my responsibility to fix it. I went through the buggy code for hours and fixed it. (NR didn't know how it worked, because she had it written by the lead dev and told everyone she wrote it).
I found out lately that NR and PM got the most hike, because they apparently "learnt" new tech (both of them got their work done by others and hogged the credit).They are the first in line to go onsite because they've been doing 'management work'. They'd complained to GM during her visit that we were not friendly towards them. And from that point on if anything went wrong, it would be my fault, because my component found it out (I should mention that my component mostly deals with the backend logic, so its pretty adept at finding code leaks).
What broke my patience is the fact that lately I worked my ass off to deliver some of the best code I'd written, but my GM said in front of the entire team that at this point "I'm just wasting money". She's been making a bad example out of me for some time, but this one took the cake. I had just delivered a promising result in a task in 1 week that couldn't be done by my PM in 4 weeks, and guess what? "It's not good enough". No thank you, no appreciation, nothing. Finally, I decided I'd had enough of it and started just doing tasks as I could. I'd do what they ask, but won't go above and beyond my way to make it perfect.
My PM realized this and then started pushing me harder. Two days back, I sent a mail to the team with GM in cc exposing a flaw in the code he had written, and no one bothered to reply (the issue was critical). When I asked him about it, he said "How can you expect me to reply so soon when it's already been told that when anything happens we should first resolve within the team and then add GM in the loop?" I realized it was indeed discussed, but the issue was extremely urgent, so I had asked everyone involved, and it portrayed him in a bad light. I could've fixed it, but I didn't because on the off chance if it broke something, they'd start telling me that I broke the tool, how its my fault and how its a critical issue I have to fix ASAP, etc. etc., you get the idea.
Can anyone give me some advice of how to deal with this kind of situation? I would have left but with this pandemic going on, market being scarce and the fact that I'm only experienced by 1 year, I don't think I qualify for a job switch just now.16
