During the time of doing business and creating startups of various subjects, I had to hire freelance programmers to implement this or that project. In total, about forty (40) people were taken and laid off over 3 years. Each of them in any way violated the rules of work and clauses of the contract: they did not fit in with the deadlines, the functions of the sites were not correctly implemented (although the TK and the design were given in details), the order was not of high quality, problems with communication with the employee do not respond to messages) and many others. That is why we made and improved for ourselves the terms of the contract with freelancers, which I will discuss below.
I want to note that I myself do not have a “powerful store of knowledge” for the implementation of quite complex functions on the site, but, nevertheless, I can create a project of average complexity. In other words, I have an idea of ​​how much time is required for the execution of work and the development of functions. With each of the freelancers, I entered into an individual contract after agreeing on the details of the project. Here are a few items that are required:
')
1) Non-Disclosure Agreement. Signs before any other contract with the employee. Here you specify it and your data, a brief description of the project and the responsibility of the parties. It doesn't matter if you start working with him or not, legally your idea will be protected.
2) Timing. I advise you to break the whole project into several parts with a detailed description of each part of the project. Then negotiate the terms with the contractor. Often, employees greatly overestimate the time for 3-4 weeks or even more so that they have time to fulfill other orders that they have accumulated for execution. I advise you to consult with competent people how much it may take in reality. Depending on the responses received, you either reduce the time or reduce the payment for the project. If the employee refuses, look for a new one.
Dates of implementation of each part of the project also write in the contract. You can give the freelancer a couple of days (1-2) after the expiration date of the part of the project to “correct errors”. With 95% confidence, I can say that there will be shortcomings that “forgot” to make or made “carelessly”.
If the deadlines are violated, I highly recommend registering fines: a percentage of the final payment or a specific amount. It may not be a great motivator to follow the deadlines, but it will help you reduce costs.
It is very important not to be “intelligent” in such a situation and to be late for a few days, as this will soon become a habit for the workers, and they will simply “sit on your neck.”
3) Website rights and intellectual property. Here everything is short and clear: all rights must pass to you after the project is implemented. Programmers can argue about this, but in the future it may “slow down” the development of the project when concluding transactions with investors or partners.
4) Link to the developer on your site. Personally, I am opposed to such links on my websites, therefore I prohibit this clause in the agreement. You can add your employee to the "Partners" section on your website (if you have one) or allow him to display your project in your portfolio.
5) Communication with a freelancer. I used to monitor the progress of work. In each contract, I specify that the developer should always answer the phone within an hour. If there is no answer from him within 24 hours at all, a shtaf is superimposed. In the modern world, everywhere and always there is an opportunity to make a call or send a message, so do not accept any excuses. Moreover, I recommend registering in the agreement that every two days you should be sent a written report on the work done.
6) The item on non-competition. If your idea is innovative or contains elements of intellectual property, I advise you to specify a non-competition clause. You can require the employee not to transfer project information to third parties and not create similar or competing projects for a period of time (say, two years from the date of signing the contract). This item is rarely used because of its complexity of interpretation. However, if you try to clarify the details, it may well help you in the future.
I want to note that before starting the project, you need to be clear about what you want to get in the end. Without this, the project will be made endless adjustments and adjustments that will delay the execution of tasks for a decent period. And the guilt of the developer will not be there.
In addition to the standard clauses in the contract, I highly recommend the ones described above. Thus, you will save both yourself and the developer a lot of time and nerves.
I would welcome any comments, additions and objections.