Many people think that freelancing is a huge opportunity and incredible income. But to achieve such results, you need time and a clear plan of action.

Let's assume you've already learned how to program, put together a portfolio, and instead of working in an office, you've chosen freelancing.

Where can a freelancer look for work?

Experienced freelancers hardly look for orders because they have already built up a client base. Newcomers do not have this luxury, so they either have to look for work on forums, from friends or in in social networks, or go to the stock exchange. The first three options are more complicated and not as safe, because no one guarantees that the customer will not abscond with your code without paying. The exchange takes this responsibility upon itself.

Exchanges are special platforms where customers and performers gather. The former post tasks and promise money for completing them, while the latter offer their services.

For example, a client needs a plugin for a website:

Andrey Platov

Customer

- You need to create an online chat for a WordPress site, budget 500 rubles, deadline - yesterday.

And freelancers who want to complete this task leave applications:

Ivan Ivanov

freelancer

- Hello, I’ll get the job done quickly, I have experience with similar projects.

Peter Petrov

freelancer

- I can do it for 350...

Igor

freelancer

- I’ll do it, but the budget needs to be raised to 1,000 - otherwise it won’t be enough even for fuel for a time machine.

The customer looks at the applications, goes into the profiles, evaluates the portfolio and chooses the one he likes best. If you are chosen, the client will write to discuss the details of the work and the method of cooperation. In total there are 3 main options:

  1. Work through the exchange. This is the most safe way, because the money is frozen in the customer’s account and then transferred to the contractor if the task is completed successfully. In addition, there is a rating that increases after each project. The higher it is, the more willing new clients will trust. The customer can also leave positive feedback- this will increase the chances of finding interesting offers faster.
    If something goes wrong, you can go to arbitration - then the exchange administration will consider your application and protect your interests. Unless, of course, you are trying to deceive anyone.
    The main disadvantage of this method is that you will have to give part of the money as a commission for the exchange services.
  2. Work directly. You exchange contacts with the client and discuss all issues directly. This way you can reach an agreement faster, and you don’t have to share money. However, there will be no protection. Of course, you can take an advance payment or enter into an agreement, but this does not always save you from fraud (more on this below).
  3. Open an individual entrepreneur or get a job. You can register as an individual entrepreneur and cooperate with customers as a legal entity. Or get a job with the customer as a full-time remote employee and work until you complete the project.

Once you have decided on the working conditions and other formalities, you can begin the task. Follow the terms of reference to avoid disagreements. And if difficulties arise, ask the customer’s opinion - most often they will meet you halfway.

Try to approach your work responsibly and deliver projects on time - not only your wallet, but also your business reputation depends on this.

Basically you will have to work with these exchanges:

  • Fl.ru is the largest platform for freelancers on the Russian-language Internet.
  • Freelancehunt.com is a relatively young but popular exchange.
  • Weblancer.net is a slightly less popular, but also well-known platform.
  • Upwork.com is the world's largest exchange, but to work on it you need to know English.

There are many other places where you can make money. For example, kwork - all services there cost from 500 rubles:

I once tried dumping because I wasn’t confident in myself yet. But it took all the time to complete orders, and I realized that I should have valued my work much more. I received a lot of orders, but it only worsened my self-esteem and killed my love for programming.

It’s up to you to decide what price to set for your work, but I won’t advise anyone to work for pennies.

How to fill out your profile

Let's say you have already chosen an exchange. Now you need to fill out your profile correctly - there will be general tips that are suitable for most sites.

First of all, look at how experienced, highly rated developers do this: find out what they have in common, what are the differences, what they write about themselves, what photo they put in their profile. Look up to the best.

Photo

Choose an avatar good quality. It is advisable that you be there, but not at a party with friends, but in some more business-like setting. Don't add a photo that is too formal, but don't try to stand out too much - it's best to strike a balance.

key skills

If there is such a field, do not hesitate to fill it out completely. Choose your most important skills - this could be working with databases, creating high-load applications, and so on. Don't waste this space describing skills like creating variables.

Profile description

Describe your positive aspects, but don't get carried away - no one wants to read your odes to themselves. Try to write briefly and accurately so that the customer can quickly find out what you can do:

Experienced PHP developer. In my work I use Laravel and direct hands. I can write:

  • online store;
  • blog engine;
  • plugins for WordPress;
  • and so on.

If necessary, I can write an interface in Angular.JS or React.JS.

There is no need to use ornate designs or add lyrical digressions:

Hello! My name is Alex Petrov. A year ago I decided to switch from Windows to Mac and I fell in love, so now I’m writing interface code, thinking about my beloved Macintosh...

