Freelance Developing
Since even before the introduction of the internet, snake oil salesman have promised the ability for people to make a lot of money by working from home. The vast majority of these are of course scams, which are designed to exploit a person's inherent desire to get something for nothing.
Freelancing can seem to many a software developer as a easy way to do just that. However, it is anything but! Freelancing can be just as demanding, if not more so, than a standard 9-5 job- but without the assured job security. Juggling a number of projects simultaneously in a manner that makes it possible ot make a living- and having the discipline to do the work, can be quite a task. This applies just as much to website design, graphic design, as well as programming freelance jobs as much as it would for freelance work in any other industry.
The internet is rife with articles and postings that try to purvey the secrets to being a successful freelancer. I recommend any person interested in it read some of those. However, this entry will be about how NOT to be a successful freelance developer; with special attention to things to avoid. Another note is that some of this may only apply to the specific site with which I've dealt with freelancing issues and concepts, freelancer.com. (My Username there is 'BCProgramming', for the record)
In order to provide an easier reading experience, I have boiled down my reasons into a numeric sequence. Numbers are inherently soothing, like calamine lotion, as long as you stick to base-10. Each of these rules of course has exceptions which I note.
1. Don't immediately expect it to replace a day job
A lot of developers stuck in other jobs or doing crappy retail jobs during the day and working on cutting edge technologies and helping people with their AP CS college projects at night may think they have what it takes to instantly jump into the world of freelance development and make a living that way. Usually, this is not the case. A freelance reputation needs to be built first, and you cannot rush those types of things. Another problem is that typically the type of person that thinks it will be easy is also easily discouraged as well as not always having the right amount of self-discipline, or not enough self-confidence to even try to juggle multiple projects at the same time for fear of "drowning" in a sea of work and making promises one cannot keep. A corrolary to this rule is that it can replace a day job- just not overnight. And in the worst case scenario a competent programmer, web designer, or other practicing freelancer can easily make some extra money from their skills, in addition to providing quality products to employers.
2.Don't undersell yourself
This rule has perhaps the biggest exception, which may or may not always apply, and depends on the person. For a first project, some might be tempted to low-ball a bid, and perhaps undercut their own estimations of how long the work will take. This can work both for and against you; if you apply yourself and manage to meet your ridiculously low-barred requirements, you'll find that you worked harder for less pay; but at the same time, if you gave your client a good experience, they are unlikely to forget it soon. If you aren't able to make that low-balled estimate, what results depends on your clients understanding of the industry and how estimates so frequently fall far shorter of the actual work done; particularly so in this case, where in order to eke out another bid one might shave off another day or another hundred dollars, or both. As a general rule, however, and this mixes in a bit with the previous bullet point- if you want to make a living from this, you need to make a living off it. I myself enjoy programming, but to be perfectly honest I could just as easily work on many of my own projects as I could on a boring database program or something to that accord; so when I come up with a bid I usually consider the various requirements, come up with what I hope to be a realistic estimate, and then consider how much value I could add to my own products if I was to apply myself to them for that amount of time. I then usually munge that value, often halving it, to account for the fact that I will most likely gain skills from a project I take on that I wouldn't otherwise that I will be able to apply to my own projects. Unfortunately, this is not the best way to do it, because that always undercuts the amount I receive from it, making it unsustainable without a ridiculous amount of effort. Working on a single project for 3 months with a total investment of hundreds of hours and making only a few hundred dollars is inherently demoralizing.
3.Don't be a pushover
This ties in with the previous point. And this applies equally to both freelancers as well as employers. As a freelancer, you need to know your limits and make sure you feel everything is fair. Your clients aren't looking out for your interests, they are looking out for their own; and they will sometimes try to pile on as much work as they can get away with for as cheap as possible. The main reason I chop my own estimates in half is because I don't want to seem greedy, but I think it's safe to say that Kraft Dinner is hardly the high-life. Conversely, Employers have to feel they are getting their money's worth too. These two requirements have to mesh. I've had excellent relationships with my clients on more than one occasion where they are so pleased with my work that they actually raised the price! The client is looking out for themselves first, which is reasonable; they want to best value, as any customer does. The freelancer needs to watch out for themselves, too; to get the best return on their investment of time and effort. As long as both sides consider these requirements in a fair and equitable manner, things always go smoothly.
4.Don't be greedy
This goes for both Freelancers as well as Employers. It is part of the human condition to try to get things "free"; a Freelancer may try to up the price a bit for some otherwise simple piece of functionality; and the employer may want that one teensy-tiny feature added for a negligible fee. I've found that the best approach is to be perfectly honest and open about it; if a feature is simple, I will often add it. On more than one occasion features that were requested I had already added to the program when I thought of them; some other requests required a rearchitecture of the entire application, which I document fully, as well as the trade-offs which are usually inevitable, and allow them to choose which branch to follow. I don't increase my own prices during the project; instead, the goal for me is to try to make the price as accurate as possible from the get go. As long as the employer gives me no hidden surprises, I have no hidden surprises either. The exception with this rule is not that you should always be a pushover; but rather that you should be fair; this ties in with point number four (Don't undersell yourself).
5.Know your limits, and try to ride on their upper edge
When you first join freelancer.com, fill out some of your abilities, you are inundated with projects to purview. In order to select a project and make both yourself and the employer happy, you should have a good idea of how capable you are for it. It's a bad idea to expect to take on a project with very little expertise on the subject area and hope to catch up in a day or two of google searches. For example, if you have only ever dealt with PHP and MySQL, it is unlikely to be a good idea to try to take part in a project that requires the use of MVC, SQL Server, and C#! That's common sense. At the same time, Aim high on your "limits". Don't just stick with what you are exceptional at; also take on projects that either require or could benefit from technologies that you are good at. A good example of this was one project that I took on; It consisted of a few components. At the time I was very familiar with Windows Forms, but hadn't used WPF; there was mo requirement that anything use WPF, but the nature of one of the client programs lended itself well to some of the things I did know about WPF; being resolution independent being one of them, as well as having very powerful drawing capabilities to customize standard controls. I dove into that part of the project and was amazed at how functional and overall elegant the result was; I had, in effect, underestimated my own capabilities with WPF. It took a lot of research, but it was very fulfilling since not only was the customer happy with that product but I learned a great deal about WPF, which I will no doubt apply in future projects, both personal and professional alike. The converse of this is the point of this paragraph, which is that you should not try to overvalue your abilities. If the project had required WPF experience, I might have been less likely to take it, simply because without that qualifier I always know I can fall back on my Windows Forms capabilities if I need to.
6.Become an affiliate
For many people, the idea of becoming an "affiliate" is loaded down with the meaning of "sellout". Personally, even using Google adsense makes me feel like a cog in Google's machine. However, I've come to regard freelancer.com somewhat differently; after all, I've made a fair amount on it and rather than consider my placing of any links or "advertisements" as me selling out I consider it a "testimonial" of sorts; I base everything here on personal experience.
Negatives
Since I haven't actually used any other Freelancing service, I am graciously saved from having to point out inherent flaws specific to them since I have no idea what they are (on the flip side, this also means I cannot point out the plus side compared to other services; That said, I have tried a few other similarly themed websites and found them to be unweildy, bogged down in ridiculous policies, or just plain a scam.) Instead, though, I can discuss some of the distinct negatives not with freelancer.com but freelancing in general as well as employing freelancers. This should not be taken as dissuasion from either becoming a freelancer or hiring freelancers or outsourcing, but rather as something to keep in mind.
Freelancers
To summarize some of my points above- you cannot just jump into the market, even with a lot of skills, and expect to instantly make a living. You need to not only be a good service provider with the service you provide, but you also need to be good at marketing yourself; that is, you need at least a bit of dual capability. If you are used to a more corporate environment, you might not be used to that. I certainly wasn't. You also need to be somewhat careful in your selection of projects. Freelancer.com does an excellent job making sure that only legitimate employers cna post projects, but even the best communities are going to have a few bad apples. A quick google on the web reveals that a few of these bad apples gave some freelancers a negative impression for their first project, and sullied the otherwise good name of the site; many of them paint the site as a "scam"; but this is not the case. Ironically, the measures they have in place that make people erroneously believe it to be a scam are in place to prevent just that type of thing; employers running away with work, or freelancers not delivering what they promised. I think the dissapointment from some expectent patrons comes from having the belief that being a freelancer basically means "being your own boss" and magically making a living doing what you love. But what some of those naysayers discovered was that being your own boss meant self-discipline, and doing what you love doesn't necessarily mean it's either easy, nor that it was always fun. Pair this with the fact that a lot of potential freelancers don't realize you have to also be able to "market" yourself, and it's no surprise some came to the erroneous conclusion that the entire site is a scam, which is, again, erroneous to a T). Freelancing is not easy; but freelancer.com certainly helps. It's easier to look for work this way than to plonk a few pages on your website and hope somebody contacts you.
Employers
For Employers there are two things to keep in mind; The first, is that in the long run, you get what you pay for; and second, language barriers always seem taller than they really are, but are something to take into account, because communication is the most important thing to making sure you get work you are happy with. Basically, regardless of the region from which a prospective freelancer is from, the portion of freelancers who are, shall we say- less than stellar- is approximately the same. Be sure to review any work history for prospective freelancers, as well as the reviews from any previous employers. This also means that you shouldn't necessarrily avoid a prospective employ based on region; there is a common viewpoint that workers from India and other Eastern countries are sub-par; but the truth is that there are simply a lot more of them on the market; the actual ratio of competence is still pretty much the same, and the rule where you "only hear about bad news" most of the time works overtime here; people are quick to express when they have an awful experience with a foreign freelancer, but they aren't as likely to express when that work is done well; same for local freelancers, but in the opposite- employers are more likely to find positives in the experience when they know the freelancer had the same citizenship as them. This is not of course purposeful deceit.
Now the above faint praise for foreign freelancers might not be surprising coming from a foreign freelancer; and in some respects, I guess I could be called foreign to the U.S market (since I'm Canadian), but since I live in a westernized country I would be more likely to gain from disparagement of foreign freelancers. Naturally, you have to be careful; They are by and large just as capable as any other freelancer, but there will sometimes be communication issues; but those can arise regardless of region.
Both
The basic concept of freelancer is to make it as easy as possible for a person who needs something done and the person with the capabilities to do it to find each other; some might even argue that it could be called a non-exclusive club, which is a very interesting way to put it. As with any club, there are going to be members that don't fit in with the overall philosophy; as with any site wherein people look for and offer work, there are going to be people trying to make a quick buck while disregarding empathy. One of the nice things about freelancer.com in particular is the capability for scoring your relationships; Bad work should get a bad review, and a poor customer who makes constant changes to the spec or demands huge features for the same price should get a likewise bad review; the idea is not that you are in business for yourself, but rather that you are in business as part of a larger community, and the ideal case would be to either have those "bad apples" either start taking it seriously, or stop altogether. By posting frank reviews you help other freelancers and employers find competent and responsible employers and freelancers respectively, while pointing out those who make a mockery of the system.
This is a duplicate of my blog entry.
Freelance developers
|