Let me share a story that happened to me this week.
I was hired as a software dev contractor in a web agency. The agency claims to be "the market leader in agility". My bullshit scanner raised a warning, but the money was too good to reject the offer.
Our team was tasked to create a new landing page for a project for one of our key customers. Nothing particularly exciting, just a colorful landing page with a simple subscription form. So far, so good.
Because I worked as a freelancer in the past, I learned that my income is directly tied to my performance. The sooner I make the customer happy, the sooner I get paid. If a customer is waiting, I have no money to pay my rent. As simple as that. I was trained to deliver customer value fast, no matter what.
Yesterday, my manager organized a meeting. The purpose of the meeting was to agree which frameworks and libraries should be used for the new landing page. We are a team of four devs, plus the manager. I suggested that the meeting is not necessary, we better stick to the tools we already know and get back to work. Everybody disagreed because it’s a good opportunity to finally try React Hooks. Or Svelte. Or only God knows what.
I ducked out and just built that landing page. No bad intentions – I just wanted to build something in my lunchtime. I picked tools that other devs are familiar with. Then quickly deployed the page to staging env, showed it to the customer, and the customer enjoyed it. After a couple of fixes, customer asked me to ship to production. Click, it's live. The team was still in the room arguing.
The team ended the meeting at 18:00. It took them 6 hours to reach consensus. They will use Svelte because Svelte is a new black. The team has zero experience with it whatsoever. Learning is part of the job, right? The manager was facilitating this nonsense.
6 hours x 4 people = 24 hours wasted.
When the team saw the landing page ready, they threw a joke that my approach is not good for business. The manager rebuked me for not being a team player.
When I asked:
You better stop thinking like a freelancer.
The customer called me the next day and said that the agency charged them 40 dev/hours for the landing page. I hang the phone up, pretending the internet connection was lost. I didn't know what to say. I didn't want to lose my job and lie to the customer either.
People talk a lot about agility, continuous delivery, delighting the customer. Every dev in my team, as well as the manager, is a Certified Scrum Master. They teach others "how to be agile", speak at meetups and conferences. Moreover, they truly believe that these neverending meetings, daily standups, learning at work is what customer must be paying for.
Those folks work full-time and salary drips on their bank account every month, regardless of the work results. Where is the incentive work fast? Developers are not hungry. Life is good, long meetings and discussions are fun.
This is why many developers are afraid of freelancing or becoming self-employed. You can't just work anymore; You have to actually deliver value asap, otherwise, you can't pay rent. For me, it sounds motivating enough to work faster and pick tools wiser.
The company fired me. When a puzzled customer asked how much time I spent on the landing page, I didn't lie.
The customer hired me directly. 2x salary.
It's good to think like a freelancer.
That's the whole story. Make your own conclusions. Love you! ❤️