Think about your comfort potential clients. They read several dozen, if not hundreds, of profile descriptions per day. With such a volume, uninformative texts are simply closed.

Portfolio

Select high-quality screenshots of your work and create a short but useful description - what the program does, what technologies you used, and so on. If possible, upload multiple files. Be sure to add a link to your GitHub repository.

How to search for orders

You can search for tasks both in the general feed and by keywords. For example, by keywords you will find orders for the development of plugins or online calculators. On most exchanges you can list your services and prices so that customers can find you themselves.

After choosing a project, read the description and technical specifications, if any. Please read all attachments carefully and then leave a response. Try not to use templates - it’s better to write as personalized messages as possible:

Hello, Maxim!

I read your technical specifications, I just have experience working with library X, which you need. You can see an example of implementation in my project U. As far as I understand, you you need something like this: *a description of how you would solve the problem, preferably with code snippets*?

This way you will show that you are really familiar with the task and can cope with it - this will add a few points to you compared to other performers.

If you don’t have experience yet, you can write about it - some customers will agree to hire a beginner who will lower the price a little. But don’t get carried away, because you’re unlikely to like working for pennies. And the longer you do this, the more difficult it is psychologically to ask for more money later.

How to work as a freelancer

At first, you can take cheap orders - the main thing is that you are interested in completing them and so that you can develop. Always try to write best code, even if you feel that you should pay more for it, this way you will gain experience and gain a reputation as a good specialist.

And don’t think that you have a lot of time for the project - it’s better to remember the 90-90 rule:

The first 90% of the code takes 90% of the time. The remaining 10% of the code takes up another 90% of the time. Total - 180%.

Hofstadter's law also plays an important role:

Any business always takes longer than expected, even taking into account Hofstadter's law.

Armed with this knowledge, you will most likely still successfully miss a few deadlines, but this happens in all fields.

After completing the task, you can ask for feedback or permission to add the project to your portfolio.

How can a freelancer protect himself from scammers

Sometimes you may come across scammers, so you need to be able to distinguish them from normal clients. You must know how to get the job done and get paid for it, or at least not give the customer the opportunity to use your project for free.

First of all, remember that you can only work without advance payment under a contract or with an old client with whom you have known for a long time. Although he can deceive. Many freelancers divide their work into 3-4 parts. For example, they receive a third of the amount and complete a third of the project, and then complete the rest. This way you can minimize the risk of fraud: even if you are deceived, you will only lose part of the money.

To show the code in action, upload it to your hosting and give a link to the site to the client - it will cost only 300 rubles (200 for a domain for a year + 100 for hosting per month, but you can find an option for 5 rubles), so the investment will pay off from the very first order.

If a client wants to check how this code will work on his site, and you are afraid of losing it, add a backdoor - a special piece of code that will break the program under certain conditions:

If (date("Y-m-d" ) >= "2019-04-04" ) ( //3 days after transfer of source codes exit( "To continue using the site, pay the developer's work!"); }

If you add this code at the beginning of the page, the site will no longer be displayed after April 4, 2019, and only the request to pay for the work will be visible in the browser. But such a backdoor in the code is easy to notice, so it is better to harden it so that the program does not work after its removal, and also subject the code to obfuscation - that is, make it unreadable: = _1913039849(1 ))(exit (_1913039849(2 ));) ?>

This code will work, but it will not be readable. This can be done using special online services.

Do not be afraid if, after blocking the site, the client threatens you with legal proceedings. Firstly, you, as a contractor, have the right not to deliver the result of the work until payment is received. Secondly, unless otherwise stated in the contract, the code is your intellectual property, and the customer uses it at his own peril and risk.

Although this, of course, depends on the legislation of your country. It is better to immediately warn the customer that the code will work for several days, and you will send the production version only after payment.

Conclusion

Freelancing can really be a joy if you approach promotion and self-organization correctly. Try to adhere to the terms of reference and deadlines, otherwise you will feel terrible. Believe me, I know what I'm talking about.

And don’t forget that you can’t establish yourself in freelancing once and then rest on your laurels all your life. You will have to constantly invest in promotion and self-development in order to be in demand.

You will also understand that self-organization, budgeting and time management are no less important than your professional skills.

If you have not yet obtained the necessary set of skills and have not collected a portfolio, sign up. This way you will not only learn everything a novice web developer needs to know, but also get one of the most sought-after professions, because about 80% of all websites on the Internet are written in PHP.

You will become familiar with the basic paradigms of object-oriented programming (OOP), learn to work with XML, JSON, REST, SOAP. And then you will master the design of software architecture, learn how to optimize the developed system and ensure code security.

