Getting paid to program

Denaes

Well-known member
Joined
Jun 10, 2003
Messages
956
Ok, this is a profession which will take at least a year of study to gain profincy enough to make it a job. Most likely youll end up getting an associates degree (2yr), Bachelors Degree (4yr) or Masters Degree (5yr?). Some will just buy a "Teach yourself Visual Basic" book to pick up basics and go from there.

So how much would you think an educated profession would pay?

I know pet groomers who learn their trade in weeks (not master status, but being a master programmer could take years or even decades) and get paid $20+ an hour.

I know my friend who knows how to play the keyboard (amongst other things, hes a in a reagae group) and can charge $60 dollars an hour for keyboarding lessons.

But in my experience, a lot of people balk at computer programming, web design and just general computer prices.

I own my own lil buisiness. Its mostly a side gig which I handle all of my computer related transactions though.

I get people who want me to come to their house, set up a system, figure out what componants they need switched (got a USB scanner, but an old arse win98pc), etc.

Then I tell them that Its $50 an hour (on average) and quote them that thats an hours work. Now it could be more or less. I also have to travel there. These people either freak out "I thought it would be like $10 an hour!" :rolleyes: or be like "But that only took 29 minutes, so Ill only pay half".

Im sorry, I make $10 an hour at my day job. I dont think its worth a Value Meal at McDonalds to drive to someones house and deal with their 8 year old system.

As of now, Im fed up with people who think that a job is worth an actual hourly wage. I wont even mention the word hour anymore. You get all of these wage slaves who get paid for their warm body filling a slot for a certain number of hours and they get numb to professions which dont charge by the hour.

The other day Im at my day job and another employee sees me with my laptop. "Can you make a website?" he asks. "Sure I can. Its $50 a page as a basic rate. Maybe less if its really basic, maybe more if its complex. Adding in any programming will make it much more expensive" So he tells me that its not so bad. He tells me roughly what he wants, I open up dreamweaver and make a rough layout of what he described with ipso facto text.

"Thats it? I could do that! How can you charge $50 for that?"

:mad: Now I dont particularily like this guy and its looking like hes backing out and insulting my work/eductation.

"You can do it? Then do it. Go to school for 2 years, put in more than the average amount of work to be at the top of the class, pay 7000 for college and forget about a steady fulltime job, so cut an additional 8000 a year off your yearly income. Buy the software for close to a thousand dollars and a laptop for 1,500. Then you can design a basic web page for a customer in 15 minutes. But the customer wont know exactly what they want on the page and will take days to get their content to you and probbobly ask you to change things 2 or 3 times. Then you can discuss with them why they want to underpay you for all of your education and expenses."

He looked kind of dumbstruck for a second and decided that he could find someone cheaper to make a website for the product hes trying to sell. Im not sure which part is scary, that hes trying to sell something and balking at 50 dollars for his advertising or that I"m sure someone out there will do it for less.

Thats one thing that has surprised me recently. Im doing a programming project which would probobly take some of you guys like a few nights, but takes me much longer because I need to learn ado.net to do it. Im getting some decent pay for this and learning things I need to learn anyways.

In my internet searching, Ive found "Rent-a-coder" type services which frankly scare the hell out of me.

Im seeing an ad looking for a programmer who is fully top notch and professional with experience doing werehouse database tracking AND with examples as a resume to do a fully custom programming job. Now it said the bid was 250 dollars. I dont know if they expected to pay someone "top notch" 250 dollars to do this or if someone actually agreed to do it for 250 dollars. I dont know which one is scarier. I dont know if Id sell a program Id written for warehouse tracking (non custom, already been written and finished) for 250.

I understand the concept of experienced programmers and work. You already have much of the work done and can probobly lift much of it into another project. Also experience is speed.

What has taken me almost two weeks to do, if I had to do it over again (or something similar) I could do in a single night.

But $250? If you can get done in like 4 or 5 hours... I can see how a project you think is easy turns into trouble - and time.

Anyone else have any positive or negative experience freelancing? Any good practices? Mistakes?

Does a programmer need to sell their soul to a corporation to make a solid living programming?
 
