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 - "dev contractor"
-
My boss pissed me off so much yesterday I totally ditched work today. I had some spiced rum for breakfast (and dinner) and spent the day playing minecraft and browsing Black Friday specials.
I did a little bit of work that (oversimplified) involved paying a Clover contractor for doing basically nothing. Totes cool with that as the guy is really nice and a decent dev. Annoyingly, though, he started hitting on me and asked me out on a date at the end of the call. He's like 65 and has a daughter (grand daughter?) my age, so that's like totally creepy. Ugh.
Getting hit on by random old men is still better than talking to Mr. Asshole the Sales Fetishizer, though.11 -
A contractor at my old job was doing a development role and was constantly annoyed and the idiotic design decisions going into the website backend we were developing 🙄😒
When he decided enough was enough he could have easily written a really snarky email but instead he wrote the most sincere and professional email to his boss and the director thanking them profusely for the opportunity and hopes he would be welcome for future work with the business....👍
He was a really good Dev and the email made the bosses super happy thanking him so much and how much of a shame it was he was going....😍
He bcc'd me on the mail and when he handed his computer in he told me to open the email and highlight in full....👌
At the end of every line in white text was 'Go Fuck yourself' or 'Zero fucks given'
The bosses never realised... And I know he's been back there about 4 months now..... But shhh 😭3 -
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 -
tl;dr I need ideas on how to warn the next dev(s) that the company is a dumpster fire.
------
For the past week (actual time: three days) I've been writing documentation for work, since there isn't any. It's been okay, I guess. Certainly more interesting than anything else I've done at work in months.
I'm up to 10k words / 67kb of markdown, and I think I'm done. I could easily write another 30k words on everything, but I just can't care enough.
However, what I do care about is warning the next dev(s) about how terrible the place is to work, so I want to add little references or hints or other such things to my writing. To complicate that, there's a contractor dev who said he will edit the document to strip out my commentary and make it "friendly" for the next person. (I can kind of see why: I've been quite honest about the situation of everything, and it's pretty dire. If they read it as-is, they might just walk out the door. I certainly would have.) I'm also going to commit it to the repo, and afaik he doesn't have push rights, so he can't force-push and remove it. (and a force-push by someone else, adding my documentation immediately after I leave... that would be pretty fishy, too.)
Anyway, at someone's suggestion, I added a "three envelopes" reference in the access phrase generator section. I also wrote "Promises made outside of ES6 will not resolve" -- in the warning section of a document almost entirely about Rails. (because the boss has broken every single promise he has ever made me.)
What other hints and subtle warnings could I add?
(And hurry: tomorrow is my last day! ;3)question warnings run run or you'll be well done! pocket full of mumbles documentation hint: gtfo three envelopes16 -
Back in Hell, we had a “company summit” where everyone flew in for an all hands meeting.
It was three days long in a tiny office with very lacking air conditioning in the middle of a Las Vegas summer. Basically the entire thing was the CEO / goblin salesman king chewing at us and expounding about / proselytizing his latest and greatest sales ideas and how they’ll change the world. And randomly asking “which of you are HUNGRY?! Which of you want to be FILTHY FUCKING RICH?!” etc.
One good thing came out of it, which was that any and all new endeavors needed a “co-signer” and a sign off from development before we (developers, or more accurate: just me) would work on it. It reduced the growth rate of my backlog by like 80%, which was nice.
While dreading the “summit,” I hated him more than I had in quite awhile.
During the summit, I hated him more and even flipped him off.
After the summit, I swore to leave the revolting wreckage that was the company.
(And months later, I did just that —after becoming the sole dev and the only person holding the damned company afloat. When I gave him my two weeks’ notice, I absolutely relished his terror. And my time spent writing my 43 page no-sugarcoat handoff document that was guaranteed to scare off any hapless dev he might find. 😇)
But I digress, three 10-hour days with him and the rest of the sales team, the sleazy lawyer, the CTO who mentally checked out years ago, the yes-man contractor, and me. The only good thing that came out of that meeting was one good idea that he dismissed, and the sign off idea that saved my backlog a bit.
One of the sales people quit shortly thereafter. So it was a huge expense that wasted everyone’s time and added absolutely nothing of value to the company. GG!
Oh, it was also in the “totally better” office — meaning… cheaper, unfinished (literally plywood floors), and was one room in another company’s office, who often locked the door leading to their offices because they trusted him so much. But it was in downtown Las Vegas, with no parking at all, where gang members were hanging out almost every day, and it was next to low-income housing and weird no-service restaurants with shockingly high prices.
Weird and scary.
Very scary.
Totally carried pepper spray every time Mr. Goblin asshole forced me to go into the office. Didn’t get raped, though, or my laptop or car stolen. So that was nice.5 -
I wrote a database migration to add a column to a table and populated that column upon record creation.
But the code is so freaking convoluted that it took me four days of clawing my eyes out to manage this.
BUT IT'S FINALLY DONE.
FREAKING YAY.
Why so long, you ask? Just how convoluted could this possibly be? Follow my lead ~
There's an API to create a gift. (Possibly more; I have no bloody clue.)
I needed the mobile dev contractor to tell me which APIs he uses because there are lots of unused ones, and no reasoning to their naming, nor comments telling me what they do.
This API takes the supplied gift params, cherry-picks a few bits of useful data out (by passing both hashes by reference to several methods), replaces a couple of them with lookups / class instances (more pass-by-reference nonsense). After all of this, it logs the resulting (and very different) mess, and happily declares it the original supplied params. Utterly useless for basically everything, and so very wrong.
It then uses this data to call GiftSale#create, which returns an instance of GiftSale (that's actually a Gift; more on that soon).
GiftSale inherits from Gift, and redefines three of its methods.
GiftSale#create performs a lot of validations / data massaging, some by reference, some not. It uses `super` to call Gift#create which actually maps to the constructor Gift#initialize.
Gift#initialize calls Gift#pre_init (passing the data by reference again), which does nothing and returns null. But remember: GiftSale inherits from Gift, meaning GiftSale#pre_init supersedes Gift#pre_init, so that one is called instead. GiftSale#pre_init returns a Stripe charge object upon success, or a Gift (and a log entry containing '500 Internal') upon failure. But this is irrelevant because the return value is never actually used. Pass by reference, remember? I didn't.
We're now back at Gift#initialize, Rails finally creates a Gift object using the args modified [mostly] in-place by all of the above.
Another step back and we're at GiftSale#create again. This method returns either the shiny new Gift object or an error string (???), and the API logic branches on its type. For further confusion: not all of the method's returns are explicit, and those implicit return values are nested three levels deep. (In Ruby, a method will return the last executed line's return value automatically, allowing e.g. `def add(a,b); a+b; end`)
So, to summarize: GiftSale#create jumps back and forth between Gift five times before finally creating a Gift instance, and each jump further modifies the supplied params in-place.
Also. There are no rescue/catch blocks, meaning any issue with any of the above results in a 500. (A real 500, not a fake 500 like last time. A real 500, with tragic consequences.)
If you're having trouble following the above... yep! That's why it took FOUR FREAKING DAYS! I had no tests, no documentation, no already-built way of testing the API, and no idea what data to send it. especially considering it requires data from Stripe. It also requires an active session token + user data, and I likewise had no login API tests, documentation, logging, no idea how to create a user ... fucking hell, it's a mess.)
Also, and quite confusingly:
There's a class for GiftSale, but there's no table for it.
Gift and GiftSale are completely interchangeable except for their #create methods.
So, why does GiftSale exist?
I have no bloody idea.
All it seems to do is make everything far more complicated than it needs to be.
Anyway. My total commit?
Six lines.
IN FOUR FUCKING DAYS!
AHSKJGHALSKHGLKAHDSGJKASGH.7 -
When pandemic hit in 2020 I found myself out of work. Until then I used to have a java based pirate gameserver of a MMORPG as a hobby.
When pandemic hit I noticed that online players count increased from like 70 to 200 without much advertising because purely of people being stuck in home. So i decided to scale and spent 2 years with that. What a wild ride it was.
So i invested a bit in ads, managed to reach around 500 online players, opened my own company and launched a couple other successful spinoffs of that gameserver.
First year it was a goldmine but I was doing 10-14 hour days because I had to take care of everything (web, advertising, payment integrations, player support and also developing the server itself, ddos protections and etc.). I made quite a bit of money, saved for a downpayment for mortgage and got an apartment.
Second year I noticed that there was a lot of competition and online players count dropped, but I double downed on this and invested a lot into the product itself and spent most of the time developing a perfect gameserver that would be the big bang while also maintaining existing ones. Clasic overengineering mistake. As you can guess, I crashed and burned on all levels, never even managed to launch my final project because simply the scope was too big and I had trouble finding decent devs to outsource it to, since it was a very niche gameserver.
In the end I learned a lot especially about my own limits and ownership, now Im back to being a dev but working as a contractor.
I believe having actual business owner experience allows me to have different perspective and I can bring more to the table rather than focusing on crunching tasks.6 -
I'm the sole developer at work.
Literally the entire company, save myself, is sales people. (We have one remote mobile contractor as well, but he only does mobile; I'm responsible for everything else.)
I inherited a gigantic pile of nightmare from the previous "senior-level intern" solitary dev/CTO, and I'm still trying to figure out the bulk of it, meaning everything takes longer.
Anyway, we have a meeting roughly once a week, and during each of these -- and several times throughout each week -- the salespeople say things like "We should address this" or "This should be our top focus" or "We really need ___ so I can sell more merchants" or "___ doesn't work right; we should fix it." All of these "we"'s and "our"'s, of course, mean me.
So, today, I decided I'd make a list of everything I have to do, and their general size. Assuming large projects will take one month, medium projects will take one week, and small projects will take one day... I have four months, two weeks, and four days of work ahead of me. (yet I know one of those large projects will take at least two months...)
Make it stop ;;14 -
I was working as a contractor for a client who just got enough funding to hire a full-time dev. I lovingly referred to him as "Mr. Koolaid" because he was obsessed with whatever the newest hotness was and cried constantly about how the 3-year-old code-base didn't use The Next Big Thing(tm). This was my first interaction with him:
Mr. Koolaid: I'd like access to the github repository. My username is xxxx.
Me: We currently aren't hosting the code on github. If you send me your public ssh key, I'll get you access to the private server.
Mr. Koolaid: I'd like to access the github repository.
Me: It's not on github; send me your public key and I'll get you access.
Mr. Koolaid: Can we skype real quick? You don't need my public key to grant me access to the github repo.
*Mr. Koolaid proceeds to forward me github's documentation on adding users to an organization and the documentation for adding users to a private repo. The email is written in a very passive-aggressive tone.*
ಠ_ಠ9 -
Last Friday company-wide call consisted of the sales CEO bossman, the remote contractor dev, and myself. The only topic of discussion was CTO-bashing (bossman's favorite). Neither person had much of anything to say about their week, and they didn't want to hear my rather-lengthy summary either (I did a lot). All they wanted to do was bash the CTO (API Guy).
The CEO asked how many hours I had worked, and seemed annoyed when I said less than 40. Well screw you. Monday was Christmas, and Sunday was Encroaching Estranged Asshole Day. (Earlier rant)
I've been spending most of my time trying to learn the steaming mountain of rancid hippo shit that API Guy squeezed out, since he's leaving forever in 10 days. Sure, CEO bossman says he'll still be around to answer questions, but even with him right next to me in the office he's less than useful. After he's gone and finally feeling free of this farce? It'll be worth fuck-all.
So bossman is mad at me for both not working enough over Christmas, and not pumping out features at a frantic pace despite multiple explanations of why this is a bad idea. And he didn't care about what work I actually did do.
My every interaction with him makes me angry. Whenever I -- or anyone else -- does something he doesn't approve of, seemingly no matter the reasoning, he makes it out to be a failure on their part, and like he can't trust them as much now.
Well I'm sorry we're trying to make sure our websocket works perfectly before putting it in the hands of our customers who rely on it for cash processing.
I'm sorry I'm trying to recall printers that aren't configured properly, which also prevent customers from using our goddamn service they're paying for.
I'm sorry I'm trying to learn how everything works while I still have someone to talk to and ask questions of.
I'm sorry I'm preparing for the day I have to take over and have you breathing down my neck. Once API Guy's gone I'll be responsible for everything, and you'll be yelling at me and having a @Root bashing session instead if I don't know how to fix everything right away.
But no. All you care about is that I talk to you about what's going in so you can micromanage development despite having zero fucking understanding of goddamn anything. All you ever fucking want is the next shiny feature you can push to make more sales / keep your current contacts happy. Doesn't fking matter if it makes development awful later; that's tomorrow's problem. And yet you have the gall to bash API Guy over and over and over again for the codebase being a mess? Sure he's a terrible programmer, but been putting up with this exact same shit for five years. No wonder it's a mountain of rancid hippo shit. That's as much your fault as his, asshole.
I'm so sorry you "have serious concerns" about me. I don't want to put up with your shit either.
Fuck off and die.22 -
"What we can do to get all on time? ", manager asks
"Can we have 4 more developers on the project?", dev asks
"No, that's not gonna happen. Let's be realistic", manager says
"Is it realistic to ask 3 devs to ship 20 features in a week, reviewed and tested?" dev asks
"Actually 2 of you, because our contractor goes into a vacation. But you can do overtimes, can't you?"
"I prefer not to but even in that case I can't guarantee that as it's not realistic. But at least can I leave earlier and work more from home more because there are severe delays on the train lines and if I have to commute 4 hours a day it won't help", dev says
"Well, I'm not sure if that's a good idea. You have to communicate with people, you know. We have to ship things. But we can discuss this tomorrow as I have to leave early today. I have to take my kids from school"
Really? Wtf?4 -
It's about a guy that knows better.
I was working as a subcontractor on a bigger system. We (subs) were not allowed to deploy code, we had to wait for contractor to deploy.
One day I got an email that my code is bugged and that my feature is not working on production. I checked it on test env, everything was fine. Then I checked if the code I wrote was deployed. It was not.
I send an email explaining that if they deployed my code it would be working. Then I got a response. There was a bug in my code.
Another email. I asked how would they know? Do they have a test on their environment that failed?
No. There is one guy that READ my code and he said it should not work, so he will not deploy it. He was not a programmer, he was a business consultant responsible for the documentation.
His issue was that I used a function that was not in a class. So if the function is not declared it's obvious it will not work. I had to explain to him in another email, that you can use object of another class inside your class and then call a function, that is not in your class. It was the last time this guy blocked my deploy.
TL;DR, I had to explain a non-dev how object composition works in order to have my code deployed. Took four emails.4 -
Because I’m a fucking cowboy and a charlatan, and because I hate sleep and despise feeling refreshed and happy, I’m working pretty much full time as a contractor (I’m the full stack dev. I do everything) on a (well funded) startup alongside my day job.
Tonight I had to make some quick (lol “quick”) changes to a core piece of the platform.
Now before continuing please refer back to the first line of this rant.
So instead of writing new functionality, I copied and pasted another section.
I renamed all references of “new_order” to, cleverly “new_order2”.
I know.
I deploy to production...
My phone starts blowing up. In short, everything is fucked.
I’m going over the query, checking the production database. Why is this manifesting like this? It all looks correct.
2 HOURS of broken sales, pissed off customers, pissed off service agents and I see that there was still one reference of “new_order” that should have been “new_order2”.
I am a piece of shit.4 -
Worst exp. on a collab/group project?
Had a few, here is one.
Worked with a dev team (of two devs) in Norway to begin collaboration on providing a portal into our system (placing orders, retrieving customer info, inventory control, etc)
They spoke very good English, but motivation was the problem. Start the day around 10:00AM...take a two hour lunch...ended the day at, if I was lucky, 4:00PM (relative to Norway time). Response time to questions took days, sometimes weeks. We used Skype, which helped, but everything was "Yea...I'll do that tomorrow...waiting on X....I have a wedding to go to, so I'll finish my part next week."
I didn't care so much, I had other projects to do, but the stakeholders pounded me almost everyday demanding a progress report (why aren't you done yet...etc..etc.)
The badgering got so bad I told the project owner (a VP) if he wanted this project done by the end of the year, the company would have to fly me to Norway so I personally push things along.
When real money was on the line, he decided patience was warranted.
A 3 month project turned into 9, and during a phone meeting with the CEO in December
O: "Thanks guys, this project is going great. We'll talk again in February. Bye."
PM: "Whoa...what! February!"
<sounding puzzled>
O: "Um..yes? It's Christmas time. Don't you Americans take off for Christmas?"
PM: "Yes, but not until Christmas. Its only December 12th. Your taking the whole month of December and January for Christmas?"
O:"Yes, of course. You Americans work too hard. You should come over here and see how we celebrate. Takes about a month so we can ease back into the flow of things."
<Jack is the VP>
PM: "Jack wanted this project completed by the end of the year, that is what everyone agreed to."
O:"Yes, I suppose, but my plane is waiting on me. Not to worry, everything will be fine."
<ceo hangs up>
PM: "Oh shit..oh shit..oh shit. What are you going to do!?"
Me: "Me!?..not a darn thing. Better go talk with Jeff."
<Jeff is the VP>
J: "This is unacceptable. You promised this project would only take a few months. I told you there would be consequences for not meeting the deadline."
PM:"But..but...its not our fault."
J: "I don't care about fault. I care about responsibility. I've never had to fire anyone for not meeting a deadline, but .."
Me: "Jeff, they are in Norway and no one is working this project for the next two months. You've known for months about them dragging their asses on this project. We're ready to go. Services have been tested and deployed. Accounting has all the payment routing ready. Only piece missing is theirs."
J: "Oh. OK. Great job guys. I guess we'll delay this project until February."
<leave the office>
PM: "Holy shit I'm glad you were there. I thought I was fired."
Me: "Yea, and that prick would have done it not giving a crap that it's Christmas."
<fast forward to Feb>
O: "Our service provider fell through, so I'm hosting with another company. You guys know PHP? Perl? I don't know what they called it, but it sounded so cool I bought the company."
PM: "You bought what? Are we still working with Z and B?"
O:"Yea, sort of. How's your German? New guy only speaks German."
PM: "Um, uh... no one here speaks German"
O:"Not to worry, I speak German, French, and Italian. I'll be your translator."
PM: "What? French and Italian?"
O: "On my trip to France I connected with a importer who then got me in touch with international shipper in Italy. I flew over there and met a couple really smart guys than can help us out. My new guy only speaks German, J only speaks French, and R speaks Italian, Russian, and a little English. Not to worry, I'm full time on this project. You have my full attention."
We believe the CEO has/had some serious mental issues, including some ADD. He bailed within the first month (took another vacation to Sweden to do some fishing) and left me using Google Translate to coordinate the project. Luckily, by the end, the Norwegian company hired a contractor from England who spoke German and hobbled together the final integration.3 -
New job surprise: I will inherit a 900k lines of php code from a contractor dev shop. It is the company erp web app.
It has no version control, tests, architecture or configuration management of any kind.
There are just 1800 bug ridden files with almost no comments in a directory with lots of code duplication.
Also just learned that the contractor was paid a lot monthly for over 2 years for this monster.
I will need a raise quickly. At least management understands that I will need a couple of months to get a semblance of order in this madness.
And to you contractor I have your address and i'll try to restraint myself from vandalizing your house but I can't make any promises.
And fellow developers send help or beers or come and join me to teach this bastard a lesson.5 -
I'm a contractor at a product company and today I had the pleasure of working with some jQuery.
A function needed to be called before another function, hard work right?
So I moved the call to the function 3 rows higher, checked it in, set the task as ready for test and started to look for other tasks.
Within a couple of minutes I get a direct message from another dev, let's call him Steve.
Steve wanted me to set the task to ready for code review instead of test, so I did just that and tried to move on.
Some minute or two later Steve contacts me again:
"It would be great if you'd move the comment so it'd be over the call to the function"
Well, I'm not one of those who likes comments... If you need a comment, it's probably not good/readable code. In some cases sure, it might be a complex block coming up.
Sorry, lost my train of thought.
I answered Steve : "Are you sure, I could just remove it instead?"
(for readability S will be Steve and M will be me)
S: Well, it's always good to have comments
M: In this case I think it will be alright.
S: But it's nice to see what the function is doing.
M: I'll do it if you really want me to.
S: It's better to have the comment than to not have it and needing it.
M: Okay then
The name of the function : LoadOrganizationTree()
And this is the comment :
//Load organization tree6 -
Had a scheduled call to interview a dev contractor. He told us any typing noise we hear is just him taking notes. Ok. After several questions the long awkward pauses, typing and furious mouse wheels make it evident he's a liar and looking up answers.
Still managed to tank the interview and wasted our time.
I sure hope that wasn't one of you guys.3 -
Worked alongside lead dev who was also a contractor. The lead dev made a lot of demands on the codebase, and I managed to work around their demands, but at the expense of more progress. They were fired out of nowhere just recently, and oh wait, they never wrote a single line of code this whole time and the budget can't get us another contractor now. I am going to lose my mind on this contract and I'm pulling my first of many all-nighters right now, wish me luck.10
-
Google Business Profile is probably not meant for developers. "Help customers find your business by industry." Dev: set primary category to "Web Developer". Google: We didn't understand your category. Please select from the suggestions that appear when typing. Dev, typing: "Web D"... Google suggests: "Web Designer, Web hosting company, Well drilling contractor, Waterbed shop". Okay, Google, nevermind.
Google: "Update your customers. Keep your customers up to date about your business!" Dev clicks "add update", adds info about that customer should use different phone number temporarily due to broken phone. Google: "Your post has been removed from your Business Profile on Google because it violates one or more of our post content policies." Okay Google, at least you let me add an additional phone number on my profile without requiring to verify my primary number that I currently have not access to. Anything else?
Google: "Claim your €400 free advertising credit" Dev: clicks "claim credit" Google: "To access this Google Ads account, enable 2-Step Verification in your Google account." How to combine idiocy and deceptive patterns in a single UI: Google knows! Apart from their search engine, their unique business advantage is simple that they suck a little less than Apple and Microsoft. Sorry, not a day to be proud of our profession, once again.5 -
Here's how I describe my workplace:
- a mid dev that will stay mid forever
- a senior but with junior skill
- a mid but actually a junior
- a verbose dev, people having rough time trying to understand her because her explanation is always blown up
- a PM without enough technical skill
- a dev with personality like a moody teenager
- a contractor but acting like a customer
Did I miss anything? 🤔3 -
So I took over a project from another dev after he left the company and his project was currently in QA pending release. They were blocking it due to some issues around the persons information not appearing consistently. It turned out he wasn't persisting the persons information in the database with the actual record.
It would be as if when you ordered something on amazon and changed your address for a future shipment all shipments would show the new address. So it turned out QA had no idea how bad the problem was and they had pushed this issue to him to fix but he just wasn't fixing it.
When I reported the problem to my boss and due to the time constraints for release they authorized a contractor to come in to assist. I ended up writing a few classes and one table to persist the data and all of it was solved. I ended up fixing the problem in one weekend. Huge problem and I fixed it in just a few days. -
I was working as a software dev contractor at this company providing specific e-learning services for a specific industry X.
One day the CEO posts on Linkedin about an interview discussing the potential of gaining $100k per year working in industry X after getting specialized training for 6 months (using our e-learning platform of course) .
My gross income at the time was $65k. My experience was about 7-8 years. Now the thing is you might say "gee that's pretty low for a dev, especially a contractor", and yes I agree, but you have to understand a few facts:
1. I am from eastern Europe (cheapish labor - which btw for all of you out there from the West, including Germany and whatnot, it is xenophobic to consider easterners cheap and it personally insults me and my ability - but that's another story)
2. I was happy to accept the offer since it was the best I had up to that point :))
Now, by the time the LinkedIn post I was heavily invested in the product development. I personally had written 30% of the code (frontend and backend) compared to the whole development team (about 15 devs)... and yes you might argue that performance is not measured by number of lines of code... but trust me when I am saying I did the most on that product, and I am not saying this to brag, I actually care about the stuff that I work on.
When I saw that post on Linkedin I thought to myself "what kind of BS is this? I am a dev and devs are supposedly the best paid workers out there, and a guy from industry X that just got trained for 6 months would get more than me?! WTF?!"
So I messaged the CEO ...
Me: I noticed the post from linkedin about $100k by working in industry X, I am curious how does one get to that revenue per year? What is your advice?
CEO: The best way to obtain value is by creating value which you maximize continuously.
Me: and how does one maximize value?
CEO: it does not matter how hard your work but how large of an impact you make!
Me: ... and how do you measure impact? (me thinking about performance reviews for contract negotiations - and because performance reviews should be SMART -> meaning it should be measurable somehow)
CEO: Simon Sinek says ... << insert motivational quote here because I don't remember and don't care >>
I just lost if after reading the name "Simon Sinek" ...
So you see my dear friends ? It is all fairy dust, smoke and mirrors, in the end it is about maximizing profits, lowering costs and maintaining the illusion of opportunity... when there is none.
Lord is my witness... I hate hypocrisy and quackery ...
You can imagine that my contribution on that product immediately lowered, doing the bare minimum to meet the contract demands AND I FEEL NO REGRET.
%&#$ YOU SIMON SINEK.rant measure impact motivational quotes eastern european ceo not six figure salary jealousy simon sinek4 -
Kinde messed up my first contract.
I am a senior frontend dev who until now worked only on full time gigs. For the first time I picked up a short term gig of 1 week that consisted of 2 packages and I wanted to share my mistake that I made so hopefuly its useful to you.
So last week I started working on this gig. First package went through fine, I delivered in 2 days and collected the first half of the payment.
However I messed up with the second package. Not messed up the implementation per say, but I didnt manage the communication well.
Before implementing it I raised a discussion about a missing backend endpoint that is required to implement the perfect solution. Client got cold feet, had a discussion with his manager and now decided to postpone the second package and even got mad at me that I already did and pushed half of the work of the second package without waiting for his decision from his manager. So now obviously Im not getting paid for half of the work of the second package (I dont mind, I should have waited for clients response), anyways it took me like 20min to implement so thats fine.
My takeaways:
1. As a short term contractor you are hired to solve a concrete problem. Scope out what you can, agree on a task list and stick to it. Anything out of scope will cost the client extra.
2. Your priority is to get paid. Not to deliver the perfect solution that confuses the client and potentially can impact your delivery. If he wants something and you see its only a half of what he really needs, deliver it anyways. Keep that idea of improvement for the future. More work for future = more invoices = more money. I know its not ethical but your priority should be to get paid and in order to do that you need to deliver. Dont shoot yourself in the foot with unnecesseraly overcomplicating things.1 -
I got a median-pay front-end job through a contractor (after a contract from hell...but yeah I didn't learn...) and I'm getting zero assignments after a month and nobody seems to know what my role is.
I'm one month in, and every week I have to email my boss to remind her to sign my paycheck, which is stressful because I'm charging for my time because my assignments are like "Research this" or "look at this Wordpress theme or brand guide". The team never communicates but once a week, and I'm beginning to believe that I'm not a good fit for the team because they are impossible to get a hold of and the sysadmin won't give me access to anything even when I CC my boss. (I don't want to grief this guy...) Despite this, I've been told privately by higher-ups on a few occasions that they plan to hire me full time by November...
My SO thinks that the reason people are so dodgy toward me is because they literally do nothing and I'm breaking the flow of that by asking for things. I'm used to agency output, which can be toxic and where everything is 'due yesterday', and I'm watching this team work on assignments ten times slower than normal. ("You want to change a phone number on a website footer? You'll get it next week...maybe." I can't step on toes because I don't have access...) I'm perfectly fine with having to wear several hats at a low-stress job, but I can't even get my first assignment and I'm still being asked who I am in weekly meetings, or asked things like, "Would you even be willing to relocate here?" (I actually live DOWN THE STREET FROM THE OFFICE!! WHY DO I HAVE TO BE REMOTE? Why am I being asked this question?) It feels like my boss impulse hired me, with zero input from the team, and had no real reason to hire me in the first place...
It could also be another issue: Yeah, my experience is in PHP/JS/React, "but here have a seven year old .NET project and a company laptop with zero documentation and make this form import data to a database we know nothing about." Lead dev won't even talk to me.
I feel like a joke.2 -
Spent years ranting about being a contractor and freelancing. Finally got a job at a big company. Now I'm hating it and missing my old flexible work life. Hello dev rant, I'm back!4
-
We had a contractor come in claiming to be a certified SAP hybris Dev but he was useless. The weird part was: he refused to use the toilets in the office. We always saw him using the grotty public ones outside. These public toilets were 'well known' in the area shall we say.3
-
Got my first dev job last November and I've been working as a contractor for the government. Supposed to be on a 4 year contract job, just found out that out project is being pulled in September. Is this common for federal contract work? My Human Resources team haven't been very helpful in explaining the process to me. Is private sector development any less volatile? I don't have a mentor or anybody I can bounce questions off so sorry if this is more or less common knowledge :/5
-
Not sure if forums like DevRant ever helped me but it certainly gave me an impression of how work in the industry is. It sort of prepared
me for the bs that I could face and I ended up expecting and managing those situations. This will be both a happy, raw and a grumpy thought. I’m a self taught dev, I failed my education due to a situation outside my control but I always loved programming, it’s mostly because I love solving problems and creating something I feel is my own. Today I’m a core member in a company and I’m also a contractor in my own company. I love the variety of working on my own and I love helping team members, I love organising projects and the experiences others bring help me grow and expand what is literally my life’s passion. I started out as a consultant because someone saw my passion and my experience, they took a chance and well, I can’t say I’ve disappointed them. I just recently got to know into my adult life that I got ADD and meanwhile it probably pushed me out of the normal, it helped me focus on the things I liked. I was 6 years when I wanted to learn programming and I was 10 when I first started learning, I felt like a failure when I was 18 after literally 6 hours a day of learning development each day, I didn’t have a job for several years and when I was 24 - prior to becoming a consultant, someone offered me a job, it was one of those “5 day” interview assignments, where I practically delivered a finished, fully tested project for them. They offered me lowest of pay (15 usd/hr). They took advantage of my situation, put me on a solo project and said it wasn’t good enough because it didn’t fit their preferences after 50 hours of dedicated work without any guidance, specs or meetings. I’d say thanks but I was never considered before I had “experience” by others, I hope I’ll get the chance to give someone that experience before they go through the same as me. I could go on for so long about what I feel is wrong about this industry but one description that continually come up “impostors syndrome”, shut the fuck up if you don’t know what you’re talking about and give even “newbies” a chance. Programming and development is more than experience.1 -
F@#!k my year,
After a year long Mobile app project finally shipped where I served **two lead roles (UX design and mobile dev)**; I had my status meeting with my manager to discuss my next phase of my career. To which I was told I would be promoted to Chief or partner level at my workplace, if shipped on time, which we did.
The response I got was unsettling, I've been asked to "step down" from my architect role and join our innovation sales team since it was discovered I also have an MBA. So much so my skip level manager cut off all my dev licenses week of release. 🤣
The overall need was for me to oversee H1B and contractor resources moving forward on new engagements, as I was now "too expensive". I like coding, but it doesn't sit well with me at all... -
Today spent 20min in a senior android dev interview debating an ex backender CTO about the importance of final classes where he tried to pull out some sort of perfect answer from me about it. Ironically this is the same CTO who failed managing a previous android contractor who was supposed to rewrite old app and ended up with an even shittier new app in 6 months of time. Now they are insecure and are looking for a new contractor who will be micromanaged this time.
But hey I guess he knows the importance of final classes. Some CTO's need a reality check and at least some business training, because your perfectly written app is useless if it doesnt fulfill business needs.
Their app is based on heresdk and built around navigation. The biggest bottleneck is that it works shitty on low end devices so their competition solved this problem by using a whitelabel rooted tables with a custom ROM wher u have full control over hardware, permissions and battery management. However this startup thinks they can build a perfect navigation app which will work perfectly on all devices while at the same time while also relying on a poorly optimized navigation sdk. Poor initial strategy I'd say and they didnt learn from previous 2 failures, now they are searching for the next savior android contractor who will have to solely implement evrything. -
Are you content with your job or always searching for greener pastures?
I'm split inbetween. Current pay is very decent and working conditions are flexible. However, the work itself is not always that great. I find it to be comedically true how "hard workers" don't get promoted or bonuses, they get more work. There has recently been a heavy influx of what I'd like to classify as "shit tickets" since a guy who was the main "shit ticket doer" left the company after being burnt out.
I work with a small-ish digital agency as a BE dev, so I'm mostly dealing with small to medium scale projects built with WordPress/WooCommerce, with often custom API/ERP integrations on top. I'm not a big fan of the stack as a developer but as a contractor I can understand the business reasons why it is used. Part of me wants to find something else, part of me thinks I'm looking for a perfect company that doesn't exist and I should lower my expectations -- I might find better work for sure, but with the same pay and conditions? It seems unlikely at the moment. The company was recently acquired, so I'm hopeful for the future.4 -
Client used IR35 as an excuse to not say thanks for helping them win an award. Been working on a contract for a firm for 3.5 years. I single handedly architected lead, recruited a front end dev and built the site (along with that other contractor).
The other day they won an award for the site. I didn't expect to be on the official thank you list (they named and thanked everyone involved) but they even excluded me and the other contractor (who granted was short term) from the internal email. Their reasons? IR35 and they're protecting me.... My rates are now being adjusted for the work I actually do!2 -
Failed to make a decent demo for client because spaghetti code. I want to work on the project to sort out codebase to avoid same thing happening again, boss wont hear it and switches me to another project of which I have little knowledge of the stack when we have another guy who has experience in it.
My main project (the one I want to sort out) is so big it should have 4 people full time on it, but it has me and one part time outsourced contractor. I was hired as a meteor dev and he makes me work on an angular project like its totally easy to switch from meteor to node+angular+Jade.
I am a junior dev, boss has no idea how to project manage and ignores advice I give him.
This is going to be hell when we miss deadlines and have to explain to the client why their product has so many bugs.2 -
I’m currently working 2 jobs with over 60 hour work weeks in addition to my own SaaS company.
One job is full-time 40 hours, where I am a mid level developer and I just do the waterfall of tickets that is assigned to me. This place is unorganized and has almost no communication within the team.
The second job I am the Senior Dev and project lead. It’s a contract position that I put 20+ hours in on the evenings and weekends. Agile methodology, with a modern tech stack and I promote excellent communication as well as documenting everything.
I’m in a unique position because I’m able to see these differences and compare them side by side. My full-time job doesn’t really know about the second job. I get my work done, and that’s all that matters. This place is a mess. The project lead (CTO) is a helicopter boss that sticks his nose up at any type of formal documentation and practices. No tests are written.. no SIPs or deployment docs.. no stand ups or anything. I must also mention this team has 5 developers and a QA.. my team is only 2 developers and a QA. We get through tickets much faster.. it helps when I go over every single ticket that is created and add requirements and images..
I guess my point is... I’m about to be a full-time contractor because I can’t take this unprofessionalism anymore.
Just because these formalities technical take longer. It does decrease actual time spent developing a project. Spending a couple of hours on tests and requirements can save you days of back and forth in the future. Not to mention... document.. everything.1 -
I had a pretty good year! I've gone from being a totally unknown passionate web dev to a respected full stack dev. This will be a bit lengthy rant...
Best:
- Got my first full time employment dev role at a company after being self-taught for 8+ years at the start of the year. Finally got someone to take the risk of hiring someone who's "untested" and only done small and odd jobs professionally. This kickstarted my career, super grateful for that!
- Started my own programming consulting company.
- Gained enough confidence to apply to other jobs, snatched a few consulting jobs, nailed the interviews even though I never practiced any leet code.
- Currently work as a 99% remote dev (only meet up in person during the initialization of some projects.) I never thought working remotely could actually work this well. I am able to stay productive and actually focus on the work instead of living up to the 9-5 standard. If I want to go for a walk to think I can do that, I can be as social and asocial as I want. I like to sleep in and work during the night with a cup of tea in the dark and it's not an issue! I really like the freedom and I feel like I've never been more productive.
- Ended up with very happy customers and now got a steady amount of jobs rolling in and contracts are being extended.
- I learned a lot, specialized in graph databases, no more db modelling hell. Loving it!
- Got a job where I can use my favorite tools and actually create something from scratch which includes a lot of different fields. I am really happy I can use all my skills and learn new things along the way, like data analysis, databricks, hadoop, data ingesting, centralised auth like promerium and centralised logging.
- I also learned how important softskills are, I've learned to understand my clients needs and how to both communicate both as a developer and an entrepeneur.
Worst:
- First job had a manager which just gave me the specifications solo project and didn't check in or meet me for 8 weeks with vague specifications. Turns out the manager was super biased on how to write code and wanted to micromanage every aspect while still being totally absent. They got mad that I had used AJAX for requests as that was a "waste of time".
- I learned the harsh reality of working as a contractor in the US from a foreign country. Worked on an "indefinite" contract, suddenly got a 2 day notification to sum up my work (not related to my performance) after being there for 7+ months.
- I really don't like the current industry standard when it comes to developing websites (I mostly work in node.js), I like working with static websites (with static website generators like what the Svelte.js driver) and use a REST API for dynamic content. When working on the backend there's a library for everything and I've wasted so many hours this year to fix bugs and create workarounds related to dependencies. You need to dive into a rabbit hole for every tool and do something which may work or break something later. I've had so many issues with CICD and deployment to the cloud. There's a library for everything but there's so many that it's impossible to learn about the edge cases of everything. Doesn't help that everything is abstracted away, which works 90% of the time but I use 15 times the time to debug things when a bug appears. I work against a black box which may or may not have an up to date documentation and it's so complex that it will require you to yell incantations from the F#$K
era and sacrifice a goat for it to work properly.
- Learned that a lot of companies call their complex services "microservices". Ah yes, the microservice with 20 endpoints which all do completely unrelated tasks? -
Due to a change in circumstances, I might be starting to work as a contractor Developer very soon in the UK. Any tips from old hands?2
-
My project has just ended. And I feel a bit too settled in my current company, as my employment here is approaching a 10yr line.
An ex-colleague is tempting me with freelance/contractor devops/dev/all purpose handyman adventure.
I'm a bit concerned, but equally tempted.
What should I consider? What would be the reasons you'd use to reject this adventure?
Is contractor role paid better or worse? Or the same?5 -
!rant
I am in the crossroads of how to answer a question "How do you see yourself after 5 years time?". And I honestly have a difficult time deciding which path I should be striving for. How and which point does a software developer decide what steps to make to achieve next role? Are here devs who went from a software dev to 1) Tech lead 2) Manager 3) Contractor. Could you tell your story and what did you do if you did it on purpose? Or maybe how did you got better? Books? People? Forums?