Tag Info

Hot answers tagged

429

You don't explain; not further, not at all. You just say no. This is your business, and your choices about how to conduct it are not up for discussion. The terms of any contract are up for discussion; before signing, that is. He's giving you multiple big red flags that this contract will be a miserable experience, that it will continue to be so even ...


319

(Or, the flip-side of my previous advice...) You stop giving protestations, and say yes. "Yes, I would be happy to write a new contract for these additional deliverables. Project-complete tutelege in my proprietary tradecraft is valued at (value of my projected income for the next $N years). There will also be a licensing fee $Y, for physical file ...


71

I wouldn't deal with this guy, period. It sounds like simply doesn't understand that much of the job is thought. If you supplied him with the video he's going to nitpick all the time you spend ignoring him (thinking about the situation.)


53

I think the biggest problem (other than having an insane customer) is that the arguments you make are weak: Hundreds of hours of work on a dual-screen PC will require a large amount of disk space for the recorded videos. If I don't care about space, I do care about this customer wasting my bandwidth downloading those videos. Disk space and ...


45

The client doesn't understand software development if he thinks he needs a video of your work. A good programmer will generate the most value for the customer when they don't appear to be doing anything with the computer at all. Maybe he'd like you to start billing extra for those times when you invariably think of a solution to a problem during your ...


40

We worst part of the core are untested (as it should be...). This is the problem. Efficient refactoring depends heavily on suite of automated test. If you don't have those, the problems you are describing begin to appear. This is especially important if you use dynamic language like Ruby, where there is no compiler to catch basic errors related to ...


35

Step 1: Stop working unpaid overtime. You have already trained your customer and manager for a year to believe that the current rate of development is what should be expected. This is part of the reason why they do not understand why a "simple" thing could take a full day to do. You don't need to hold them hostage and attempt to hurt the project. But you ...


35

how to explain that you've chosen to use one technology rather than an equivalent one for the reasons related to human resources, without giving the impression to be unprofessional or to not care about the project? Well. You say just that: In terms of the requirements for this project, technology X and technology Y are equally suited to the task, so ...


32

What does your contract with the customer say? If it doesn't, and this is a work for hire, then they own the source code unless your contract says otherwise. In the future, you may want your contracts looked over by a lawyer. I am not a lawyer, this is not legal advice, and you should probably consult a lawyer. It appears that the answer lies in whether ...


32

Ideas are cheap. It's implementation that really matters. If he's not commissioning you to create the app for him and paying you what your time is worth, I would give him a very meager cut of the profits. Certainly less than 50%.


26

Do it but require that the customer put your entire fee into an escrow account; otherwise, how will you know he will pay you? The escrow account should be created by a lawyer who will video tape all billable time spent on the contract. The client must record all time spent approving the software. Preferably one video file per requirement. If you're going ...


26

What I have never done, but I know others do, and it is awful, but apparently it works, is this: Give them a quote (say, €500) for the simplest possible web site that covers their requirements. (The crummiest thinkable two-story house made of matchsticks.) They will like it, and they will stop talking to your competitors and start talking to you. As they ...


24

As with many things in computing, it depends. If the patches are a response to customer requests for new features or improvements, then your company will be viewed as responsive. If, on the other hand, your patches are a response to bug reports, then your company will be viewed as incompetent. Testing software on your customers is by far the most ...


23

I would recommend reading Working Effectively with Legacy Code by Michael C. Feathers. It explains that you really need automated tests, how you can easily add them, if you don't already have them, and what "code smells" to refactor in what way. Besides that, another core problem in your situation seems a lack of communication between the two teams. How big ...


21

IMO you should have the "You don't understand URL rewriting" discussion with your client. Obviously you should not bluntly tell your client, "You don't understand". Instead, I would start off with, "Before we invest anything, I think we should discuss X to make sure we're on the same page about what the pros and cons of X and it's alternatives are." If it ...


21

Your team needs to do the data conversion for them. You really should have done it for them in the first place. I've been involved in a number of expensive platform migrations and the vendor always, always has their own data conversion team who are responsible for understanding the legacy system, writing all the migration scripts, doing all the tests, and ...


21

"How to explain to him that it is not an usual practice for the freelancers to record the videos of their daily work, and that such extravagant requests must be reserved to exceptional circumstances"⁴ Ask your customer: if you were an employee and not a contractor, would he stand over your shoulder and watch your work all day, every day? The answer ...


21

There are many ways to answer such queries - Answer 1: It will cost you X Euros per hour to define the system, after which I can give you a fixed price for a set of agreed-upon features. Answer 2: send them a video clip of sharks in a feeding frenzy, and ask them how long it will take them to count the fish (not just the sharks), given that they can't see ...


20

In an interview with Seth Godin on the Difference Between Leadership and Management, Mr. Godin suggests firing those customers who take 80% of your time for 20% of the benefit. Doing so will allow you to focus 100% of your time on the customers that make a difference. Is it good for your awesome, amazing customers if you take their call right after ...


20

Yeah - absolutely not. My first instinct is to walk away - at such an early stage of the process, if he's treating you like a thief - and that is what he's suggesting - then it's just going to get worse later when XYZ feature doesn't work exactly the way he envisioned. Not doesn't work to spec, doesn't work to what he thought the spec should be. If you ...


19

Why would you bother accepting a contract with such a pesky customer? If they don't trust you before you've committed to the deal it's not going to get better. It's quite possible your customer has been burned in the past, and that's something you can sympathize with, but you need them to understand that programming is intellectual work, and time at ...


19

Oh man, I was in this position so many times back when I freelanced I'm feeling your pain right now. It all changed when I changed my way of thinking about clients: all clients are con artists. Let me say that again: ALL CLIENTS ARE CON ARTISTS When you change to this perspective it is when you realize you actually have the leverage most of the time, ...


18

How do I decide what percentage is realistic? No %. At best he gets a free copy. (Also, You post it on the App store.. NOT him) EDIT IT'S NOT STEALING! The Customer has NO interest in this Business, he is just trying to get free work. This is one of the oldest Scams in the book. You know what i used to tell My customers who suggested ...


18

A vector has both a magnitude and a direction. He is saying you can't describe intelligence by just its magnitude. You must also know the direction the intelligence is pointed toward. Einstein said: “Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid.” Bloch is ...


16

If 'several people' are doing this, then: The branding isn't as clear as you think it is. Make it clearer. Hire someone who does this for a living. If you're worried about people taking your source code and using it anyway, then maybe you shouldn't be writing it in PHP, or have some sort of authentication? Overall, if you can you want to maintain a good ...


16

Are you willing to take the risk that if you work for free/almost-free, and the product does not sell, you will make nothing? Do you have enough saved to pay the bills if this happens? Is the idea so amazingly revolutionary that you will make a small fortune on it? ...Avoid this if you can. The customer should pay as much as they can, but never nothing. ...


16

Even if you are working as a freelancer, you need to maintain your work ethics and culture. If possible ask your customer to find another developer. Never entertain such requests.


16

What not to do: Forget to tell those you are observing who you are and why you are there. They will assume you are there for some bad reason like determining if they should get fired if you don't explain. Tell jokes. You don't know their corporate culture and what is appropriate in the IT world is often vastly different thtn the rest of the world. At best ...


15

Are they paying for the additional features? If so, then it's really not your business whether they are using them or not. Give them what they pay for. If, however, that is not the case, then it's up to your leadership to decide if they are willing to keep adding features at no additional income.



Only top voted, non community-wiki answers of a minimum length are eligible