Russian-speaking freelancers have a way to earn more for projects. To do this you need to work with foreign clients. But you won’t be able to communicate in Russian; you’ll need English. What phrases does a freelancer need to know in English and where to learn them, says the team of the online platform for booking language courses LinguaTrip.com.

Exchange

To complete interesting projects and receive payment in dollars, look for clients on foreign freelance exchanges. For example, on, or Freelancer. On these sites, everything must be written in English: business card, messages and comments.

But it is not as difficult as it seems at first glance. We tell you what to pay attention to.

Business card. When creating a profile on foreign exchanges, tell us about yourself: who you are, how you differ from other performers and how you can help:


Translation: Here's how I can help. Improve the ROI of existing accounts by identifying wasted campaigns and untapped targeting opportunities. I will save your time and money by properly setting up advertising campaigns in Google Adwords and Bing Ads from the very moment of launch.
I will improve the quality of your account and reduce the cost per lead through one-time or long-term optimization.

Discussion of the project. If the customer chooses you, ask him about the task before taking on it. Specify the details of the project: terms, price and technical requirements. This will help you save time and make fewer edits.

Here's an example of how a motion designer can do this. The template is suitable for other professions if you adapt it:


Translation: Promo from scratch according to your sketches will cost from $ 500. But without details I cannot fix the price and terms. Please give me more information and I will tell you the price and time frame.

Deadlines. Be careful when discussing stages and deadlines of work in correspondence. For example, Americans are more likely to work with those who provide specific dates.

Try to give an exact deadline for completing the task and ask the customer to confirm that he agrees with it:


Translation: Let me know if this is correct and I will send you a draft next week - July 12th

Working conditions. Establish yourself as a responsible performer and let the client know that you will not disappear in the middle of the project. But if you write directly: “I will not leave in the middle of the project” - it will look suspicious. Better promise to keep the customer informed about updates on the project: “I’ll keep you informed about updates.”

Don’t be afraid to clarify that you understand and accept the terms of the work. This may be useful if disputes arise or the customer requests additional edits. Alternatively, write at the end of the letter: “This is to confirm that I have understood our June 8, 2018 conversation.”

Professional sites

If you're a designer, illustrator, or architect, post your portfolio on Behance or Dribble. These are portfolio sites where you can discuss your work with colleagues and communicate with potential clients. A correctly completed profile and a high-quality portfolio on these sites is an opportunity to get a customer with a good project.

Profile. On Behance and Dribble, your portfolio speaks for you. It shows what you can do and who you worked with. But the profile also needs to be filled out. They usually write their specialty and contacts there.

Example of a completed profile:


Translation: I am a passionate multi-disciplinary designer, specializing in branding, graphic design and digital design. Say hi: (email address)

Portfolio. In order for the customer to understand how you work and how immersed you are in the topic, you need descriptions of the work. In them, tell about the tasks, techniques and results.

For example, you drew a series of illustrations with a pink moon. The caption “The pink moon” will not be enough, here you need to explain the concept:


Translation: Connections with the past and the other side of the world were the main source of inspiration for the work. United by the pink moon, traveling the world. This is the moon that everyone sees: old, young, rich, poor.

Comments. On professional websites, abbreviations or emoticons are often written in comments to works and correspondence. For example, there are abbreviations: IDK - means I don’t know, GL - Good Luck, TNX - Thanks.

To understand what other freelancers write about your work, it is useful to learn commonly used abbreviations:


Translation: ASAP - As soon as possible; FYI - FYI; 2G2BT - Too good to be true; AFAIK - As far as I know; BTW - By the way; RLY - Truth; TTYL - Let's talk later; IMHO - In my humble opinion; TIA - Thanks for the advice.

Sometimes positive comments on the works from your portfolio are left not only by colleagues, but also by future clients. Therefore, always respond politely and thank for praise. And you can invite a potential customer to chat in private:


Translation: Thank you for your interest in my work. If I can help with your project, let's discuss it by e-mail

Email

The most popular method of communication for searching and discussing projects is email. The chances of getting a job increase if you format your email in such a way that the customer immediately understands who you are and what you offer.

Letter subject. If you respond to a vacancy by email, indicate a specific topic or the one requested by the customer in the description on the site.

Bad example: “About job” - the company may have several vacancies open, and your letter will be lost. Good: “Response to the project for designer” - so the customer will immediately understand what it’s about and put it in the desired folder, if he can’t read it right away.

Attachments and links. Attach only small files, such as a resume, to your email. Don't try to send large pictures or designs. It is better to upload your portfolio to a professional website and provide it with a text link. This way the letter will look structured, and the customer will be able to immediately see your work.

