When Developers Go Rogue

Yesterday, Suzette Franck posted the following to the OC WordPress Facebook group: A German developer named Frank Jonen had a dispute with his client, Fitness SF. He claims that the client did not pay their bill. Frank took his dispute to the web by hijacking Fitnes SF’s website and posted a note complaining (frankly, whining) to the world about his client. What Frank Jonen has done is completely unprofessional.

A screenshot of the hijacked page is at the bottom of this post. Leading up to the hijack, Frank tweeted about what he was doing.


Bad form, dude.

Frank, I get it. You’re pissed. You feel wronged. You want revenge. This is not the way to go about it. Here’s why:

  • If you had any chance of reconciling a business relationship with this client, you can kiss it goodbye. You put a nail in the coffin. You will never have a relationship with this client and you will never get paid. Instead, you may be facing a possible lawsuit.
  • The page you posted is getting traffic on Twitter and you are getting noticed. But this is not the kind of press you want. Any potential clients that see this page will never hire you. You will forever be labeled as unstable.
  • It looks like you were attempting to make Fitness SF look bad and that you want their clients to take action. Make no mistake, you are the only one who looks bad here. And you look really, really bad.

Managing Expectations

I do not know the details of the relationship between Frank and his client and I have no idea what led up to the relationship going sour. Frank may have delivered late. He may have delivered work that was not what Fitness SF was expecting. Fitness SF may not have paid their bill for a number of reasons, many of which are not malicious. Who knows…

Regardless, Frank’s expectations about how he was to get paid were not met. And it was Frank’s responsibility to communicate those expectations before things got out of hand. I wonder if the milestones were set up in a way where the majority of payment was paid after the project was delivered. If they were, Fitness SF would have been motivated to make sure their entire project was absolutely final before paying for their project.

We prefer to establish milestones for our projects that include interval payments. This ensures that we ask for approvals throughout the project. Aside from payments, we make every effort to stay in constant communication with our clients. We request client feedback throughout our production process, at some points on a daily basis. If there is something wrong, we know very quickly and we can address it right away. Small problems should never have a chance to escalate to the level of complete dissatisfaction. But even with the best of intentions, it can happen.

Lots of things can change while working on a web project. I have never been on a project where the scope hasn’t changed over the course of the project. How you deal with scope change is what separates a good developer from a great developer.

This is a sad day for web developers everywhere.

The reason I’m disappointed is because Frank’s actions make all developers look bad. It tarnishes our industry and creates a trust barrier between clients and developers. I have spoken to many potential clients in my career who have a horror story about a former developer. I’m sure Fitness SF has their own story to tell.

Not getting paid is usually a matter of expectations being out of whack. We’ve had clients that weren’t able to pay their bills. It happens. And while I don’t like it, we have always found a way to deal with it peacefully.

Don’t be like Frank.