Does a programmer need to sell their soul to a corporation to make a solid living programming?
Yes. Back in the 1980s someone made the mistake of making computing systems easy to talk about (using words like "object oriented" and "GUI" and the like) so once managers and customers found it easy to talk about programming they came to the assumption that it must also be easy to do.
Then, when the Y2K bug loomed and lots of programmers were needed in a hurry the bar was lowered even further such that anybody who had a degree in anything was employed as an AP.

Those who had foolishly done computer related degrees went off to become contractors and for a short but blissful period made shed loads of cash.

The smell of all this cash attracted the interest of people whos job it is to do things cheaper than others rather than better. They did their job so well that they convinced a large number of highly skilled (but presumably unbalanced) prgrammers to join a cult called the Open Source Foundation and give away their code for free. Strangely this free code had the effect of reducing the percieved value of code (and by extension coders) to such an extent that you cant give the stuff away any more.

The only people who still have to pay for it are those people who have unnusual needs (so like life). These people want code to balance reinsurance across treaties or calculate the optimum spacing for castings in a sand mold or the like. These people are all corporations and if you work for them you get the chance to make something none of the people who code instant messengers and DOOM mapfile editors and the like are making - money.
 
I was once a member of Rent-A-Coder but I too was constantly under-bid. However on a couple of occasions I picked up jobs that somebody gotton a bargin for, it didnt work how they expected, poorly, or the GUI was terriblie, or a combination of the three and found myself cleaning up other peoples mistakes... 80 line long If...Thens that could be dropped to 10 lines with a switch and a for loop... mismanagement of object... lack of error handling... and they paid the price I asked. I dropped out of that because I quickly learned that places like this are the equivelant of SCABS to union workers... and the quality of most of the things that Ive seen is poor because people are underbidding each other to almost nothing and cutting corners to get the product out. Also I saw several people who you basically were doing theyre homework for them... thats a kick in my face... I never went to college for this stuff, I took one class in C++ after I had been programing for a couple of years, and Im doing some guy who is in his second year class homework? ? So Im helping some idiot get a degree to get paid more than I do and he doesnt have a clue! No... thats why my total time on that web-site was less than a month.

BeginSoapBox();

On a side note, a budy of mine who does this professionally down in Florida said that a lot of our buisness is being lost to third world countries such as India who churn out Rent-A-Coder type programmers and undercut our prices by ten fold. A perfect example would be a company that my previous employer used for time-sheets... it was web based, and OMG was it horrible. My department asked me what I thought. So I wrote a program that used the axWebBrowser to parse there (keep in mind theyre charging by bandwith) (no BS!) 697 was the smallest and 1654 was the largest line web pages and made a GUI that interfaced with there crap in the background. My whole program was less that 600 lines, but ran theirs, and ran it better. This thing looked like it was built by GEO-BUILDER (Geocities web site builder) and ran just about as well. It was full of SQL security holes! But the icing on the cake is this... the products company proabably had this thing made on Rent-A-Coder the way it looked and probably paid minimum dollar for it, but guess what... they charged my company $38K a month to use it PLUS bandwith... yet I, a lowly tech making $23.80 made a desktop app that ran it better. So the problem is not only with the quality of work out there, but the fact that corporate America doesnt know what theyre buying is crap and they are being overcharged for it!

EndSoapBox();
 
Interesting to hear the perspective of someone who has been involved with the rent-a-coder situation. I rather stumbled onto the site myself a few months back. I have just been watching to learn and satisfy my own curosity about things as I had not seen a site like it before. Personally Ive never been one to be into competitive bidding and so I dont plan to attempt to become a rent-a-coder coder.

Yes, a lot of IT jobs here in the states are moving off shore. Mid December IBM was in a bit of a about that subject. I am not trying to stir anything up and not trying to flame anyone. If you want to read some information on it, the forecasts by analysts, and such then you can head over to cnet.com and do a search on offshoring and you will get a number of articles.

Open Source, like all things, has advantages and disadvantages. I do see the good in some cases, such as here where this Open Source forum software allows a meeting of the minds among programmers to exchange knowledge and seek/provide help and assistance to others. I use an Open Source CMS package for my website, it has allowed me to learn what a CMS package can really do as well as introduced me to PHP coding. I just purchased VS.NET Professional for my computer here at home and will soon be diving into another Open Source cms package, Dot Net Nuke which I am hoping will allow me to learn VB.NET better as well as see how ASP.NET fits into all of this.

