Hi! Im sort of new in the whole c++ world, so im curious:
How you get paid?
Do you get paid by lines of code / hours / or what?
Are you freelancer, or regular employee?
Im interested also in amounts, but that's not necessary, most interesting part for me is the method used to charge your employer.
I googled about pay by lines of code, but it seems, that most people are very sceptic about it. What is your opninion?
But seriously, I guess it depends on how the SLOC counting algorithm works. How do you define one line of c++ code? Is it one line literally? Or is it one full statement or expression?
I'm sure the brackets wouldn't count as a line of code, would they? How many lines of code is the following for loop? If it is four, is it because the for loop is on multiple lines or is it because of the fact that it is constructed of 3 separate statements? I think that Bazzy's point is valid. Once engineers figure out how the algorithm works they will take advantage of it and write the code that will result in the most pay. It is like the income tax system. Give people a loophole to reduce their taxable income and they will do whatever it takes to pay less taxes and keep more income!
1 2 3 4 5 6
for(int i = 0;
i < someNumber;
++i)
{
std::cout << i << std::endl;
}
well, i saw numerous posts with codes like Bazzy wrote on this topic. Also some people mentions the fact that a skilled programmer can write a code with lesser lines that does the same thing and even in more efficient way, so its not fair to pay him less. Though i'm more interested in real life examples. I heard some people talking that there are some coefficients, that affect pay per line, but i dont know how they work (or do they even exist).
Next question would be: if you get paid not by lines of code, then how? By hours? Or you just decide the cost of a software based on some predicted factors like complicatedness, etc..?
and i would like to answer kempofighter:
you shouldn't forget that there is market. And the people will pay much more for the code lines that are best in quality. For example if someone hires me to do a job they think takes 500 lines of code and i charge them for 5000, they will be not happy with the result and most likely i wont get paid. But if someone wants me to write 500 lines of code, and i can do that in just 300 lines of code, then most likely i will get paid extra for good job, that means boths sides are happy.
I'm sorry to say that I think you have a very naive approach to the software industry.
Because the people that hire programmers are not themselves programmers, they will have no scientific means by which to judge the quality of software that a programmer writes. And even if they did, I still doubt they would pay much more. It's a dog-eat-dog world and they too are trying to make money, so they will want to pay as little as possible.
Nobody asks for a programmer to write X number of lines of code, so the last part of your argument is irrelevant. They ask you to write feature Y, no matter how many lines of code it takes. To them the lines of code count does not matter; the only thing that matters is meeting the schedule deadlines.
So no, for multiple reasons you will not get paid extra.
Of course if a CEO of papper company comes to you, a programmer and asks to create a papper counting <whatever> piece of software, then yes, he does not knows much about programming, or software engineering or whatever.
But lets say a software company needs a freelancer programmer to write something. Than im sure they will have tools to test your work quality. You can actualy measure how acurate, how fast, how small (or big), how robust (etc) software is.
and also:
They ask you to write feature Y, no matter how many lines of code it takes. To them the lines of code count does not matter; the only thing that matters is meeting the schedule deadlines.
By "lines of code" in this context i actually meant a price. Because this is why i started the topic.
So leaving the COL's off the topic, anyone want to tell me how you get paid? I understand that regular emplees have their salary per year, but what about freelancers? Anyone want to share the experience? How you deal with your clients? I just got a project that should take 2 months to be done and it is very hard to estimate the price. that is my problem
I'd be willing to bet that said company would at best develop an incomplete test plan that they would then imprecisely execute to test the software. I agree that you can measure speed and size, but I disagree that you can scientifically or mathematically measure robustness/quality unless you are writing in a functional language (C++ is imperative, as are most other HLLs). You can only prove that bugs exist; you cannot prove the absence of bugs.
I meant lines of code.
Freelancers are essentially the same as contractors. Contractors are paid on a par with salaried employees, adjusting for the fact that the company needn't pay certain benefits to contractors such as health insurance.
And I think the pay is regional. I think you need to look at what contractors make in your area and come up with a similar figure.