Etiquette. Don't forget about politeness. Thank the customer for their time “Thank you for your time” and put a signature at the end of the letter, for example, “Best Regards”.

Here is an example of a job application:


Translation: Response to a designer vacancy. Hello John. My name is Petr. I have been specializing in interface design for 5 years. I have enough experience to take part in your project for Google. And I would be grateful if you would consider my candidacy. You can view my portfolio and reviews on Behance. My resume is attached. Thank you for your time. Best wishes, Peter

Where and how to learn English as a freelancer

Most often, freelancers communicate with clients by mail or instant messenger, and sometimes call on Skype. To discuss a project, working conditions and money, you need to learn professional vocabulary, train writing and listening skills.

Here are some tips on how to do this.

Vocabulary. Make a list of the basic terms you need for your work, find the correct translation and save it in a notepad on your computer. This way, the vocabulary will always be at hand, and you won’t have to waste time on online translators.


An example of vocabulary that may be useful to a freelancer

If you read several news stories in English from your industry every day, you will quickly develop the necessary vocabulary for communicating with customers. To do this regularly, subscribe to newsletters and social media channels.

How can a beginner choose a programming language for future work? Assess salary levels? Demand? Based on what is easier to learn? Or take a closer look at the popularity trend lines?

In fact, you can spend a lot of time choosing best language programming. But as soon as it comes to personal acquaintance, there will be a need to change the favorite. Today you will be offered a choice that should appeal to the vast majority of beginning geeks - a combination of ease of learning and relevance in the labor market. These two arguments are relatively easy to reliably test, so the result obtained will be close to objectivity.

Criteria

We will rank them based on the demand rating. We will take a number of foreign articles (,,,) as a base, and we will confirm the Russian reality with the help of aggregators hh.ru and trud.com. The statistics, of course, are relevant on the day the text was written, and are unlikely to change much by publication.

What we will not take into account is the level of salaries and the self-sufficiency of the language, simply because of the relativity of these criteria.

Swift

Formally, Swift, of course, is not yet as in demand among employers as Objective-C, and it largely owes its inclusion in this rating to the general platform. But it is absolutely impossible to ignore the perspective in this ranking. Therefore, we recommend starting your study now. We invite you to a free two-hour.

Let's take a look at the numbers of Russian HR agencies - 471 vacancies in Russia and neighboring countries on hh.ru and 410 on trud.com. Very good for a three year old. If you add Objective-C, you can safely multiply numbers by 3.

C/C++

Calling C or C++ an easy language to learn is not entirely accurate, especially when compared to Python or Ruby. But in this case, it’s worth talking about the huge amount of educational, high-quality literature, about the fundamental nature and the useful remainder that will remain in your head, even if you don’t connect your future life with them.

But if you still like languages, then there are as many as 2,325 vacancies in Russia alone on hh.ru and 12,543 on trud.com. At the same time, it is important for you to understand that if, in the case of the Swift language, these were vacancies exclusively for developers, then with C++ you may need the language not only in the usual IT field, but also for the positions of a CNC operator and an auto electrician.

JavaScript

Not only is JavaScript extremely in demand in the modern world thanks to the crazy development of Internet technologies, but also thanks to modules and libraries, its zone of influence began to spread to all other IT areas.

Add to this the fact that JavaScript is relatively easy to learn. Having borrowed basic things from C and gradually developed from a bonus element for HTML and CSS to an independent force, it received a digestible syntax and an extremely understandable operating logic for a beginner.

And now to the demand: 6,365 vacancies only within Russia on hh.ru and 5,565 on trud.com. These are very good numbers for those who are determined to find a job upon completion of their studies.

Python

When it comes to the combination of ease and relevance (in that order), most developers think of Python first. This is a language tested by time and millions of students, saving valuable time both at the stage of learning and application. At the same time, the number of IT areas where you might need Python is not limited at all. Many thanks to the fans, enthusiasts and the Python Software Foundation.

It is important to note that the demand for Python specialists is much higher abroad than in Russia. However, finding a job here won’t be too difficult: 2,325 vacancies in open access according to hh.ru and 2,537 - trud.com.

Java

Java is a great language in every way. This is confirmed by the statistics of TIOBE, and the most popular OS in the world, and simply by the fact that it is a fairly simple language with a very powerful ecosystem.

If we express it in Russian reality figures, then the relevance of Java is 4,628 points according to hh.ru and 4,490 - trud.com. Yes, these are not impressive results compared to some previous contenders, but, firstly, this is due to the specifics of our IT market, secondly, the growth trend is strictly positive, and thirdly, Java will still be simpler than C/C++.

SQL