So just personally speaking, for me these have been great learning tools. I cant use them at work in part because you cant go stripping out the copyrights, etc and its not exactly in vogue to have a multitude of third party icons and images on a corporate site.

Just some thoughts on a Friday evening after work from a programmer who is about to rest and relax for the evening and spend the weekend with their nose in their Professional C# book :cool:
 
From what Ive learned over the years...
It can pay to be a contractor, but youve got to get good gigs and that means having connections. Meaning, youre not going through rent-a-coder but going through companies that know the value of an experienced developer - often, through word of mouth. Sometimes a company will say they want a developer, but they really need a designer, business analyst, database admin, and report writer. Sometimes you do it, sometimes you say No (if you can afford to). Depending on who you know and how good you really are, you can make good money or not much at all.

When I did freelance work, I averaged $68/hour - that was a few years ago, but none of it was part of the big internet craze that got so many contractors BIG money (and often for little talent).

I can see how going through rent-a-coder or similar "lowest bid wins" scenarios can be a hard way to make a living. If people dont know the value of a good programmer and what it takes to write a good piece of software, then theyre likely to think they can get someone good for $10-$20 an hour. If you encounter someone like that, turn away. As mentioned, they often have NO idea what the really need, only what they want. And that will change many times as you develop a solution for them.

If youre unfortunate enough to either not have a document of exactly what youll provide or youre working in a team that doesnt have that kind of document, be prepared that you might not even get paid! Ive encountered this situation: do a lot of work and create exactly what they said they wanted. Then, they say they need a few new features or the product is useless. If you were already at your original budget, good luck convincing them that what theyre proposing is an enhancement and needs a new contract. If youre smart, this will only happen once (or never) and then youll have a contract that stipulates everything, in detail. Again, if the idea of that kind of contract scares the company youre working for, then turn away - youre only going to get burned later.

I dont mean it to sound harsh - I had a LOT of good experiences doing freelance work. You definitely get a wider variety of jobs than working for one company. And, assuming you charge the right rate (make sure to include money for your own health insurance in the US, money to let you "ride" for a few months when a contract ends, educational money, etc.), you can often work only 6-9 months out of the year. Not too bad if you can live with the "risk" and can get the contracts you want :)

-Nerseus
 
Wow.

This thread is like a class they should have offered in college. A little bit of history, a little bit of experience, a little bit of financial/job advice...

I was working in a hotel at the Front Desk in Portland Oregon in 1998-99. Wed constantly be getting people in who had construction backgrounds who were being hired by this one NY based company to do remodeling and Y2K upgrading.

This is before I even started my computer degree and I was helping out some of them with computer issues. They were shoved through a computer training course (I think a week long) and given a certificate by the company, thus they were certified Y2K contractors.

They kept telling me that I should be in computers, which kind of got me thinking about it.


Nersus:

When you say draw up a contract, do you mean that as in, "Lets call our lawyers?" or just basically, lets get it in writing?

Especially since Im just starting out in most of these respects, Im still keeping my day job.

Now, as funny as it is, I feel really guilty about it because my day job is a pretty pathetic job right now. I work for a mostly seasonal bus company, either front desk or reservations year round and as a trip host during the summer months. Now right now its dead. Most people are cut back in hour a lot, but I have seniority over most. I bring in my laptop and work my computer project. The owner doesnt care in the least so long as it doesnt interfere with operations or my work.

So I work on my program inbetween customers and I usually get about 5-6 hours done at work in an 8 hour shift. Its like Im getting paid for my program twice.

In your opinion, is it better to just sell someone a program lock, stock and barrel, or to write a program and keep the rights, basically liscensing it to a customer for a percentage of their sales? The later is the way Im doing this program. The only part Im worried about is that currently Im active in the company, but even if I should leave (for whatever the reason) I should still be getting my percentage. But for a small company, whats to keep them honest? They could sell it 50 times and tell me it sold 10 times.

This is a small company that believes in percentages, oftentimes because we charge different rates to different customers.

Almost everything in the company (web design mostly) is a once only job. You do it, it sells once. You might be doing upgrades for them at a later date.

My program is going to be the first exception to that sell it once rule, because it can be sold to many companies as is, and many more with only minor modifications.
 
