Swizec Teller - a geek with a hatswizec.com

    Lost a freelance project, but gained a knowledge

    • Rall

      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.

    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!

    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.

    Reblog this post [with Zemanta]

    Did you enjoy this article?

    Published on December 2nd, 2009 in Communication, Employment, food for thought, freelancing, life, Scientific method, Uncategorized

    Learned something new?
    Want to become an expert?

    Here's how it works 👇

    Leave your email and I'll send you thoughtfully written emails every week about React, JavaScript, and your career. Lessons learned over 20 years in the industry working with companies ranging from tiny startups to Fortune5 behemoths.

    Join Swizec's Newsletter

    And get thoughtful letters 💌 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. 👌"

    ~ Ashish Kumar

    Join over 14,000 engineers just like you already improving their careers with my letters, workshops, courses, and talks. ✌️

    Have a burning question that you think I can answer? I don't have all of the answers, but I have some! Hit me up on twitter or book a 30min ama for in-depth help.

    Ready to Stop copy pasting D3 examples and create data visualizations of your own?  Learn how to build scalable dataviz components your whole team can understand with React for Data Visualization

    Curious about Serverless and the modern backend? Check out Serverless Handbook, modern backend for the frontend engineer.

    Ready to learn how it all fits together and build a modern webapp from scratch? Learn how to launch a webapp and make your first 💰 on the side with ServerlessReact.Dev

    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 ❤️

    Created by Swizec with ❤️