Answer the question
In order to leave comments, you need to log in
What are your observations and experiences about the number of interesting projects in freelancing/remote work?
Correcting my further development path.
I plan to leave for remote work in 1-2 years, but for now I am gaining experience in the office. In accordance with this, it is necessary to find out which way to go so that in 1-2 years you can find several interesting projects, get a more or less stable income and work only with them.
I don’t want to waste my future time on minor improvements, fixing bugs and supporting skinned projects.
I read that 90% of projects are low-skilled things and that sane projects and tasks are very difficult to find, although many find regular customers and work only with them. Basically, I noticed that these people have extensive programming experience in languages that are not very popular for remote work: java, c++, c#.
Since I have never done freelancing and remote work, I want to find out from experienced programmers how things are with remote work now. What technologies are worth learning, what experience is needed, what should be focused on and what should not be paid attention to? How realistic is it to find interesting projects in php if you are not a senior? Is it worth learning something less popular but more difficult?
How are things now at Upwork, I don’t really believe that someone will entrust important projects to remote workers?
more specifically: how much more difficult is it to find interesting projects in, for example, java than in php if you are pre-middle or just middle?
ps: I really do not want to become an uncle who makes the same type of sites on WP because of his stupid aspirations in his youth.
Answer the question
In order to leave comments, you need to log in
The hardest thing about freelancing is not languages and technology.
The best for a freelancer, and any developer. These are big and long projects. When you can always do one. And do not delve into each time anew, do not get used to a new customer. Yes, there is a chance of dullness and stagnation in development, but this is treated with average projects or small additional work. Although, if the project is alive and developing, the management is looking for ways to develop the business and is itself interested in growth. Then you can develop on the current project, trying new technologies, services, stacks. This will be growth as a specialist.
And technologies, languages. This is already secondary. The main thing is to develop. For in pop PHP you can do big projects and be a specialist with a high cost of an hour, or sit on a rare python / java and code a trifle for a penny. The main thing is not to rush about, but to develop and grow, taking on more complex and longer projects. And take them not with "support", but with the possibility of constant development. Tasks "on the table" are not interesting. And here are the tasks for the future, for development. This is already interesting. For "to the table" is usually a theory (thought up, done, forgotten). And developing ones, this is practice on real conditions, when in the process you have to change a lot (change the business model, change the architecture due to increased loads, change technologies).
Recently, there have been especially many complex projects, I refuse everything there are no good programmers
I recently placed an order on freelancing, I had to come up with a non-standard algorithm for processing information. 3 days have passed 2 reviews - the studio left one robot, one woman, I write to her, she:
- remind the project
- here it is (I throw the link), apparently now I read it more carefully
- sorry, I have an old customer here, sorry again, goodbye
I had to sit down by myself, after 6 hours of coding everything was ready))
What are the complex projects here? Where are these people who do not have a brain pattern and if you tell them that OOP is deprecated in this project, then they immediately panic: how can I not be able to shove here my favorite class 100 in 1 who wrote for 5 years at 3 jobs ! Then danunafig I went.
Personally, as a customer, I no longer hope to find people for such things, so I write the complex myself, I give the simple to FL. Or I give simple parts of the system and then I assemble it myself.
In my opinion (I do not pretend to be the ultimate truth, of course) an experienced developer is characterized by the ability to extract experience and professional interest from any projects. Even when you have to work on the next "boring" project, there is always room for improvement. In other words, learn to see the raisins in the routine :) Again, only after completing a dozen or two "typical" projects, you understand what is "typical" in them and how it can be done differently. This is experience.
Regarding the technologies in demand in web development, JavaScript is now leading (in all the variety of frameworks and libraries). I strongly advise you to add these "cartridges" to your "bandolier" skills. In terms of PHP, more or less serious projects require, in addition to the ability to work with common CMS and frameworks, also a fairly deep understanding of the architecture of these very CMS / frameworks, the ability to organically expand them, and work with the language itself in different paradigms (OOP in particular) . In other words, it is good when before the project implementation you have more than one option how to solve the problem and you have the opportunity to consciously choose the best option in this particular case. In other words, professionalism is when you know that there is no "one right way" to solve all problems.
Regarding earnings. Here, after all, it is necessary to prioritize (at least at the beginning of the professional path) - either to earn money or to pump experience as quickly as possible. In this segment of the career, these criteria compete with each other. Later, when professionalism comes, it usually goes without saying that you are paid well for your work.
Freelance. Of course, in addition to professional skills directly, it is important to develop other auxiliary but not secondary skills in this matter. Among them I would note the following:
1. Understanding the development process. That is, it is important to understand who in the team does what, why, what are the interests of colleagues and how to work with all this in order to get the maximum effect for yourself (read for a successful project developer), when, with whom and what you need to discuss at work. It's not enough to just be a good programmer, as freelancing doesn't have a manager's nanny to make sure everything on the project functions as it should.
2. Ability to formally, politely and effectively communicate with the client and other non-technical project participants (stakeholders). Here it is important to have the skill of working correspondence, the ability to correctly express thoughts and, most importantly, to solve working problems (and they always exist) in working order, without mentally creating "bad" and "good" participants in the process. Work is not friendship, there is no place for strong emotions. The most important thing here is to solve problems and keep the work going in a positive and constructive way.
3. Communication. Once again, it is important to be able to literately and clearly express your thoughts on the merits. Both in the native language and in English (usually). Everything is important here - from grammar to the ability to correspond. A very bad effect is a letter from a "professional" who writes with errors or bombards with long letters with an indefinite stream of thoughts and a subject like "our conversation." Well, a foreign language is a must. You can, of course, work with compatriots all your life, but this, as a rule, will be work in outsourcing companies. The domestic freelancing market is the performance of usually not too intricate work with fairly modest budgets. Western companies began to "informatize" a long time ago, and even non-core companies often have a fairly serious IT infrastructure.
4. Other. In the freelance field, you will also need knowledge in administrative areas. Accounting, business, reporting, taxes, banks, money management. It is also necessary to understand how to create and promote your brand (to be able to convey information about yourself and your services to potential customers), constantly monitor the market and job offers.
I hope my thoughts are helpful. There are many nuances, but I think I managed to mention the main ones.
80% - deal with the crap that was arranged by colleagues in the profession)
Or just delve into the crap that the last time someone looked at about 5 years ago and now you need to "do a little bit".
Java web ee - no (Interprayz, as it were) Security is the same and it's easier to put the developer in the office if the development takes a long time.
Java Android - in bulk. (any complexity from finishing to development for half a year or more)
php - the situation is the same as with Java Android, only there are more projects.
I had a counter question on the question and comments: is technology really not important? In my opinion, remote work (well, freelancing, too, probably) is 90% of things like Ruby, Node, Backbone and other newfangled JS stuff. And we, the C++\C# generation, have nothing special to catch remotely (
There are interesting projects on upwork (although depending on what you mean by interesting - for me these are atypical tasks), but while you are sitting in the office - fill yourself with ratings on small jobs and pass tests, otherwise you will come, and no one will give you a job. At the same time, you will improve your communication skills with customers.
On a remote job, you will never get a really interesting job as a programmer. You will not be given (and will not be taken into the project) either to create artificial intelligence from scratch, or to program industrial facilities, or to process images in a unique way, or to work with really big data, etc. However, if the ultimate dream is another website startup, and so 100 times, why not.
The only thing I see is to take interesting projects and do them with high quality - then then these same people call to do further components of the system, it’s really worth doing like this once decently as it continues - until workaholism finishes you off.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question