You can take "drawing up a contract" however you want - or, what makes sense in your position. If youre doing this all on your own, Id say a few pages would do. You can probably find something for free or $10 online that says most of what you want. The trouble is, for really small projects, writing up a contract seems like too much work, which is the *exact* type of contract that needs things in writing :)

For example, say you agree to do some webpages for someone - all static text. You think it will take 40 hours of work so you tell them it will be $800 (40 * $20), or whatever your rate is. but unless theyre giving you the exact text to put in there, chances are good that youre going to go well over that 40 hours. If youre like most, youll fit it into 40 hours (maybe some extra but you cant charge for them - no written contract to allow for it). You give it to them but they need some typos fixed and a link added and a few other super-easy changes. Sure, super-easy to them, a few hours of work for you. Before you know it, theyve eeked out another 8-12 hours of work and you get no money for it because they, and maybe you, think its Ok.

The problem with the above scenario is that there was no contract to provide an expectation. The user has one opinion of what hes getting, you have yours and I can guarantee that they will never, ever be the same. A contract, even a simple one, could list out what they should expect. For example, they must provide the exact text - you just get it formatted and add the proper HTML tags. Or maybe there are extra hours added in because youll have to talk with them to find out exactly what text they want.

There is a LOT more to know about having a good contract. I cant remember the sites I used to use. I had the advantage of learning from a great boss who had done contract work himself.

As for whether to sell a program outright or keep the rights yourself, there are generally two rules: they keep the code or you do. If they keep the code, then they pay a higher rate. Say this equates to $30/hour. Now if youre thinking the program has resellable qualities, then tell them "Ill write this program for you, but I get to keep the code and reserve the right to reuse it and resell it later. As a bonus to you, Ill..." and then you can charge them a lower rate or cut out some of the hours. If you want to keep the whole program, all code, then lower your rate - say $15-$20 per hour. If its a larger program and you only want to reuse a portion, let them know. That way you could get a higher rate for their part, and a lower rate for the reusable part. Unless they want to negotiate some kind of percentage off your reselling (most companies wont), they should feel lucky theyre getting a lower rate for the same product.

Avoid negotiating anything with them that lets them get some percentage of the code if you reuse it. It will get WAY too complicated, since youre likely to change much of "reusable" code when you go to resell it.

In most states (everyone Ive worked in), if there is no contract then the code you write becomes the property of the company that paid for it. If you want to reuse it or resell it, make sure you get it in writing.

On the bright side, there are many parts of your code that are reusable even if you dont have a contract that states so. For example, there are only so many ways to write a for loop that deletes rows from a DataSet. If you have that in a common function you can reuse that from project to project even if the original project didnt have a contract that stated you keep your code.

Now, if youre just writing some webpages for folks you know, chances are you wont want a contract. Just make sure that you let people know up front what they can expect. And remember this, if you show them your progress often, you can avoid redoing work later. If you get a job for 40 hours of work, dont wait til the end to show them what youve done. Show them your progress every day so that they can give you feedback. Thats also a good way to let them know EARLY that changes they want made might make your original estimate go over. Its a hard subject to talk about for some, but if youre on your own then youve got to speak up for yourself.

-Ners
 
Damn. Im getting flashbacks of my first job.

I was being paid $100 to upload a professors site. Thats it. Nothing more.

Turned out he had a domain name, but no server. I even offered a few servers. NO, he found his own. I ended up having to configure the server to work with his domain name.

Then it turned out that he only had pictures that he wanted me to upload, he had no site. It took 9 appointments for me to get the pictures. He kept forgetting them or missing the appointment.

After I finally got the site up and running, got my "easy" $100, it turns out that he had done the stupidist thing possible. He was paying the server by the month - and by check! Needless to say his site was shut down for a missed payment rather quickly with this guys responsability record.

Then he came to me with his problem and didnt know what to do, even after Id advised him to either pay yearly (cheaper usually) or put it on a credit/debit card to be charged monthly.

Right now Im doing a site for a guy who keeps asking me hows it going. My reply - every day is: "I"m still waiting for the product or pictures of the product and the sales pitch/advertising text you want on the site. I cant continue without any of that" and he gives me a lowbrow look and nods "Ill bring in the product". "And the text. I need to know what you want to say. Not paraphrases or keywords, what you want to appear on the site." then he just looks confused and I know Ive gotten into another situation were I know Ill end up doing more work than Im paid for and/or this project will just be going on way too long.
 