This is probably not the kind of leader you wanted to see, but formally there is nothing to complain about here. It is very difficult for you to avoid using a database in modern realities, and no one has yet come up with a more universal tool than SQL. It is this fact that allows this language to firmly sit in first place in almost all such ratings.

The language of domestic figures here does not reflect real demand very clearly, but SQL’s leadership in this rating will not make one doubt. In fact, he collected 8,303 internal vacancies on hh.ru and 8,933 on trud.com.

P.S.

Looking at the rating published at the very beginning, you probably have a reasonable question: “Where are Perl and C#?” It's all about that very projection onto Russian reality. For example, Perl has 581 vacancy results according to hh.ru and 577 on trud.com. This is, of course, better than Swift, but the Apple language has an obvious future, and the demand for Perl in Russia will most likely only fall.

Regarding C#, the situation is better: 906 vacancies on hh.ru and over 16 thousand on trud.com. However, the second figure should not mislead you: among the vacancies, almost half of the C/C++ developers with knowledge of C#, therefore, in terms of their totality and fundamental importance, it was the first group of languages ​​that was included in the title, and the second was modestly mentioned at the end.

PHP took first place in the ranking of programming languages ​​in the freelance market in 2016. This is evidenced by the results of an analysis of the popularity of programming languages ​​conducted by the freelance service Freelancehunt.com.

More than half of the projects are related to programming in PHP - 55%. The same language received the largest number of budgets – a total of 46%. Performers working with PHP are 30% and this is also the largest portion among programmers.

The analysis clearly illustrates which programming languages ​​are in demand among customers, which of them the performers work with, and which ones are the most profitable to work with - the 2016 rating is as follows:

As you can see, JavaScript this year was in demand by customers several times less than PHP - 17% of published projects were associated with it, and it attracted 16% of the total amount of funds spent by customers. However, the competition among performers here is very high compared to PHP - 23% of the total audience of programmers.

1C, which took third place, accounts for approximately 10% of projects and budgets, and performers account for more than 15%.

Fourth place this year went to C/C++, as it is more popular among customers compared to C# - 7% of projects and 8% of budgets. Among performers, C/C++ is in fifth place with less than 10% of the audience of freelance programmers.

There are more than 10% of C# programmers, but customers publish projects less often - 5%, and budgets in this category are about 6% of the total.

The world of freelancing is changing rapidly, new trends appear every year, which, in turn, generate demand for certain specialists. This applies to all areas of freelancing, but tectonic shifts are most clearly visible in such a relatively conservative type of remote work as programming.

For many years, those freelancers who wrote in PHP or any language from the C family did not have to worry about finding work - the demand for such programmers was consistently high. However, since the mid-2000s, things began to change. The advent of the iPhone radically changed our ideas about what it should look like. mobile phone. The ecosystem created by Apple has created a great demand for programmers writing in ObjectiveC/iOS - far from the most popular programming languages. Apple's competitors overwhelmingly use the Android OS, and employers today are looking for freelancers who write in Java.

Golden mean

Which programming language should I choose? This question is asked by all programmers, both beginners and experienced professionals. Numerous ratings and surveys show that the most popular languages ​​are C++, Java, PHP and Javascript. However, for a freelancer, the demand for a language is also of great importance. In 2013-14, programmers who write in Ruby, Erlang and ObjectiveC were most valued - the demand for their services was very high, which was also reflected in wages. Thus, a freelancer needs to find a middle ground: the language should not only be popular, but also in demand among employers.

Of course, when choosing a language, you should take into account what, as they say, “your soul lies in.” There are a huge number of areas in programming and you shouldn’t try to embrace the immensity - anyway, you won’t be able to keep track of all the changes in the freelance market. Of course, you want to be among the most in demand (and, therefore, the most highly paid specialists), but learning a new language requires a lot of time and effort. In addition, a situation may arise where a freelancer, having finally understood Ruby or Python, may discover that the explosive demand for the services of such programmers was temporary and there is a lull in the market.

Current demand or prospect?

Freelance programmers, as a rule, focus on current demand. This is, of course, correct, but we should not forget about promising areas, because in this case the chances of getting into the “phase of greatest demand” are very high, which is the dream of any freelancer. If you look at the offers of employers, it is obvious that at this time, programmers writing in C++, PHP, Java, Javasript, ObjectiveC are mainly required. Demand for the services of programmers writing in these languages ​​will be stable over the next few years.

But if you look into the future, it is best to bet on learning Python, Scala and Ruby - many projects that will certainly take off in the near future will most likely be written in these languages. Also, don’t discount good old Microsoft – the solution operating system Windows 10, which will appear in 2015, will definitely create a great demand for programmers writing in C#.