For more, see this AdWeek post.



  1. Suzette Franck on February 15, 2013 at 10:48 am

    Excellent post. I have to agree with you, taking this kind of action does much more harm to yourself and your reputation than any good that could possibly come of it. Luckily, it is definitely not the way that most developers I know work. We have all had our squabbles with scope and payment issues, but there is no excuse for public shaming and this speaks more about the poster than about it’s intended audience. Yet another great reason to make sure you have a clearly defined contract and that all expectations of delivery and payment are handled up front so there are no surprises.

  2. Tabby on February 15, 2013 at 10:54 am

    You know, I’ve had MANY “well-meaning” people tell me that I should disable people’s websites as a response of their non-payment (I don’t know how I pick the clients who don’t pay or who pay late but that’s besides the point). Every time I feel incredibly uncomfortable. I choose to make the agreement or to turn in the work before payment was sent. That is my issue, not the clients, that I didn’t write that contract well enough… or that I wanted to be “nice” by turning the work in ahead of time.

    And, lawsuits can be more than what you bargain for. not only can they sue you for libel or whatever the term is, but also for any potential lost sales from that point forward due to it and that really sucks.

    My general rule if that happens is: sucks to be me, next time don’t be a tool and turn in work without payment in hand. If that client wants to work again, realize you will get paid late, pretty much always, or require payment in advance before work is turned in.

    In fact, I have had that happen. And any time I do work for one particular client, I never tie the money to anything important, because it will always be paid on his time… which may be months. And that’s less of a hassle, for this particular person, than having the money up front and how we work that way. It’s situational.

  3. Gregg on February 15, 2013 at 10:55 am

    Very good points. Thanks for the article Steve.

  4. Marc Benzakein on February 15, 2013 at 11:01 am

    Couldn’t agree more! I’d write my own blog post about it, but you nailed every single point I would have made. . . and better.

    Don’t be like Frank!

  5. Tony Perez on February 15, 2013 at 11:05 am

    When Dre and I were running CubicTwo we ran across a client that did this very thing, decided not to pay. Fortunately for us we didn’t deliver all the features per the agreement but a part of us wanted to do what Frank just did. The decisions for not doing it were exactly what you just said. In short, it’s bad business all around.

    I saw this and first thing that came to mind was a defacement of a legitimate site. I don’t know the specifics of the contractual agreement, but this guy actually hacked and defaced the site of a client.


    • Steve Zehngut on February 15, 2013 at 11:10 am

      Tony, I absolutely agree. My assumption is that fitnesssf.com (the domain) is the property of Fitness SF, not Frank Jonen. He hacked their property. Period.

  6. Jerry Bates on February 15, 2013 at 12:03 pm

    Surprisingly, when I first read the tweet and visited the Fitness SF site, I felt a bit of a vicarious thrill; it was like watching a good revenge fantasy, and I cheered for him at that doer of things we cannot ourselves do.

    That feeling lasted about 30 seconds.

    Stepping back a bit, I realize that I am grateful to have never faced a similar situation. Not even close. For all the reasons you describe (clear and frequent communication, setting milestones and expectations, etc.) I have never had this issue with a client, and never once have I had to utter, threaten, or consider using the nuclear option, as I like to call it.

    In the end, what we do is more than just build that technically complicated *thing* that our clients cannot build for themselves, we must also build rapport, understanding, and trust with those who seek our help.

    That and a killer website/app/system/service…

  7. Joel on February 15, 2013 at 12:55 pm

    Very interesting Steve, I’ve often thought about whether people do this. I’ve been very fortunate too and have only two clients in five years who haven’t paid the last payment. Honestly I have thought about doing this but never done it for many of the reasons you mention. I want to be known for being calm, honest and professional. Not someone who threatens and goes over the top.

  8. Dan Wool on February 15, 2013 at 1:40 pm

    Ben was the best at this. He attached a photo of his kid to his invoices. Paid first every time.

    I’ll bet Frank is under 30.

  9. Megan on February 15, 2013 at 1:59 pm

    I’m also a developer. I have some mixed feelings here. I understand what you’re saying about the behavior being unprofessional, to a degree. However, if you buy a car and quit making the payments that you agreed to make, that car will be repossessed. I’m not sure about posting a flashy new page in its place, but what about restoring back to an archived version of the site before you touched it?

    While I can read what you posted here and it sounds very measured and reasonable, it is wildly contradictory to the realities I have experienced with clients. I work at a mid-sized agency, and we have been stiffed by more than one client. We had established solid relationships and what we thought was a good working rapport with these clients at the time. I think I largely take issue with these ideas:

    “Regardless, Frank’s expectations about how he was to get paid were not met. And it was Frank’s responsibility to communicate those expectations before things got out of hand. I wonder if the milestones were set up in a way where the majority of payment was paid after the project was delivered. If they were, Fitness SF would have been motivated to make sure their entire project was absolutely final before paying for their project.”

    It is Frank’s responsibility to make an effort. He claims to have things well documented and to have communicated his payment terms and expectations to the client several times. At what point is the client being unreasonable? At what point are they required to meet their half of the arrangement? I know from past work that some clients will be very pleasant, and you will have a very open and communicative work relationship, and that relationship suddenly ceases entirely when final payment comes due. To the point that you start questioning everything about the project and if the person you were communicating with ever existed, because they are suddenly in the wind.

    Perhaps his response was flashy, but it is neither honest nor professional to withhold payment for work that has been done. Who was chastising Fitness SF for that (or ever would have) before Frank made the issue public?

    And one more concept I’d like to explore more fully: Do you really think that this will decrease his likelihood of future business? I know that I’m biased as a web dev, but trying to put that aside, I would still be fine working with a company that took action similar to this because I intend to act with integrity on my end of the deal, so I have no reason to think that I’d face such action.

    (I don’t mean for this to be combative at all. It’s all in the name of discourse. I’ve been doing the agency thing for a while, but I’m still fairly green in the freelance world and haven’t fully formed/thought out my stances on these kinds of issues.)

  10. Mary Baum on September 14, 2014 at 9:47 pm

    Having grown up in the high-end kitchen remodeling business, I came first to the ad business and now to the WP business with one ironclad rule: I do not tolerate receivables. Receivables (for the most part) broke my parents.

    I start work with a signed contract and a credit-card number. If the project is a short one – say, less than a couple of months, I’ll set out approval milestones – at which point I don’t send an invoice. I ding the card for an amount spelled out in the contract – and generate a receipt.

    If the relationship goes longer, I’ll set up a retainer and ding the card once a month.

    (I do have two clients who are exceptions – I send them bills and they send me checks – but those relationships are of such long standing that I’ve known the principals since before one of the current client contacts was born.)

    But essentially, if I were PayPal’s agency, the tagline for their Virtual Terminal product would be, “$30/month gets you paid in under ten minutes.”

    If only generating qualified leads were that easy.

Leave a Comment