I worked for a small custom software development company in my first job. We spent huge amounts of time writing design documents, that specified exactly what the client wanted. These were normalling 100-300 pages, and actually turned into the contract, we made them sign every page.

The problem would be that we were all sweet legally, but that the document was too big for the client to read, :) you cant ever win :p.

But the point Im trying to make is that upfront at the beginning when we were negoiating contracts, we made it perfectly clear that any changes after that document were enhancements, and would cost more money. We showed them classic pictures of the software development cycle, and showed them where they could save money (early in the cycle), and although about 75% of clients still want to spend twice what they wanted (by using the latter part of the cycle), it did help development to have set stages...
 
Rant about Rent A Coder

Well, I thougt I was the only person who had problems with Rent A Coder. Im a twenty year IT veteran. Ive worked contract for as much as $120.00 per hour and as low as $50.00 per hour. Ive worked W2 for as high as $150,000.00 annually and as low as $48,000.00 annually, but Ive never worked for $3.00 per hour, which I think many of those successful bidders on Rent A Coder must be getting. I almost lost it when I saw someone posting a bid wanting a "full medical application" for $250.00.

I see some of these bids start out being described in a short paragraph. I think, ok I can do that, no problem. Then I get follow up info. They want SQL Server backend, they want 10 times what it started out as. They want something for nothing. I think many of these people who place bid requests are accustomed to paying offshore prices. Thats why they get code with ugly interfaces, english that cant be read, no error routines, etc. Thats what they paid for.

I refuse to give away my effort. I must make a living.

Man, I feel much better. Thanks for listening.
 
Excellent thread.

I have made good experiences as a freelancer. That was 1989 to 1995, btw. Since then I am at a consultancy, which is, of course, in many ways similar to freelance work, as it is contract based as well.

I think some points have been made that have to be highlighted.

a)
Your customers most likely dont understand the complexity of their problem. In many cases they dont even understand their problem.

It doesnt help you to be a good programmer here. You also have to be a good seller. You have to explain your prices ans your estimates. You have to point out the risks and try to eliminate them, if possible. If things are uncertain or unclear, try to fix them in the contract so that you dont have to cover the risk.

b)
As the customers sometimes dont fully know what they want in beforehand, you have to keep a keen eye on the "deliverable".

You also have to be the controller of your own project. Dont start doing extras for free. At times it may even be advisable to step back from the whole contract (or at least, threat to do so).

c)
Build up trust. The longer you do good work for a customer, the less effort you have to spend on explaining yourself, your plan, your estimate, your pricing. If you have the chance to work for a larger company - do it. There is a good chance that there will be follow up work. And even better chances that you will be the one who will do it, because you already know the subject.

d) If you can, build up "non technical" expertise, or if you already have it - show it. (Insurance? Selling? Buying? Logistics?)
If you can speak the language of the customer, if you know their business and their business processes, youll easily beat the pure techies (granted youre not so bad at point a).

my 2c.
 

a) Your customers most likely dont understand the complexity of their problem. In many cases they dont even understand their problem.

It doesnt help you to be a good programmer here.
here, here!!!
Efficient programming is more than efficient code.
IT is knowing the problem domain and communication with the stakeholders.


b) As the customers sometimes dont fully know what they want in beforehand, you have to keep a keen eye on the "deliverable".
and often times, they dont know what they already have. For example, that MSDE on their Office Professional disk is probably more than adequate for their needs and they dont need to buy the 50 seat oracle license.


d) If you can, build up "non technical" expertise, or if you already have it - show it. (Insurance? Selling? Buying? Logistics?)
If you can speak the language of the customer, if you know their business and their business processes, youll easily beat the pure techies (granted youre not so bad at point a).
This is why I encourage people wanting to become software developers to get a formal post secondary education. In terms of technology, indepth knowledge of RDBMS theory makes the developer indifferent to the DB flavor. Just like a formal background in OSs makes them agnostic when it comes to platform linux/Win/Mac? who cares, OS is OS, what do you want to do with the platform, thats what its about! Non-technically, formal education gives you exposure to other fields of expertise and gives you the ability to communicate in a professional manner across most real-world situations.

my 2
 
