HOME       >>       Programming

A Few Thoughts On Freelance Programming Some things Ive learned along the way.


I've been freelancing my PHP / Web skills for about 8 months now. It seems like every job I have taken is always much larger than I planned on. About 4 months ago, I answered an ad for Joomla Tutoring! I get to the website, take a look around and realize that something is very wrong...The individual that hired me to be a tutor had hired another developer to set up the new Joomla based site and create a new template for it. Generally speaking, if you are really good at HTML and CSS, you can create a Joomla template with very little PHP knowledge.At first I was impressed with the template but later realized that the template was a widely available commercial template that had been modified greatly. The template was originally black with about 5 color options but was converted to white and only one color option was kept. Worse yet, the original had a complex CSS file structure where positioning, sizes, etc were in one file and all of the color information was in the color file for the option chosen but all of the modifications were done in the positioning CSS file including color changes! The site used Joomla 1.5 but the template was 1.0. Long story short, the developer really made a mess of things since new CSS information conflicted with information in other CSS files.The developer was hard coding content for the website into the template file which completely misses the point of using a content management system.My new client was in serious trouble with the new website and asked me my opinion and a list of fixes that needed to be completed to get the site operational. Long story short, the developer was fired and I was given the job of fixing the mess as best I could.Well, this customer has become all the work I can handle as I work on their third website...My point is, Sometime when you are looking for freelance work, look more closely at the small project that doesn't seem like it will pay very much.Where to find work?I went to Guru.com, registered as a Guru, bid on some jobs, and got a few.There are a lot of jobs at Guru. A lot more if you pay to upgrade your account! In fact, you should get used to paying Guru!They have their own payment system which you must use and it has a fee of course. 10% for basic (free) members. Customers posts jobs for free. 10% isn't that bad but the fee is only 5% for paid members but the paid membership is so high, you have to make a lot of money to make up the difference.Now for the kicker... An additional fee of %4 for credit cards! So you bid on a job for $100 and your customer pays with a credit card, you only earn $86! Then to withdraw your money can take days even if you have it direct deposited or sent to PayPal. There is also a fee of 2.5% if they pay with PayPal!I haven't tried any other services so I can't tell about them.I will say that when I finished the jobs that I bid on through Guru, I referred the client to my personal contact information if they wanted more work done in the future. Hey, I get a job through Guru, they deserve the commission on that job. If I get jobs after that that aren't posted on Guru, they don't get a commission. I figure I couldn't have gotten the first job without them so they should get their fee since I did use their services.By the way, if Guru discovers that you are accepting payment for a project you found on their site without using their payment system, they will ban your account so you might as well be safe and pay the commission for the project so you can find more work later on.By the way, if you charge a 10% fee, it really should cover all payment methods in my opinion. Otherwise, charge everyone 14% honestly and see how many people put up with that. You can ask your client to mail a check, do an E-Check, or wire transfer which are free of any fees for you but wire transfers cost the sender! Seems like Guru wants to offer a service for a fee then charge all of their costs to their users. Surprised I don't get a month statement requesting me to help out with their hosting costs!Always overestimate the cost! Figure out how much it will cost for you to do the job then ad between 10 and 25% to that! That is your bid. If you bid high and explain that the final cost of the project could go up or down based on actual work performed and problems encountered, potential employers will likely accept your offer since it is based on reality not perception. When you come in under budget, they are very please but if you go over budget, they aren't surprised or as angered. Sometimes, the bid price is the actual price so if you go over, that's your problem not theirs! If you have a customer that wants a set amount, set it high enough to cover your butt and if they say yes great, otherwise, look for another job.Don't discount yourself. Do not underbid just to get the job. You may be considered cheep and find it difficult to charge your normal fee later since your clients will expect the same low fee from you all the time or one client may find out they are paying more than someone else and quit using you.Before you start to work, explain the the client what you will be charging for, how you want your money, and any other arrangements that you need to make to protect yourself. Don't simply hope they are honest.Well, that's it for now. I look forward to your replies,vujsa


