-
Image by Alberto Casanova via Flickr
For the past month I've been working on a freelance project shoved between all my other responsibilities because I felt I needed some sort of cashflow. But yesterday said project went poof and I'll probably never get to work with that company again, over the phone it sounded like there was some bad blood between us, but because of how they led the conversation I didn't feel like prodding and finding out what specifically went so poorly.
However, I know exactly why I lost the project, poor communication on mostly my part and an extreme lack of proper time to devote to the work. But none of this really matters, the reasons are arbitrary and I'm sure the client would put forth completely different reasons and I'm very certain in my career I'll lose countless projects and gain countless others. What matters is what I learned from the experience.
1. Negotiate a clear deadline
Working under the assumption that the project needs to be finished when it's done, while the other side expects you to finish in a month is very problematic. The biggest problem here being that without a deadline you're naturally inclined to give it your 100% very bestest effort, which leads to over-engineering and too much pedantry and just plain old producing something they don't really want.
2. Clearly very clearly negotiate the time you've got
Certainly I told the client, hey, I've got 10, at best 15, hours of time every week to work on this project. Most of this will be during weekends. And of course they agreed. But I don't think they realised just how serious I was about this constraint (has happened to me before). So next time dear freelancing Swizec, make very extremely 100% fucking certain both sides know what you are able to bring to the table.
-
Image by Lillou Merlin ~ On ~ Off via Flickr
3. Listen to your gut feeling
When your gut smells something suspicious, it's usually right. I won't go into specifics as to what the smells were and just how bloody early into the conversation I knew this wasn't going to be a perfect fit, but I did know, and I didn't listen, because I thought that meh, I'll make it work somehow.
__I didn't.
4. Negotiate who they're hiring
Now I won't go so far as to say this was the problem here, but I've had a similar issue once before. Sometimes when people hire a freelancer, they actually want an employee and all the perks that come with that. Well, you have to negotiate this in advance, otherwise both sides just end up being disappointed.
5. Make sure they know in advance when you're down
Apparently not everyone is going to like it when you stop your life for a week to take care of exams, midterms and such things at school. They might not realise this is important stuff, but it is. In the past I didn't use to do this, but I've learned the hard way that NOTHING and I mean absolutely nothing is more important than school.
6. How you know you've not lost much
If, upon breaking up with you, the client calls you names - yes even calling someone arrogant is calling them names - then they're sending a clear message to that the relationship breaking up is rather a good thing than a bad thing. Yep, even when they're just doing it as an emotional response and a rationalisation for breaking up.
And commenting someone's work with* "We'll try to use what you make, but I doubt it's possible since it's all crap"* ... seriously man? Seriously? I may not be on the level of someone who builds software for NASA or Google, but I am in fact a professional in my field and have a certain amount of empirical data to prove that my work is not, in fact, useless.
Civil conduct, it matters!
-
Image by info_aesthetics via Flickr
The good stuff is more important!
But most importantly, I got to work with a fucking brilliant developer. He knows who he is and I do hope he'll continue reading my blog despite my having left him with a bit of mess to clean up - it's not a big mess, but unfinished code is always a mess - he was very great throughout the whole process, very helpful and very good with showing me around their codebase. Yep, despite this being supposedly his first shot at it.
Oh and did I mention that he designed a very brilliant framework? I've been into web frameworks since 2004 and I know very well when I spot something well designed. Kudos man.
Needless to say that if I'm ever in the position of poaching this person I am SO doing it, without a second thought. Mine! At the very least I hope we can remain in good relations ...
And that's all I've got to say on the matter, thank you for the lesson dear client who shall remain nameless.
Continue reading about Lost a freelance project, but gained a knowledge
Semantically similar articles hand-picked by GPT-4
- Clients need deadlines too
- Lessons learned after a month of freelancing full time
- How to royally cock up as a freelancer
- Lessons learned in a year of freelancing
- I went through YC as an intern, here's what I learned
Learned something new?
Read more Software Engineering Lessons from Production
I write articles with real insight into the career and skills of a modern software engineer. "Raw and honest from the heart!" as one reader described them. Fueled by lessons learned over 20 years of building production code for side-projects, small businesses, and hyper growth startups. Both successful and not.
Subscribe below 👇
Software Engineering Lessons from Production
Join Swizec's Newsletter and get insightful emails 💌 on mindsets, tactics, and technical skills for your career. Real lessons from building production software. No bullshit.
"Man, love your simple writing! Yours is the only newsletter I open and only blog that I give a fuck to read & scroll till the end. And wow always take away lessons with me. Inspiring! And very relatable. 👌"
Have a burning question that you think I can answer? Hit me up on twitter and I'll do my best.
Who am I and who do I help? I'm Swizec Teller and I turn coders into engineers with "Raw and honest from the heart!" writing. No bullshit. Real insights into the career and skills of a modern software engineer.
Want to become a true senior engineer? Take ownership, have autonomy, and be a force multiplier on your team. The Senior Engineer Mindset ebook can help 👉 swizec.com/senior-mindset. These are the shifts in mindset that unlocked my career.
Curious about Serverless and the modern backend? Check out Serverless Handbook, for frontend engineers 👉 ServerlessHandbook.dev
Want to Stop copy pasting D3 examples and create data visualizations of your own? Learn how to build scalable dataviz React components your whole team can understand with React for Data Visualization
Want to get my best emails on JavaScript, React, Serverless, Fullstack Web, or Indie Hacking? Check out swizec.com/collections
Did someone amazing share this letter with you? Wonderful! You can sign up for my weekly letters for software engineers on their path to greatness, here: swizec.com/blog
Want to brush up on your modern JavaScript syntax? Check out my interactive cheatsheet: es6cheatsheet.com
By the way, just in case no one has told you it yet today: I love and appreciate you for who you are ❤️