It happens that the site is ready, but you need to add some program to it:
- online calculator;
- mailing program;
- statistics analyzer;
- parser and so on.
Or do you want to create some kind of unique service for users.
In such cases, it is not always possible to use ready-made solutions and you have to hire a programmer.
Drawing up a vacancy and TK for a programmer
To post an ad about finding a freelance programmer, you need to narrow the search. To do this, write an ad of the form:
A programmer is required to add the X function to a ready WordPress site.
From the ad, the freelancer understands what is required of him and whether he can do it. But it is not clear from it which plug-ins or best practices are already used, so it’s impossible to immediately identify vulnerabilities.
When you decide on the choice of artist and discuss all the important points, you can send TK. It should be:
- Terms, negotiated with the performer, and situations where the deadline can be moved.
- Method and payment option. For example, on a bank card after accepting an order.
- Fines and edits.
- Detailed description of how you see the result of the work.
- Technical information.
The first three points are standard for any contract, but the last three can be disassembled in detail.
So that when making a ready program there is no disagreement, it is better to describe in detail what you want to receive.
Suppose you need a spell checker. Describe all your submissions:
- in which field the user can insert text;
- whether it should be checked in real time;
- how errors will be highlighted;
- Will there be comments on errors?
- whether there will be a limit on the amount or number of attempts.
- how much text can be checked at one time or one day;
- how users will pay for additional attempts or volume;
- what bonuses will be received by users;
- whether it is necessary to measure the literacy of the text in points;
- whether it is necessary to save the text in the database and so on.
Such scrupulousness may seem dreary or even excessive, but it will protect you and the programmer.
You must provide the technical information that is needed to execute this particular program, but no more. This is easy if your site is created on some common engine - you just specify the name of the engine and plug-ins with which the new program should interact.
With samopisnymi sites or engines more difficult. Here you can either not give any information at all, except the language, so that the programmer can compile only the program itself. And then you yourself add it to the site, if you understand the question, but it is fraught with the fact that the result will work crookedly.
Identification of network resources is an important preparatory step before hacking. If a hacker knows that your corporate portal is running IIS 7 running Windows Server 2008, then it needs to find the vulnerabilities that affect these software products. To do this, the easiest way to search in the bases of vulnerabilities. If it was not possible to find anything, then a very advanced hacker could try to find a “loophole” on his own, collecting an exact copy of the system being hacked and trying to independently analyze the code. "Information security: defense and attack", A. Biryukov
If you want a new service to be immediately added to the site, you can specify data about the files used, the database, language, libraries, and function names. Here is an example:
The program should be displayed on the page.php page, and the executive file in the core.php file. Interaction between files using ajax. All processed data should be recorded in the data_table (My_SQL) table with the columns id, name and url.
You cannot create functions and variables with the names: generate, crop, and analyze. Otherwise a conflict is possible.
Code Execution Standards
Different people write differently. A good example is our blog. There are several authors in it, each with their own style. Same thing with programmers.
I asked Olga Bezmaterny, the Texterra sales manager, what she thought about working with someone else's code. She replied that he slows down the execution of tasks, and once in her practice there was a case when it was impossible to work with the code - she had to return the money.
Therefore, if several people work on a project, it is necessary to draw up standards for the design of the code — something like a redirect policy for programmers.
Suppose you need a code that will check whether the variable $ a is equal to one, and output a message about it. Besides the fact that this code can be arranged in different ways, it can be implemented in different ways.
Variables can be called differently: $ aB, $ ab, $ a_b, $ A, and so on. If it is insignificant, adding comments is critical. Without them, it’s hard to navigate the code, even if you wrote it, but put it off for a week.
Therefore, in order for this program to be easily corrected by any other programmer, it is necessary for her to have some kind of standardized look. You can entrust the drafting of standards to the first programmer with whom you worked.
Connection and Testing
Before connecting the program it is better to check the code for loopholes - premeditated or not. If not, you can connect. Next is testing and opening access for all users.
Drafting of technical tasks for programmers should be extremely accurate. This is not the case when you can hope for mutual understanding. It is also better to think of everything from the very beginning, because the constant changes in the vector not only do not speed up the path to the goal, but also make it more expensive.