How about setting up such a mechanism (like that of Guru.com) back at your site? Only difference would be that the number of Projects would be less and you would be the sole developer. It might take some time to get going. But not too long, given the rank of your site. The most important aspect is earning the trust of the users and once you have done that, they'll keep comming back. Showing statistics of past projects will ensure greater trust. You won't have to pay the additional 10% either (which for me is quite high).I remember setting up an application at my site through which users could request Customized Application Development. Ultimately, I had to scap it due to lack of time. Not that it really got going. But, I did notice some curious visitors after the pages had been removed.I've got three real jobs in the past one year or so. The first one was for developing a website. It wasn't that hard and I received a two year deal of a new domain. I got this job by bidding for one at HostBidder forums. The second job was through E-Mail. A client wanted a custom version of one of my softwares to be built. This venture was my largest considering $1000 was at stake. I remember mentioning it here as well. For some unknown reason, though, the client ran away when the product had finally been delivered. I had methods in place which wouldn't let him use the software unless he paid the amount. So, it was only a loss of time. Also, I did learn about a lot of glitches in my existing software and finally improved its quality. My third job was another customization of the software and it fetched me a meagre $35.


It’s interesting that you mention this because I am just now finishing up my first freelance job. Much like Turbo I have an advertisement on my site for custom features or upgrades. I do have one large restriction which is that the work that I do has to be related to my interests and I get to turn down any bid. This is not a big deal to me because I have a regular 9-5 job and any freelance work I get on the side is just a hobby and possibly a little extra cash.My current job involves converting a program from Yahoo! to AOL. At first I was not that interested so I gave a fairly high price. To my surprise the customer said yes and I figured I would give it a shot. I went into the project intentionally blind to cost because I work in the industry and I know if this were a real program I would have charged at least 5 times more. One of the benefits of writing this program is that I get full rights to make it open source after 6 months and I will be posting it to my website. In the end I think it is has been a great project because I got to do something that I may have done on my own and get paid for it.


Personally I find the idea of diving in to the big, wide world of freelance programming to be quite daunting. I'm not a half-bad programmer (or at least I like to think so), and the most I've ever made from it is £10 agreeing to spend a couple hours helping a friend with a few things on their site. That said, I've already taken the plunge and dabbled in freelance writing. The main problem is the relatively low rate of pay (most likely well below minimum wage) for a starting writer, and the work hardly frequent. Can the same be said for freelance programmers? I'd imagine that once you've made a bit of a name for yourself it shouldn't be too bad in either case, but getting a complete stranger to agree to hire you for a job with prices in the region of $XXX to $XXXX?Anyone had any real luck with it?


Interesting topic here, thought I would throw in some of my experience on the subject. I work independently developing databases, database applications and MS Access applications. I do the entire process from the data modeling, assuring the database server is set up properly and ensuring the application and database sync properly. I work very differently though. For one, my clients come to me and typically with a specific need. When a potential client contacts me I get a rough idea of what it is that they need and how serious they are about having it fulfilled. If they are not ready to invest a minimum of a thousand dollars on the project I am not interested as they are not serious. For example, one contact wanted to have a database with an Access front end and detached record sets. They thought it could be done for less than five-hundred. Never mind that they did not even have a server to house the DB. Another thing I do is to meet with the clients in person. One of my strengths is business analysis. Speaking with multiple people in person I am able to find out precise what they are looking for and what they need. Clients will sometimes have an idea based on incomplete information or with out looking at how exactly the data they have now is being used. I can learn far more about a company's process watching some one work than I can speaking to their supervisor. Dealing a bit with the main users helps in that I know what they need and want from an application. Thus I am able to increase overall client satisfaction with an application as well as reducing resistance inherit in any new application or process. This communication is carried on throughout the development process. When the analysis is done I draw up a plan for the decision makers. I make as sure that I can that potential expenses are all plotted out. This includes any work that or equipment that needs to be done beyond my scope of involvement. If the client wants an SQLServer back end it is entirely up to the client and what ever department of their corporation handles such things. This I do to keep everyones toes from being stepped on, making my life easier. I also like to point out what of the cost is my actual pay and what they are paying for things beyond my control that they would need to pay to complete the project regardless of who is involved. Mant of the project i get contacted on are strictly Access application to allow the project to be restricted to a single department with out involving Finance for requisitions or IT (too much) for a variety of reasons. When I know that the client wants me they pay a predetermined amount up front assuring we are both in to the project. Then I develop the product, usually off site, staying in contact with the client. I always put a time for on site testing into the scheduled completion time. At this point the supervisor has determined who is going to be in the Beta. As they work with project I am able to make modifications and any bug fixes as needed. Once more listening closely to those who will be the primary users of the application. Once we are happy with the state of the application it rolls out to everyone. I am availible to be on site for this process and answer questions as needed. I have been asked to perform training sessions as well. A long winded post but I wanted to give an outline of how I work.


