Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "no smoke"
I work for a company that develops a variety of software solutions for companies of varying sizes. The company has three people in charge, and small teams that each worked on a certain project. 9 months ago I joined the company as a junior developer, and coincidentally, we also started working on our biggest project so far - an online platform for buying groceries from a variety of vendors/merchants and having them be delivered to your doorstep on the same day (hadn't been done to this scale in Estonia yet). One of the people from management joined the team working on that. The company that ordered this is coincidentally being run by one of the richest men in Estonia. The platform included both the actual website for customers to use, a logistics system for routing between the merchants, the warehouse, and the customers, as well as a bunch of mobile apps for the couriers, warehouse personnel, etc. It was built on Node.js with Hapi (for the backend stuff), Angular 2 (for all the UIs, including the apps which are run through a WebView wrapper), and PostgreSQL (for the database). The deadline for the MVP we (read: the management) gave them, but we finished it in about 7 months in a team of five.
The hours were insane, from 10 AM to 10 PM if lucky. When we weren't lucky (which was half of the time, if not more), we had to work until anywhere from 12 PM to 3 AM, sometimes even the whole night. The weekends weren't any better, for the majority of the time we had to put in even more extra hours on the weekends. Luckily, we were paid extra for them, but the salary was no way near fair (the majority of the team earned about 1000€/mo after taxes in a country where junior developers usually earn 1500€/month). Also because of the short deadline given to us, we skipped all the important parts like writing tests, doing CI, code reviews, feature branching/PR's, etc. I tried pushing the team and the management to at least write tests and make feature branches/PRs, but the management always told me that there wasn't enough time to coordinate and work on all that, that we'll do that after launching the MVP, etc. We basically just wrote features, tested them by hand, and pushed into the "test" branch which would later get tested and merged into master.
During development, one of the other juniors managed to write the worst kind of Angular code you could imagine - enormous amounts of duplication, no reusable components (every view contained the everything used in the view, so popups and other parts that should logically be reusable were in every view separately), fuck - even the HTML was broken (the most memorable for me were the "table > tr > div > td" ones, but that's barely scratching the surface). He left a few months into the project, and we had to build upon his shit, ever so slightly trying to fix the shit he produced. This could have definitely been avoided if we did code reviews.
A month after launching the MVP for internal testing, the guy working on the logistics system had burned out and left the company (he's earning more than twice the salary he got here, happy for him, he is a great coder and an even better team player). This could have been avoided if this project had been planned better, but I can't really blame them, since it was the first project they had at this scale (even though they had given longer deadlines for projects way smaller than this).
After we finished and launched the MVP, the second guy from management joined, because he saw we needed extra help. Again I tried to push us into investing the time to write tests for the system (because at this point we had created an unstable cluster fuck of a codebase), but again to no avail. The same "no time, just test it manually for now, we'll do that later when we have time" bullshit from management.
Now, a few weeks ago, the third guy from management joined. He saw what a disaster our whole project was. Him joining was simply a blessing from the skies. He started off by writing migrations using sequelize. I talked to him about writing tests and everything, and he actually listened. He told me that I'm gonna be the one writing them, and also talked to the rest of management about it. I was overjoyed. I could actually hear the bitterness in the voices of the rest of management when they told me how to write the tests, what to test, etc. But I didn't give a flying rat's ass, I was hapi.
I was told to start off by writing a smoke test for the whole client flow using Puppeteer. I got even happier, since I was finally able to again learn new things (this stopped at about 4 or 5 months into the project).
I'm using jest as the framework and started writing the tests in TypeScript. Later I found a library called jest-extended, but it didn't have type defs, so I decided to write them and, for the first time in my life, contribute to the open source community.20
I feel darn good today! I caught some A-holes cheating the system on Stack Overflow.
So basically a question was asked with no code examples present and not a single reference to any framework being used.
I'm commenting something like 'Show us your code so we can have a look'.
After 2 minutes, out of the blue, an answer appears. AND WOW! This guy had a Magical 8 Ball™!
He could predict the framework AND had a very specific fix. Just a one-liner! Go figure!
So I'm like thinking.. What the fuck just happened? Did I miss something? «Going over the question two more times»
All of the sudden, up-votes start popping up all over the place. The question was marked 3 times, the answer was marked an up-voted multiple times, and THEN it hit me (I'm kind of slow).
I checked both user profiles and instead of the usual 'air of mystery', these guys were actually dumb enough to include their company name.
AssertEquals == true.
So in the comment section, I raise my concerns on the legitimacy of the question as clearly this was 'telephoned' as we say it in Dutch, meaning as much as 'rehearsed' in this context.
But as if that was not enough, this another guy comes in and COPY/PASTED(!) the answer of guy #1. Again. Up-votes. EVERYWhere.
So I start going over some of the questions and answers of The Three Musketeers or TTM, as I'll refer them as of now.
TTM had posted over 15 questions combined, mostly crap and incomplete no-code questions. And they had answered most of their own questions.
Sometimes another guy's answer was accepted with zero up-votes as a smoke screen while the real winner was one of their own.
I marked ALL of these questions for moderation, left for lunch, and came back to see how far my blast radius reached.
Turns out, pretty damn far! Although their accounts have not been deleted, TTM have lost most of their reputation points.
They will remain on my watchlist for a couple of months. I know that is quite childish of me, but I just call it my 'guilty pleasure'! ;D
And besides, what else is there to do, instead of browsing DevRant?16
Internet: YOU are nothing without me.
My phone: Th..That's not true! She cc..can make calls ww..ithout you...and ss...send texts. Sh..Sh..She plays offf..offline games sometimes and has ddd..downloaded music to her storage that she could llii.. listen to and has a sshh..shit load of memes stocked that she sss..sometimes laughs at. I AM usef...ffuul :-/
Internet *lighting up a cigarette*: hahhaa! You can survive without me. If this were 10 YEARS ago! There's not a slightest chance, today.
My phone *starts sobbing*: sh..shut up sshhhuut uu..up.
Internet *blowing smoke rings*: you think you're the ONLY device she owns?? She has too many of them, but guess who is connected to all those devices! ME! She can't function without me. Hell, the world can't function without ME!
Electricity *rubbing it's eyes from sleep* - what's all that noise??
(I'm about to fall asleep and there's no power right now. Back up ain't working. Life sucks)5
The day I became the 400 pound Chinese hacker 4chan.
I built this front-end solution for a client (but behind a back end login), and we get on the line with some fancy European team who will handle penetration testing for the client as we are nearing dev completion.
They seem... pretty confident in themselves, and pretty disrespectful to the LAMP environment, and make the client worry even though it's behind a login the project is still vulnerable. No idea why the client hired an uppity .NET house to test a LAMP app. I don't even bother asking these questions anymore...
And worse, they insist we allow them to scrape for vulnerabilities BEHIND the server side login. As though a user was already compromised.
So, I know I want to fuck with them. and I sit around and smoke some weed and just let this issue marinate around in my crazy ass brain for a bit. Trying to think of a way I can obfuscate all this localStorage and what it's doing... And then, inspiration strikes.
I know this library for compressing JSON. I only use it when localStorage space gets tight, and this project was only storing a few k to localStorage... so compression was unnecessary, but what the hell. Problem: it would be obvious from exposed source that it was being called.
After a little more thought, I decide to override the addslashes and stripslashes functions and to do the compression/decompression from within those overrides.
I then minify the whole thing and stash it in the minified jquery file.
So, what LOOKS from exposed client side code to be a simple addslashes ends up compressing the JSON before putting it in localStorage. And what LOOKS like a stripslashes decompresses.
Now, the compression does some bit math that frankly is over my head, but the practical result is if you output the data compressed, it looks like mandarin and random characters. As a result, everything that can be seen in dev tools looks like the image.
So we GIVE the penetration team login credentials... they log in and start trying to crack it.
I sit and wait. Grinning as fuck.
Not even an hour goes by and they call an emergency meeting. I can barely contain laughter.
We get my PM and me and then several guys from their team on the line. They share screen and show the dev tools.
"We think you may have been compromised by a Chinese hacker!"
I mute and then die my ass off. Holy shit this is maybe the best thing I've ever done.
My PM, who has seen me use the JSON compression technique before and knows exactly whats up starts telling them about it so they don't freak out. And finally I unmute and manage a, "Guys... I'm standing right here." between gasped laughter.
If only it was more common to use video in these calls because I WISH I could have seen their faces.
Anyway, they calmed their attitude down, we told them how to decompress the localStorage, and then they still didn't find jack shit because i'm a fucking badass and even after we gave them keys to the login and gave them keys to my secret localStorage it only led to AWS Cognito protected async calls.
Anyway, that's the story of how I became a "Chinese hacker" and made a room full of penetration testers look like morons with a (reasonably) simple JS trick.9
Been trying to debug a problem this whole morning.. Gave up, went outside for a smoke.. Came back and bug is no where to be found...9
Now I remember why I don't work from home.
It's 3pm and I've managed about an hour's work today -- most of which was debugging something really dumb. Lunch took me 2 freaking hours because I had help from a noisy smoke detector (EEEERH! EEEERH! EEEERH! EEEERH! ad nauseam), and everything kept going wrong. Girlfriend went to the store to pick up groceries; they were order-online groceries from a store 6 minutes away, so idk why it's taken over an hour. Now the smoke detector is pretending to "go to work" by watching youtube, and when that gets boring, he fights with his baby brother and steals his toys.
Children are fun and all, but they require 98% of your attention. and fuck, nobody else in this house makes any money, why the hell am I stuck watching them? While working!?
Update: now the smoke detector is taking the computer apart with a random electric screwdriver i haven't seen in years, and the baby suddenly has no pants.9
So... Some fake accounts on Twitter claimed to be Elon Musk and to give shitloads of Bitcoin to those who sent a little amount first. They stole... Wait for it... 180 grand.
That's basically your everyday 419 scam. Existing since before the internet, done with the names of Gates, Buffet, Bush, Obama...
They say "the big bad evil criminals and the poor little innocent victims" I say natural selection. Sorry, in those lion vs gazelle scenarios I always thought that it was fair, no matter how it went.
Just when did humanity get so brainless? Have we always been, is the internet just a catalyst for stupidity?
Just why the fuck must I be an infosec sheepdog instead of a wolf? Man, I could live the life, drink beer and smoke herb while working... Get up at 12, don't give a shit, no boss, no taxes, no social security payments that I don't see jack shit from, and the pay would be better to.
This guy I know applied for a senior position at a company I used to do freelance for. He walked in while I was spending the day there to work on our project.
We used to work in the same company and I knew that this guy doesn't know shit. He's the type that would foam in the mouth while bullshitting his way through any sort of discussion.
Anyway, they had him set up on a computer a few tables from me to complete some coding exercises--real simple stuff just to see how he would approach some common problems.
There was no time limit set but the tests shouldn't have taken him more than an hour.
He sat there for SIX HOURS.
At this point, I went out for a smoke, came back 5 minutes later, and found that he wasn't there anymore.
Apparently, he just stood up and said, "Nope, can't do it" and then left the building without a word to anybody else.
We never heard of him again.
Oh, and the tests? Not a single line of code written XD5
The student life smell is strong with my Desktop too,
and no I don't have a problem I only drink and smoke socially also when a bug takes longer than an hour to fix...
Which is most of the time
Okay I might have a little problem10
May 2020, for me, was still a massively shit month. All of my tech has eaten some amount of shit:
- Spare PC: Board and last spare PSU up in literal smoke all at once.
- PS3: Suddenly rejects *just* the OEM HDD. Also refuses all CFW for seemingly no reason despite being hacked.
- Xbox One: External HDD is having more and more corrupt reads and is taking longer and longer to serve data.
- Wii: Nearly ate shit as the OS disappeared mid-game for fucking no reason but thanks to my 5-year-ago forethought, saved. (God bless pre-boot homebrew menus)
- Phone: grabbed it to read an overheat warning with cold-ass hands, screen exploded.
- Desktop: Literally just now, PSU and possibly GPU fucking died mid-game.
Anything else? You still got like 4 days, you still got time to fucking kill me, May, you fucking bitch11
Manager 1: "We're going to hold a small meeting because of a new project."
Me: "Okay, cool. What project is it about?"
Manager 1: "Project X".
ME: "Right. What's the domain name?"
Manager 2: "Well there's this design but it's entirely made up. Just a concept."
Manager 1: "Wait, there's no more toner."
Manager 1 and 2 take 20 minutes to fix the printer, so manager 1 can print out an e-mail. They both return to their seats. No meeting happens. I roll a smoke and go outside to flip through LinkedIn for the nth time this week.3
Been working on 'MVP' features of a new product for the past 14 months. Customer has no f**king clue on how to design for performance. An uncomfortable amount of faith was placed on the ORM (ORMs are not bad as long as you know what you are doing) and the magic that the current framework provides. (Again, magic is good so long as you understand what happens behind the smoke and mirrors - but f**k all that... coz hey, productivity, right?). Customer was so focussed on features that no one ever thought of giving any attention to subtler things like 'hey, my transaction is doing a gazillion joins across trizillion tables while making a million calls to the db - maybe I should put more f**king thought into my design.' We foresaw performance and concurrency issues and raised them way ahead of the release. How did the customer respond? By hiring a performance tester. Fair enough - but what did that translate into? Nothing. Nada. Zilch. Hiring a perf tester doesn't automagically fix issues. The perf tester did not have a stable environment, a stable build or anything that is required to do a test with meaningful results. As the release date approached, the customer launched a pilot and things started failing spectacularly with the system not able to support more than 15 concurrent users. WTF! (My 'I told you so' moment) Emails started flying in all directions and the hunt for the scapegoat was on (I'm a sucker for CYA so I was covered). People started pointing in all directions but no one bothered to take a step back and understand what was causing the issues. Numero uno reason for transaction failure was deadlocks. We were using a proprietary DB with kickass tooling. No one bothered to use the tooling to understand what was the resource in contention let alone how to fix the contention. Absolute panic - its like they just froze. Debugging shit and doing the same thing again and again just so that management knew they were upto something. Most of the indexes had a fragmentation of 99.8% - I shit you not. Anywho, we now have a 'war room' where the perf tester needs to script the entire project by tonight and come up with some numbers that will amount to nothing while we stay up and keep profiling the shit out of the application under load.
Lessons learnt - When you foresee a problem make a LOT of noise to get people to act upon it and not wait till it comes back and bites you in the ass. Better yet, try not to get into a team where people can't understand the implications of shitty design choices. War room my ass!3
By the same fucking company who is responsible for my burn out.
Should I be Happy or Sad? No matter how I loved the company I can only expect more abuses... On the other hand, If I made a few complaints, I couldn't get fired now...
This weekend (can't remember the day, It was the day I took two victans, 20's beers and the same join I would smoke in a whole week ... (It worked, so...) I posted lots of really bad shit on facebook about the company... true Shit, but you know... Truth doesn't matter.
Today got a letter ending my contract on the term of the current one... less than one month from now.
So.... Lets See...
At least this pushes the time I have to start making Apps to get some money.
Just lacking the energy and will...5
A plain computer illiterate guy rings tech support to report that his computer is faulty.
Tech: What's the problem?
User: There is smoke coming out of the power supply.
Tech: (keeps quiet for the moment)
Tech: You'll need a new power supply.
User: No, I don't! I just need to change the startup files.
Tech: Sir, the power supply is faulty. You'll need to replace it.
User: No way! Someone told me that I just needed to change the startup and it will fix the problem! All I need is for you to tell me the command.
Tech support: 10 minutes later, the User is still adamant that he is right. The tech is frustrated and fed up.
Tech support: (hush hush)
Tech: Sorry, Sir. We don't normally tell our customers this, but there is an undocumented DOS command that will fix the problem.
User: I knew it!
Tech: Just add the line LOAD NOSMOKE <nosmoke> at the end of the CONFIG.SYS. Let me know how it goes.
10 minutes later.
User: It didn't work. The power supply is still smoking.
Tech: Well, what version of DOS are you using?
User: MS-DOS 6.22.
Tech: That's your problem there. That version of DOS didn't come with NOSMOKE. Contact Microsoft and ask them for a patch that will give you the file. Let me know how it goes.
1 hour later.
User: I need a new power supply.
Tech: How did you come to that conclusion?
Tech: (hush hush)
User: Well, I rang Microsoft and told him about what you said, and he started asking questions about the make of the power supply.
Tech: Then what did he say?
User: He told me that my power supply isn't compatible with NOSMOKE.4
(long post is long)
This one is for the .net folks. After evaluating the technology top to bottom and even reimplementing several examples I commonly use for smoke testing new technology, I'm just going to call it:
Blazor is the next Silverlight.
It's just beyond the pale in terms of being architecturally flawed, and yet they're rushing it out as hard as possible to coincide with the .Net 5 rebranding silo extravaganza. We are officially entering round 3 of "sacrifice .Net on the altar of enterprise comfort." Get excited.
Since we've arrived here, I can only assume the Asp.net Ajax fiasco is far enough in the past that a new generation of devs doesn't recall its inherent catastrophic weaknesses. The architecture was this:
1. Create a component as a "WebUserControl"
2. Any time a bound DOM operation occurs from user interaction, send a payload back to the server
3. The server runs the code to process the event; it spits back more HTML
Some client-side js then dutifully updates the UI by unceremoniously stuffing the markup into an element's innerHTML property like so much sausage.
If you understand that, you've adequately understood how Blazor works. There's some optimization like signalR WebSockets for update streaming (the first and only time most blazor devs will ever use WebSockets, I even see developers claiming that they're "using SignalR, Idserver4, gRPC, etc." because the template seeds it for them. The hubris.), but that's the gist. The astute viewer will have noticed a few things here, including the disconnect between repaints, inability to blend update operations and transitions, and the potential for absolutely obliterative, connection-volatile, abusive transactional logic flying back and forth to the server. It's the bring out your dead approach to seeing how much of your IT budget is dedicated to paying for bandwidth and CPU time.
Blazor goes a step further in the server-side render scenario and sends every DOM event it binds to the server for processing. These include millisecond-scale events like scroll, which, at least according to GitHub issues, devs are quickly realizing requires debouncing, though they aren't quite sure how to accomplish that. Since this immediately becomes an issue with tickets saying things like, "scroll event crater server, Ugg need help! You said Blazorclub good. Ugg believe, Ugg wants reparations!" the team chooses a great answer to many problems for the wrong reasons:
For those who aren't familiar, gRPC has a substantial amount of compression primarily courtesy of a rather excellent binary format developed by Google. Who needs the Quickie Mart, or indeed a sound markup delivery and view strategy when you can compress the shit out of the payload and ignore the problem. (Shhh, I hear you back there, no spoilers. What will happen when even that compression ceases to cut it, indeed). One might look at all this inductive-reasoning-as-development and ask themselves, "butwai?!" The reason is that the server-side story is just a way to buy time to flesh out the even more fundamentally broken browser-side story. To explain that, we need a little perspective.
The relationship between Microsoft and it's enterprise customers is your typical mutually abusive co-dependent relationship. Microsoft goes through phases of tacit disinterest, where it virtually ignores them. And rightly so, the enterprise customers tend to be weaksauce, mono-platform, mono-language types who come to work, collect a paycheck, and go home. They want to suckle on the teat of the vendor that enables them to get a plug and play experience for delivering their internal systems.
And that's fine. But it's also dull; it's the spouse that lets themselves go, it's the girlfriend in the distracted boyfriend meme. Those aren't the people who keep your platform relevant and competitive. For Microsoft, that crowd has always been the exploratory end of the developer community: alt.net, and more recently, the dotnet core community (StackOverflow 2020's most loved platform, for the haters). Alt.net seeded every competitive advantage the dotnet ecosystem has, and dotnet core capitalized on. Like DI? You're welcome. Are you enjoying MVC? Your gratitude is understood. Cool serializers, gRPC/protobuff, 1st class APIs, metadata-driven clients, code generation, micro ORMs, etc., etc., et al. Dear enterpriseur, you are fucking welcome.
Anyways, b2blazor. So, the front end (Blazor WebAssembly) story begins with the average enterprise FOMO. When enterprises get FOMO, they start to Karen/Kevin super hard, slinging around money, privilege, premiere support tickets, etc. until Microsoft, the distracted boyfriend, eventually turns back and says, "sorry babe, wut was that?" You know, shit like managers unironically looking at cloud reps and demanding to know if "you can handle our load!" Meanwhile, any actual engineer hides under the table facepalming and trying not to die from embarrassment.38
I quit smoking yesterday.
By a coincidence I had a pack of cigarettes named “Kresty” – the brand from russian prison.
Just gave it to Stephen Paul Taylor. There’s no reason to smoke again, just don’t want to loose this kind of story.4
A: I have the perfect son.
B: Does he smoke?
A: No, he doesn't.
B: Does he drink whiskey?
A: No, he doesn't.
B: Does he ever come home late?
A: No, he doesn't.
B: I guess you really do have the perfect son. How old is he?
A: He will be six months old next Wednesday.7
my boss in my first job. in general every time when he randomly burst into office. one specific time when he burst i to office and INSISTED that we've got to go to a parking lot to see something.
that something was a remote-controlled helicopter he just bought. (this was before the age of drones).
oh, and he was a chain smoker, always had a cigarette behind his ear (wat), and was dragging me out to have a smoke (i was the only other programmer smoker, but not as heavy as him) every 10-15 minutes under the implied pretense of needing to discuss something about the code, and frowned heavily when i refused (because i was actually in the middle of actual work), because he took it as me refusing to have a work meeting with him.
no, we almost never talked about anything work-related, while on that smoke "work meeting".
also, my boss' boss in my first job, when she entered the office asking "we need a clickable map of our country where clicking each region brings you to a search page with filter set to results from that region. how would we do that?"
i answered "html imagemap linking to the right search url for each region, or embedded flash doing the same, if you want the region buttons to be animated", and turned back to my work.
upon which she proceeded to talk about it with the second programmer, both pretending they're solving some aspects that my answer didn't already solve, INSISTING that i stop doing "whatever nonsense you're doing" and pretend that i'm paying attention as if anything they said was in any way relevant or important. i kept returning to my work because i was solving an annoying bug and their talk was empty and useless.
this second incident was then cited as one of the reasons i was let go, because "he ignores important conversations with his superiors about upcoming tasks"
in general, my first job was a shitshow where nobody had any time or energy to do actual work because they all expended all of it to PRETEND for their superiors that they're working, since the superiors had no clue how it looks when we actually do our actual jobs.
(one month after i was let go (because, in my boss' words, yes, the one with the helicopter, "the IT productivity is very low and I have to hold someone responsible") , the second programmer was let go as well, and one month after that, our boss (head of IT) was let go too. to this day I keep being fascinated how did the company manage to survive long enough for me to even be there, let alone how it STILL manages to survive. i guess being part of a nation-wide conglomerate is very effective in covering your company's losses and uselessness)1
Usually I'd go grab a smoke and coffee and think up a solution while smoking.
I quit smoking 2 weeks ago, no idea how to fix it now.
First software refactoring in the company I worked for. No test environnement because "who needs it?", no unit testing, no comments, had to make sql updates and shit, was scared all day long that something would fuck up.
"Fuck fuck fuck, forgot a part of the where !" Had to fix everything quickly so no one would notice, no coffee/smoke pauses. On top of that, got a ton of retarded requests from the PM and other technicians working with me like "hey boi, could you add an icon to every button we made? There's like a thousand, we need it for tonight, our client will come visit us and I want to show him a better interface blablabla"
And since I was an intern, I couldn't refuse, had to work like a prostitute in virgin-land, and for what?
"Oi, you did good, now do other stuff"1
I have a cheap crappy drone and while not using it I hang it on the smoke detector. Neither the drone or the smoke alarm have batteries.
I glance up and see a light flashing, freak out, shoot the drone...lights still flashing and I realize it's the smoke detector. Fuck that, there's no batteries. I shoot the smoke alarm and it explodes...battery lands at my feet still intact...
...the alarm is dead, the drone is crying, the toaster is laughing and I can't figure out why the fuck I shot my drone and smoke detector but the toaster doesn't phase me.
(Some of this is actually true)3
At night is when my creativity starts flowing like a motherfucker. The moment when all the tasks are done for the day and you can start working on your own projects and just lay back and smoke (or drink, whichever you prefer) and zone the fuck out with some good music. Oh and if I've gotten a good work out in that day, then there's no stopping me.
I had no plans to even create an admin panel for my own small project but last night I made one just to make it look professional. After that, I got an idea for a separate project which I started working on. I usually write my ideas down so that I don't get into a complete project cluster fuck with 50 half completed projects, but sometimes you get that golden one that you have to start (currently those are the only two unfinished projects I got).
The more I'm on here the more I remember all the shit I have had to deal with in the past.
Anyway, lets rant! I just moved cities after college to be closer to my family, I didnt have any work lined up at that stage but started job hunting the moment I was settled in, I did some freelance for smaller companies to stay afloat.
Eventually I got a job at this agency startup where "SEO" was there main focus, still very inexperienced they put me on frontend and data capturing but will teach me how to code using their systems in due time. At this stage I was getting paid minimum wage, but I was doing minimum work and it wasnt that bad.
A new investor bought 49% of the company and immediately moved into the office space to focus more on marketing (He was one of those scaly marketing guys that will sell you babies if he could get his hands on enough to make a profit).
This is where everything starts going to shit. He hires a bunch of "SEO Gurus", fills up the small office with people like sardines squished together. Development was still our main money maker at this stage, so there where 3 new more senior developers at this stage and I started learning a lot really fast.
Here are some of the issues we had to deal with:
1. Incentives - Great more money, haha! No, No, you where 5 minutes late so you only get half of the promised amount.
2. For every minute you are late we will deduct it from you paycheck (Did I mention I was getting paid minimum wage).
3. If you take a smoke break we will dock it from your pay.
4. Free gym membership to the gym downstairs, but you can only go once a week during your lunch.
5. No pay raises if you cant prove your worth on paper.
He on purposely made up shitty rules and regulations to keep us down and make as much profit as he could.
Here are some shitty stuff he has done:
1. We arent getting a 13th check this year because the company didnt make a big profit - while standing next to his brand new BMW.
2. Made changes over FTP on clients work because we where too slow to get to it, than blames me for it because its broken the next day and wants to give me a written warning for not resolving the issue Immediately. They went as far as wanting to fire me for this, gave me 1 day notice for meeting and that I can bring a lawyer to represent me (1 day notice is illegal, you need 5 days where I am from), so I brought a lawyer since my mom was a lawyer. They freaked the fuck out and started harassing me about this a week later.
3. Would have meetings all the time about how much money the company is making, but wont be raising our pay since no one has proven they are worth it yet.
4. Would full on yell at employees infront of the entire office if they accidentally made an mistake on a clients project.
One one occasion I took a week off for holiday, my coworker contacted me to ask a question and I answered that I will handle it when I am back the following week. Withing 2 hours my other boss phones me in a rage, "he is coming to fetch the company laptop from my house in 5 minutes, he will let me know when he arrives. Gives me no time to talk at all and hangs up - I have figured out what has happened by now so when he showed up he has this long speech about abandonment, and trust and loyalty to the company. So I pass him my laptop once he shut up and said: "You do know I am on holiday leave which you approved, right?", he goes even more silent and passes me back my laptop without saying anything, and drives off.
While the above was happening Douche manager back at the office has a rage as well and calls the whole office (25 people) to a meeting talking about how I abandoned the company and how disgraceful that is.
Those are the shitty experiences I can remember, there where many more like this. All of the above eventually led to me going into a deep depression and having panic attacks weekly, from being overworked or scared to step out of line. Its also the reason I almost stopped coding forever at that stage. I worked there for 2.5 years with the abuse.
I left 2 weeks after the last shit show, I am ok now and have my anxiety and depression well under control if not almost gone completely.
Ran into Douche Manager a few months ago after 9 years, the company got bought out and the first person they fired was him. LOL! He now has his own agency and is looking for Developers (They are hard to find he says), little does he know I spread his name far and wide to all and every Dev I knew and didnt know to avoid working for him at all costs. Seems like word of mouth still works in this digital age.
Thanks for reading this far!5
Day 9 of non smoking (attempt no. 16). How do people cope without smoking? its so difficult. After phone call with client... go for a smoke. Get off plane/train go immediately to smoke. Done some good code/solved something, go for celebratory smoke. Have a rehearsal with my band... go for a smoke. Go to the pub...go for a smoke. It’s woven in to the fabric of my existence and unpicking it is a long and painful task. I don’t do the e-cig thing. I don’t want to swap addictions.20
I'm working on a bug I can't figure out. I go out for a smoke to clear my mind. Some time passes, I get an idea, finish smoking and I wanna go back up to my desk ASAP.
I have to go up to floor 14. Building has a basic elevator with 2 buttons:
UP arrow - "I wanna go up"
DOWN arrow - "I wanna go down"
User-friendly, intuitive, idiot-proof, you might think. NOPE.
Elevator stops at floor 1 because moron who wants to go down pressed all 2 of the over-intuitive buttons.
Floor 1 moron: "Going up?"
Other people: "Yes"
Floor 1 moron: "Oh"
Me (in my mind): "Oh? BITCH, there's an idicator telling you where it's going. Don't fucking press UP if you're not going up."
Elevator stops at floor 3.
Frustration sets in.
Floor 3 brainlet steps in, doors close.
Floor 3 brainlet takes eyes off phone screen and realises we're going up.
Floor 3 brainlet makes an "oops" kinda noise because "it" obviously wanted to go down.
Floor 3 brainlet stops elevator at floor 5 because "it" doesn't want to go all the way up to floor 14.
Rage sets in.
Me (in my mind): "I hope I get lung cancer so I don't have to deal with this shit anymore"
No more incidents, I calm down. I get to my desk and begin brainstorming about elevator coding. My preferred idea so far:
Elevator is called at floor X but nobody steps in? Elevator doesn't stop at that floor for 2 hours. elevators.size() strikes and the entire floor uses stairs, BITCH.
I spend 1 hour reading rants and writing this. Now I have to get back to my bug. I would appreciate other punishment ideas for elevator misuse.5
Dropped my trusty old Note 2 backup device this morning and it just keeps on ticking. No smoke just a nasty cracked screen. Sort of gives it character 😊1
I am so fucking tired of sitting here all day every day adjusting paddings and margins. Oh fucking hurr durr you got one of the millions of fucking elements to not overflow on your page, well does it work on *this* resolution and *this* orientation? No, well fix that and then go back and fix what it breaks.
I swear to God I never want to touch fucking CSS again it's all I've done for a yesr and it is driving me up the god damn wall. This is my career, I shouldn't fucking dread coming in to work because I know how much bullshit I'll have to deal with. It's awful.
I don't get how anyone has good looking complicated pages that just look good on every possible resolution, it's fucking mind boggling that anyone can sit there and adjust heights and widths and paddings and margins and floats for hours on end nonstop just watching shit get broken and fixed and broken and fixed and AHHHHH
I need a fucking smoke and a pint just so I don't have to think about this anymore13
I learned C with a K&R copy a friend gave me years ago. Now at University we in CompSci get taught in Python the first year and Java next while the engineers start with C and (I'm guessing) move on to assembly later on.
This friend comes to me all worried because he has to submit the next day a working Reversi game for the console written in C. Turns out the game was divided among two labs and he failed to submit the first one.
The guy is smart but once a week or so, when we met to smoke a joint and relax with some other friends, he was always talking about how he would prefer something like law but that would be bad business back in Egypt.
Back to the game, I get completely into it. First hour checking all the instructions he was given, then reviewing the code he wrote and copied from Internet. We decide start from scratch since he doesn't really get what the code he copied do. It took us 10 hours only stopping to eat but we get all the specifications of both labs perfectly.
A week after that he comes to me: "my TA said your code is the ugliest shit he's ever seen but he gave me a perfect score because it passed all the tests". I'm getting better (the courses I'm taking help me a lot) but what really made me happy is that he solved the next lab by himself (Reversi wasn't the first time I helped him, only the first time he was absolutely lost). Now he actually gets excited about coding and even felt confident for his programming final.
No more talking about being a lawyer after those 10 hours, totally worth it.1
Designer: These form elements should not be textboxes; they should be dropdown menu's.
Me: No problem. Done.
Designer: Could you make X the only selectable option in field A and Y the only selectable option in field B?
Me: I sure can.
Me: Implements a dropdown menu with only one option, knowing that asking questions would label me as "difficult" and "technical". Uploads to production, decides to take a smoke break.
My coping mechanism: Maybe you should also add an Animator to the IK targets on your character controller in Unity instead of depending on a slerped IK weight value.5
So my worst experience with a project manager was this:
New changes to the system came in, and i was the developer of android frontend back then
So he's shouting at me like 'why is dis so slow, why deez delayed, why those render misaligned on the orbitrary tablet, etc.'
So we finish in like an hour, he walk away back to his office, I went to smoke, came back, oh hey, I wanna go to the toilet
And back then at that place we had a small one person WC, so when someone was there, anyone else would have to stand outside the cabin
So I come next to it, oh, fuck, occupied, and I hear ridiculously loud and echo-y splashes of pure solid shit hitting the water surface)
A min later the thunderstorm was over, the door opens, and my PM rushes out, sees me, stops (I was in his way) and gives me a deathstare for a quick second. Awkward moment's over, he walks around me, but I just could not keep my mouth shut, so I said aloud
"Well, no wonder"
Do cartoon characters with four fingers per hand (and assuming only two arms) naturally think in octal? Or is it just a happy coincidence that humans developed base 10 because we (normally) have 10 fingers?1
Fried two devices today by simply connecting them to a power source.
Changed nothing in the circuitry, no shorts due to solder residues (a simple modification was made), no changes in the input parameters. Check.
The afromentioned devices should have only minor HW changes compared to a previous version I'm working with and as far as I can see absolutely nothing which should cause the damn microcontroller to release smoke like a steam train. (All right, a very miniature steam train.)
So the only significant difference might be the firmware which I didn't check yet but will tomorrow. Not my code and the corresponding IDE just basically sucks. Yay.
On the other hand, the Software part finally feels like I'm getting somewhere. It seems just ... to work. Very suspicious.
Feeling ambivalently frustrated and relieved at the same time. Sigh.7
Moved to a totally new city to start a new job, thought it'll be amazing as the company is good. Came and saw a bunch of motherfuking smokers who smoke at the main gate of the office, the HR does not respond to my queries, doesn't have time to interact with a new recruit, and I have still got no company mail or email id. And oh, I have the entire GitHub access and the android code cloned on MY PERSONAL COMPUTER, the rights to which were given by the CTO himself.
Guess what, time to say bye to this shit. I'm moving back.3
Asked if I'll meet a July 15 deployment date for a payroll app that has been out in UAT since Jun 27th with no comments (6 working days and 2weekends)
Me "Well I smoke tested it and it worked but if I get a 20 item correction(/enhancement) list on the 12th from the customer rep again, then I won't"
Team Lead: "I'll try to play with (test) it some today"
Not dev related so don't shoot me. If you like writing I figure you maybe might enjoy this and thought I'd share.
This is a section from an unfinished novel about 2050s America, set in a corporate subsidized mega-fevela sprawling across washington state, ruled by gangs and patrolled by the officers of a bankrupt nation suffering through austerity and on-and-off again spasms of mass civil conflict.
"Averice - Sex, drugs, and vice, in the downfall and dying days of america."
we lived in a smoke government, where everything was bullshit they blew up your ass so you could continue make believe while
you were bent over with your head in the hole in the ground you mistook for your ass to start with. And if you questioned it all, one bit, the mouth organ of the state would command
hate upon you, like an old latin curse, with a lexicon armada of phrases like "terrorist", and "troubled individual" to character assassinate you by drowning you in the humbling river of societies mass delusion giver, those two sweet letters "TV."
No, we were on the industry edge here, inventing better bait to catch what the state politiburo labelled 'bandits', all for what?
It had, in later years become fashionable to call those who didn't want to be stolen from any more, projected as it were, "thieves", in the same fashion as those in the middle east, defending
their homeland from foreigners, were labelled "insurgents." Tyranny had not so long ago grown a sense of irony it would seem.
And if you became enemy number one of the state, as thousands were, you would spend your days on the run, always looking over your
shoulder for the states vanish vans--black escalades with men in dark suits and mirrored glasses, like bugmen with shiny inhuman, and inscrutable eyes full of alien malice.
These were sordid summers, full of plastic playhouses where the cost of a days wages you could lay with a synthetic lover and pay away the days tense tax for a good lay, and forget your toils and troubles. And so many were kept in poverty because of easy habit and routine that they forget they were not living.
But for me, I had none of it. I preferred the troubled thing on the corner when I could coax one into my state issued sedan. She was sulky, with bright blonde curls, 19, maybe 20, with empty eyes, as if watching some invisible horizon. And in the glow of the blue neon, among the wet sidewalks, and trash, she leaned into my car. No words were exchanged. I nodded, and
she got into the car, a miniskirt, and slinky little handbag.
This was no more than state business with a bureau guy like me, and for her, little more than the prison trade taken public.
She huffed some powder and climbed spraddle leg onto my lap, grabbing me along my jawline, eyes locked onto the depths of my soul, and
for the next ten minutes as she moved on top of me, I was motionless property while my lusts became animal, and she, my cream cup.
After, I arrested her to the standard protests, but she new the game and quickly hushed. This was the verdant arithmetic of the state. I was awarded x amount of pension points for every criminal, no matter how, and it was no gentle hand, not the judge, not the jury, or the executioner of their will. It was the rigid touch of a long arm, dislocated from the law, and now, like frankenstein's monster, cobbled onto the mechanism of the state not unlike the manner of a combine harvester.
We were the owners of all by virtue of all we could take, and we took all we could get. The serial romeos of state police power, romancing
the unwilling citizenry with televised patriotism and five minute power talks at the beginning of the corporate day.
It could be paradise or a wasteland if we wanted it to be. And for a time it was.
Edit: devrant always breaks my formatting. sigh.
rent / question (there is a question at the end and I'd appreciate your opinion)
8 months ago, I agreed to help a not too distant relative of mine to do his master thesis at the company where I work. He was supposed to build something really MVP, but useful for us and I'd help him get some scientific questions out of it, and provide him with (computing) resources to test his theories / implementations under simulated and much heavier load.
Since then, he didn't get done anything even remotely useful, always just stuck on very rudimentary issues, claimed things are almost ready, I wrote a quick smoke test to prove that the whole application blows up when you touch it, in short - a disaster and went over to radio silence.
In the meanwhile, we didn't need it anymore, so 1.5 months ago, I got in touch with him again, with an even more technical proposal, something, at least I'd think, that's even cooler to do. He asked me some question about hypothetical load, the system should be able to handle eventually, to come up with alternative implementations to compare them against each other. He said that his exam period is going to be over soon and he'll get back to me with some initial version.
2 weeks ago, I got back in touch with him, trying to urge him, to get finally started and get something done. If he'd actually sit down and do it during the holidays as a "full time job", he'd be probably done in 2 weeks. Last week, he came back to me and said he has an initial PR ready to review.
I was excited about it, but basically froze when I realized what he did. He deleted all his previous work - some infrastructure stuff which took us basically 3 months of back and forth to get running - and as far as I could see, all the new code were only auto generated clients based on a swagger specification. In short - I could do it in less then an hour. If you really have no idea what you're doing, it might take you half a day, but definitely nowhere near to a week.
His brother, which a good friend of mine, thinks I'm being too hard on him. His argument was, that it's too hard, and he has to do it in C#, but he only knows Java (I gave him access to some of our repositories to copy paste code together, he didn't need to invent anything. I also prefer C# but wrote my master thesis in Java) Personally, I'm just pissed because he promises stuff that he never does. I totally understand him - I was like that as a student as well, I guess karma is a ... but still, he's wasting my time.
Right now I'm thinking how to get out of this, without having even more time wasted. I doubt he'd ever deliver anything useful. He got plenty of input from me about what he could consider for his scientific question, how to measure performance, ... He can keep his credentials to access our test environment with the test data, but I won't give him access to any additional computing resources, to compare how his solutions might scale on our company's cost. (mainly it's not the money, but I'd have to provide that stuff, and probably help him set it up)
does it sound like a fair deal (saying, I'm done with you. You can finish your topic on your own, but don't expect any help from me)? or am I being a dick about it and too demanding?1
I'm sure we all have those moments when we feel spacey, but there is fine line between thinking deeply and being under a strong hypnotic trance! I honestly believe there might be something wrong with me because usually when I start blanking out, it's like my mind falls into another universe that is far away from earth! I can not ( see / hear ) what is going on around me!!! I sometimes even forget where I'm at and what I'm doing... until someone tries to get my attention! NOW WAIT A MINUTE! HOLD UP!!! BEFORE YOU ASSUME ANYTHING, NO I DO NOT SMOKE OR DRINK. AND I DON'T DO DRUGS EITHER!!! I AM A CLEAN HEALTHY PERSON... I just can't seem to understand why I am so mentally outside of the box instead of inside...