One thing that I learned as a freelancer is that I never charge by the hour. The good thing about being a freelancer is that you can write your own contracts. I would do it for $X.XX a job. That way the client never makes the association of I am paying him for $200 an hour but I make $40 an hour.

As an independant, I have differant expenses than a normal programmer. I have to own my own development platforms, pay insurance, etc.. I had one client where I would get oaid for the install. $200 for the first, and $100 for each subsequent version. I did my homework ahead of time, so I knew how much I would be paid. It ended up to be around $500 an hour, which is much higher than I would have gotten paid on an hourly basis. I usually got paid for each deliverable.
 
Getting paid by the deliverable is basically what Im doing now.

I guess Im technically liscensed by one company to create software for another. But the sofware will be resalable.

The only part Im worried about is loosing close connection with said "middleman/salespeople" company (who are getting BY FAR more than I could get for this program, great salespeople) that they can continue to sell the program without giving me my %.

Im not giving them the sourcecode, but they could effectivly keep selling the program as is to new people without me knowing.

How do you enforce a "per install" payment? Whats to stop someone from saying "Ok 100 per install" and then only getting one install, while actually getting 50 installs and handing them out to their friends?

This is something important that I think we, as independant programmers, have to think about.
 
This is something important that I think we, as independant programmers, have to think about.

How true indeed.

I am contemplating working on some side projects and placing them on my webiste for sale. For my non-Microsoft Site have even acquired a program that is geared for electronic downloads. For my future-to-be Microsoft site, looking at either doing my own electronic download program or perhaps using a shopping cart solution one of the potential hosting providers I am looking at provides.

But in terms of when the sales are out of your hands, well that brings a different light on things. In that instance I suppose does good to partner with someone you can really trust and count on.

Might get sticky, but possibly insist an audit be done if you are willing to pay for an accountant to do it or have an accounting buddy do it at a friendly rate. Of course that is just the accountant in me coming out as I used to be one until the programming bug bit me quite a few years back :eek:
 
Dear forum mates,

Its such a good discussion. I was shock on getting know your hourly pay in US. I am from Malaysia, as a freelancer, I could only be paid RM20-60/hour(USD5-15). Could this be the pay for six years experienced programmer with Bachelor Degree in US? I think definately no.

So, if there is someone out there needs a programmer with my qualification. do contact me. JK. You know why, our expenses in Malaysia is much more lower companre to US or Europe countries. One McD meals would cost only RM 6-7 (USD1.5-2). Is this the price over there? (I dont know, cause never been there).

Since we are all working in software field, could you guys share out a simple template on writing a software contract? I would appreciate if someone is willing to share out the major guidelines on writing a software contract as for forummates references.

Someone had mentioned that third world countries companies always developed system with bugs around. I think I got to correct this because I am from Third World country. Around the world(all the continents), there are so much software companies and many of them do not have QA at all. You know, at least, most of the software companies I saw in Malaysia do have QA department.

Enjoy and hope to see more discussions on this topic.
 
georgepatotk said:
Dear forum mates,
One McD meals would cost only RM 6-7 (USD1.5-2). Is this the price over there? (I dont know, cause never been there).
I dont do McDonalds (It tastes like VB reads :rolleyes: ) but a good Wendys meal will run ya US$5-7, so I guess, based on the HME (Happy Meal Equivalency) standard, the programming wage is comparative.

I think POA(Pint o Ale), ACLD (Average cost of a lap dance) or the MBS50 (Mercedes Benz S50AMG) equivalencies might be more telling for a programmer ;)

joe
 
Last edited by a moderator:
Almost any fast food meal (I much prefer Wendys to McDonalds also... mmm real salad) runs from 4.50 to 7.00 on average.

If theyre making 5-15 american an hour, but paying 1/5th the price for everything (the HME), thats about 25-75 dollars an hour... equivilent to what youd be getting paid in the US.

25 is ok for a beginner I suppose, but Id be dissapointed to make so little after some good years of experience.
 
25 is ok for a beginner I suppose, but Id be dissapointed to make so little after some good years of experience.

It depends - just because you have experience doesnt necessarily mean youre competent. There are quite a few people with 5+ years of experience, and dont know any more than someone with 1 year.

Theres a quote in Code Complete that I remember. It goes something like this; "if you program for 10 years, do you get 10 years of experience or 1 year of experience 10 times?" Keep that in mind. :P
 
Back
Top