Wow, didn't expect such a great discussion would evolve from this.Since my expertise is in web development, I rarely have the opportunity to meet the client face to face and usually never speak with them verbally. Mostly IM and email which is good since I have a written record of everything!I too have a 9-5 job. Or is it 5-1? Wait, tomorrow it's 9-8!!! Obviously, keeping regular office hours for me is impossible due to my variable (more like non-existent) work schedule. Fortunately, I have a client that loves me and after I set my fee for the next 12 months, I asked for an honest opinion of how my fees were and of course, they were low. They were on the high end for Asian programmers but on the low end for American programmers. So, I raised my fees.As for getting clients. It isn't easy at first. That is why I use Guru.com. They have a lot of jobs posted and you can bid on many of them at once. I suggest smaller projects to start with. You and other freelancers bid on the job and the client hires whom they are most comfortable with. Be sure that you bid includes wording that allows for a higher fee if the project is larger than first described. Ask the client questions about the project to show that you are interested in it and hopefully give them a sense that you know what you are doing.Want to know if you are too cheap? Do a job and try to do an up sale when to project is already started. Like suggest a feature that they will likely want for an additional fee. If they immediately say yes, you are probably too low. You still haven't reached the end of their budget for the project so an extra cheap feature thrown is is a bonus for them. If they say no or ask why the feature isn't included in the original fee, you have reached their maximum budget more than likely.Now as long as you are really good about tracking your time on the project, you'll know how much you earned for the project by the hour or phase and then you'll know how much future projects should cost to do.Guru lets clients give feedback which increases your guru ranking so you look more attractive to future clients.The other nice thing about Guru, you find a job and bid when you need work. If you have an "email me" system in place, you may get a lot of requests some days and none on others. Some of the requests may be a waste of time to investigate and others not. If a former client sends an email, reply ASAP. They know you and want you back. You already know how this client works and they know how you do things so there are fewer conflicts. This is true even for clients you don't like. Take their money, do the job, and move on! Always do a good job and try to come in under budget. If you follow those two suggestions, you'll get repeat business, a good reputation, and if you do go over budget, your clients will likely be less frustrated since you are to usually have good work under budget. Clients usually understand the things happen and the sooner you let them know about an issue, the better. They may have an alternate plan in place that you can go with and get back on track. If you tell them there is a problem and you resolve it, you look like a hero!vujsa


If they are not ready to invest a minimum of a thousand dollars on the project I am not interested as they are not serious. For example, one contact wanted to have a database with an Access front end and detached record sets. They thought it could be done for less than five-hundred. Never mind that they did not even have a server to house the DB.

What currency are you referring to? USD 1k is quite a lot. Normally how much time you spend for a project of 1k?


What currency are you referring to? USD 1k is quite a lot. Normally how much time you spend for a project of 1k?

Actually, if you have a decent portfolio, reputation, or references, you can get high end clients that have large budgets.
If a client doesn't know how to do what you do and they really need it done and done fast, they'll pay a lot of money for the job.

For example, I have a relative that works for a drug manufacturer. They wanted a new system to track clinical trials. So they hired a programmer that did the job for probably a very large sum of money.

He used XML for the database and developed the software to interact with the database.

It is a simple system... Take subjects temperature, log it... take subjects blood, log it... etc...

I could have done the same system using PHP and MySQL on their secure intranet with additional password protection etc for much less but I'm not the guy they hired!

The point is that if you tell someone that a job costs $1000.00 and they hire you, it isn't your fault.
If someone pays you $1000.00 for a job, better do it right though.



What currency are you referring to? USD 1k is quite a lot. Normally how much time you spend for a project of 1k?

Yes the thousand figure is United States currency. I don't think it's a very large sum. Consider that when I lived in Washington D.C. working for a contracting company I was paid from thirty-five (the bare minimum) to fifty dollars hourly. Add to my salary what ever the contacting company was charging the organization and a mere thousand is a minor drop. Currently where I am for my freelance work I charge a minimum of twenty-five dollars hourly. Thus one-thousand is merely forty billed hours at the minimum rate.

I have zero interest whatsoever in doing small piecemeal work like fixing a form or doing work for small "mom and pop" locations. To me such work is much like fixing peoples home PCs, an experience I have desire to repeat. Often what most end users think of as a simple tasks is far more complex. For example I frequently hear from prospective clients that just want to add a couple pieces of information to what they already keep track of. This, of course, would require more just modifying a form. Once you get involved in a database back end that you have not created you are apt to find a myriad of breaks from normal form. I never want to have to go back to a client to tell them the job is going to cost far more than they thought. The customer will think that I am trying to cheat them or gouge them in some way. The client will be unlikely to accept that what they have now is broken, in their minds it works fine. Sure it runs slow because they are storing calculated values and they have to reboot the back end machine a couple times a week for what ever reason, it works just fine in the clients eye. I have seen it happen and I want no part of that scenario.

Another thing that happens is when a client wants a small fix to something that goes normally and a week later the server drops dead. Of course whatever you did was the cause, regardless of how incredibly impossible it is. It is along the lines of when I worked a second job doing hone support at A O Hell. (hey, it was my pre-programmer days and I had a hospital ridden pregnant wife.) We received all sorts of calls from people blaming the software for things that it could in no way affect. Most the time they were trying to run XP on 256 MB of ram in the first place. I had one guy who claimed that the software made his monitor smoke (no kidding) and another that stated that since he installed it he had to unplug his PC to to power it off.

These are the types of things I have no desire to cope with. I only want to work with professionals that understand they are hiring a professional to do a professional job. When a manager asks if something is expensive I may ask him or what kind of vehicle they drive. Typically it is a higher end vehicle and they will state that it is worth the extra money it costs.

Does my approach limit my work? Absolutely, but I do not honestly care. I am not out to get rich or to have to have to work 60 hour weeks to keep up. Sometimes it is feast or famine. If I have a month or so with out a new client I use that wonderful time to do the things I enjoy more. One of my goals is to be able to do my IT thing half a year and paint the other half. I work to live not live to work.


Well, Darasen, nicely said. I wish i could make as much as you do. Btw, I've seen similar cases, some even much more stupid than that.I do practice asking the question to whoever contacted me to do a job, "why do you need me". If it's a simple job that anyone else can do, I'll pass. Or else it will be harder to negotiate for a better deal. But the sad thing is, pay is much much lower here in Malaysia. I'm actually planning to explorer jobs opportunity in Singapore.


Xisto.com offers Free Web Hosting to its Members for their participation in this Community. We moderate all content posted here but we cannot warrant full correctness of all content. While using this site, you agree to have read and accepted our terms of use, cookie and privacy policy. Copyright 2001-2019 by Xisto Corporation. All Rights Reserved.