First Contract

ssc456

Fully Optimized
Messages
4,280
Hey Guys,

I've been working as a .net & SQL Developer for some time now but in a full time position.

I've just been offered an opportunity to do some contract work on the side (evenings and weekends). I just have a couple of questions and wondered if any of you had any advice.

It will probably mainly be doing SQL work, writing stored procedures, queries etc so actually pretty easy although there will be some C# application design later on (potentially).

First question, do I charge for my time getting to know their system? ie it's a bespoke bit of software with a bespoke database, so writing my first query on it may take anywhere from 10 - 30 minutes but writing this query on a DB your familiar with would probably take 2 - 3 minutes.

The longer time is going to be finding what data is in what table, finding the joins and working out the fasted way of applying the where statements.

So if and I don't suppose it's going to be this simple but if he says they want 25 queries for reports written do I look at it as around a day (20 mins each) or do I look have to bite the bullet and look at it for an hour and a half maybe 2?
 
If learning the database is required to complete the requested operation, then you charge for it.

The argument could easily be made that without first understanding the DB you would not be able to create efficient queries/SPs/etc. Don't abuse the ability to charge for this type of activity, but don't feel bad for charging for it either.
 
If learning the database is required to complete the requested operation, then you charge for it.

The argument could easily be made that without first understanding the DB you would not be able to create efficient queries/SPs/etc. Don't abuse the ability to charge for this type of activity, but don't feel bad for charging for it either.

Thank you.

I'm very excited about it, broadening my knowledge and working with other people / companies is all good experience, plus the £££ that can be earned from contracting is crazy!

For this, my first contract i'm looking at £300 - £350 a day.
 
hmmm....

if you want to charge per job, then you need to factor in that you'll need some learning time. when you charge for the job.

(e.g. if you think that you'll need 5 hours to learn the system, think the queries will take 30 minutes to write, have a practically assured chance of getting 10 jobs with a possibility of more after then charge per half hour job what you'd like an hourly rate to be.


on job 1 you'll make a loss (because it'll take 5.5 hours and you get paid 1 hour), but this will be made up for by jobs 2 - 10 (that take 0.5 hours and pay 1 hours), and by the time you get to job 10 you've earned on average what you wanted to. jobs 11 - 20 that are only a vague possibility are now paying 2x what you would accept as a preferred hourly rate. but since they are not guaranteed you can't factor those in from the start.

but if you try to charge job 1 as a six hour job, then chances are the customer won't bear it. or at least won't want to. by spreading costs over the jobs that you know that you have you'll make the customer happy about your job rate, and this is a rate that they will be comfortable with in the future, -so expectations are set.


the other way of looking at this is that you should be reasonable familiar with the systems BEFORE you start bidding on work, (as you need to be assured that you can do the job).

what if you get there and the system turns out to be ten times more complex than you think and you miss deadlines and effectively work for pence per hour because you're on a fixed price contract?



Alternatively

work on a time and materials basis, (rather than fixed price) this is a better insurance policy for you, it means that you have all the time that you need, (and that will be paid for by the customer.) it also allows the customer to have scope creep and extend things, and be wooley about what they like, because frankly you don't care. you'll keep working till it's done, and keep getting paid until it's done. in fact delays now start working for you rather than against you, each time they want something moved or changed, rather than being an extra hour over what you expected that you're now working for free because you already exceeded your fixed cost it's now an hour that's a bonus for you, just changing some parameter and getting paid another minimum billing amount.



basically, if you work for a fixed price rate you need to understand what you're getting into before you start really, at least having a fairly solid idea, this means it works in your favour to know the system first, as time you spend learning is time that you're not working)

you need to figure out what your time is worth and bill indirectly for this time, trying to make sure that you don't end up working for less than you thought you would.

if you're working fixed price you need to be very clear about scope of works, what your responsibilities are, and how things are tested.
(trust me, acceptance criteria of script works is a bad idea).

lets say you're writing a script to transfer funds between accounts for a bank.
it there is an issue with any other part of the system your script could fail. lets say that they are only just moving to .net from some other language, system slowdowns, bloatware, bad coding, virus, bad admin, insufficient resource, literally ANYTHING could make a system look like it is not working, or make your script looks like it isn't as good as they had thought, or that the system is working too slowly.

write your contract acceptance criteria so that your code can be tested and signed off in as much isolation as possible. -because when you're facing a problem that's not your fault and payment is being withheld because code doesn't work, and your own contract allowed that, it's not a fun place to be!




if you're not sure what you're getting into, the scope isn't 100% nailed down, or the acceptance criteria is woolly then work on a time and materials basis. set your hourly rate to be what you'd reasonably expect your level to be.
consider at the time what your learning rate is, (that's time you're only being useful to yourself so you may offer a discount).


Basically, contracting is always a balancing act of trying to earn as much as you can, whilst setting your rate low enough that you get willing repeat business.
 
hmmm....

if you want to charge per job, then you need to factor in that you'll need some learning time. when you charge for the job.

(e.g. if you think that you'll need 5 hours to learn the system, think the queries will take 30 minutes to write, have a practically assured chance of getting 10 jobs with a possibility of more after then charge per half hour job what you'd like an hourly rate to be.

on job 1 you'll make a loss (because it'll take 5.5 hours and you get paid 1 hour), but this will be made up for by jobs 2 - 10 (that take 0.5 hours and pay 1 hours), and by the time you get to job 10 you've earned on average what you wanted to. jobs 11 - 20 that are only a vague possibility are now paying 2x what you would accept as a preferred hourly rate. but since they are not guaranteed you can't factor those in from the start.

but if you try to charge job 1 as a six hour job, then chances are the customer won't bear it. or at least won't want to. by spreading costs over the jobs that you know that you have you'll make the customer happy about your job rate, and this is a rate that they will be comfortable with in the future, -so expectations are set.

the other way of looking at this is that you should be reasonable familiar with the systems BEFORE you start bidding on work, (as you need to be assured that you can do the job).

what if you get there and the system turns out to be ten times more complex than you think and you miss deadlines and effectively work for pence per hour because you're on a fixed price contract?

Alternatively

work on a time and materials basis, (rather than fixed price) this is a better insurance policy for you, it means that you have all the time that you need, (and that will be paid for by the customer.) it also allows the customer to have scope creep and extend things, and be wooley about what they like, because frankly you don't care. you'll keep working till it's done, and keep getting paid until it's done. in fact delays now start working for you rather than against you, each time they want something moved or changed, rather than being an extra hour over what you expected that you're now working for free because you already exceeded your fixed cost it's now an hour that's a bonus for you, just changing some parameter and getting paid another minimum billing amount.

basically, if you work for a fixed price rate you need to understand what you're getting into before you start really, at least having a fairly solid idea, this means it works in your favour to know the system first, as time you spend learning is time that you're not working)

you need to figure out what your time is worth and bill indirectly for this time, trying to make sure that you don't end up working for less than you thought you would.

if you're working fixed price you need to be very clear about scope of works, what your responsibilities are, and how things are tested.
(trust me, acceptance criteria of script works is a bad idea).

lets say you're writing a script to transfer funds between accounts for a bank.
it there is an issue with any other part of the system your script could fail. lets say that they are only just moving to .net from some other language, system slowdowns, bloatware, bad coding, virus, bad admin, insufficient resource, literally ANYTHING could make a system look like it is not working, or make your script looks like it isn't as good as they had thought, or that the system is working too slowly.

write your contract acceptance criteria so that your code can be tested and signed off in as much isolation as possible. -because when you're facing a problem that's not your fault and payment is being withheld because code doesn't work, and your own contract allowed that, it's not a fun place to be!

if you're not sure what you're getting into, the scope isn't 100% nailed down, or the acceptance criteria is woolly then work on a time and materials basis. set your hourly rate to be what you'd reasonably expect your level to be.
consider at the time what your learning rate is, (that's time you're only being useful to yourself so you may offer a discount).

Basically, contracting is always a balancing act of trying to earn as much as you can, whilst setting your rate low enough that you get willing repeat business.

Thank you Root!! Very useful advice of which I will take on board and respond to when I get to my computer!
 
£300 a day, what, haha, man, you've worked hard go for it! goodluck pal in the future, and what root said pretty much nailed it right their.
 
Thanks dude.

I'm a couple of "days" into it.
I say "days" as i'm charging £300 per day but i'm doing it around my full time job so between 2 and 4 hours in the evenings and either then a good 4 - 8 hours Saturday or Sunday.

Before I quoted I said I would spend about an hour (non chargeable) starting the project to see how quickly I can find my way around and get to know the system. I then quoted the first project at 5 days and I think that's going to be about right from my progress so far.

Does anyone here (UK based preferably because of tax etc) have any experience contracting?

The reason I ask is I'm slightly confused as to which route to go down in regards to invoicing.
I think the best option at the moment because of the small amount of cash is to act as a sole trader, I believe this enables to to invoice him and have the payment paid directly into my personal bank account or a cheque in my name.
But i'm still not 100% certain how I go about paying tax on this? Do I wait until the end of the tax year and see how much work I've done and phone them up and say hey, this year I earned this how do I pay the tax I owe you?

Bear in mind it's a second job.

I've looked at a Ltd company and if I ever do this full time I will definitely proceed with this idea but a couple of days a month doesn't seem worth it.
 
£300 a day, what, haha, man, you've worked hard go for it! goodluck pal in the future, and what root said pretty much nailed it right their.

That's actually pretty cheap.

To our customers I've been charged at over a grand a day before. (of course I see less than a quarter of that), the company takes a lot more.

but them again I've been charged out at only a few hundred also.

and then there are days when customers get you for free to sweeten a deal so that they come back for more of those grand a day jobs...

(man prostitution is hard work!)

That £300 a day is probably about right if you're just starting off, it's a good amount to weed out rubbish jobs, and a good amount to get repeat business.
Don't forget that from that £300 you need to pay income tax and national insurance. if you've set up a company so other people buy services from your company then you'll also need to pay employers NI and employers tax contributions, and well a corporation taxes, (if they are applicable)...

suddenly £300 becomes a lot less...
 
That £300 a day is probably about right if you're just starting off, it's a good amount to weed out rubbish jobs, and a good amount to get repeat business.
Don't forget that from that £300 you need to pay income tax and national insurance. if you've set up a company so other people buy services from your company then you'll also need to pay employers NI and employers tax contributions, and well a corporation taxes, (if they are applicable)...

suddenly £300 becomes a lot less...

Which is effectively my remaining questions.

I think £300 is about right, I mean for my full time job the development charge is £950 a day but that comes with guaranteed work, ie if I get hit by a bus tomorrow, the company has to complete the development work.

So that £300 is about right for a lone contractor, well for .net and SQL £200 - £500 a day seems normal.

Anyways about this tax!

For £1,000 a month it's not worth going for an umbrella company as they will milk a huge chunk of that out.

The question is Sole Trader or Ltd.
Ltd I believe I just pay corp tax as I will pay myself in dividends so I don't have to register for PAYE. But this may need an accountant at £50 - £120 a month to manage, which is a lot out of my small earnings.
Sole Trader, I just don't understand how I pay tax, is it a tax return at the end of the year?
 
Thanks dude.

I'm a couple of "days" into it.
I say "days" as i'm charging £300 per day but i'm doing it around my full time job so between 2 and 4 hours in the evenings and either then a good 4 - 8 hours Saturday or Sunday.

Before I quoted I said I would spend about an hour (non chargeable) starting the project to see how quickly I can find my way around and get to know the system. I then quoted the first project at 5 days and I think that's going to be about right from my progress so far.

Does anyone here (UK based preferably because of tax etc) have any experience contracting?

The reason I ask is I'm slightly confused as to which route to go down in regards to invoicing.
I think the best option at the moment because of the small amount of cash is to act as a sole trader, I believe this enables to to invoice him and have the payment paid directly into my personal bank account or a cheque in my name.
But i'm still not 100% certain how I go about paying tax on this? Do I wait until the end of the tax year and see how much work I've done and phone them up and say hey, this year I earned this how do I pay the tax I owe you?

Bear in mind it's a second job.

I've looked at a Ltd company and if I ever do this full time I will definitely proceed with this idea but a couple of days a month doesn't seem worth it.

Tax is a slippery subject...
I'll try to explain what I know for you.

First, self assessment.
you need to do self assessment in October if you return by paper.
January is the deadline for electronic submissions.

Given that you've only just started you might not have to make any submission until October next year.

At this point you will tell them that you've earned X amount for your day job and paid Y tax.
you'll Also declare that you've earned Z from your sole trader business as a software consultant.

once you've made the submission you won't hear anything.

The following year you will be sent a bill for tax, and you'll make your next tax submission. (earn X paid Y also earned Z again), then you'll continue in this manner effectively paying tax a year behind the money being earned.

Don't get complacent.

lets assume you earn 35k in your day job, which I think puts you somewhere near the cusp of the 40p tax rate,

if you earn £10K from contracting you'll owe £4K in tax.

If the next year you're having a rubbish year and only earn £1k from contracting, and you've already spent all the money from that first tax year, you're going to need to find the £4k tax bill from your own pocket.

The following year you'd only have a £400 tax bill on the £1k that you earned.

Given the way that the thresholds work you may find that some of what you earn is taxed at a different rate to other parts of what you earn. so you pay different rates on some. given that you have a day job, none of your extra earnings are likely to be tax free.


stock advice is whatever you earn keep 20 - 30% in a savings account ready to pay tax. because you will need it, and maybe some more.

(obviously if you're "only" paying the 25% rate then you'll also get some nice savings on the go doing this. but better to over save at 30% (so that you can afford some tax at 25% and some at 40%) than just assume everything will be at 25% or some tax free)


Tax deductibles.
There are a lot of things that are tax deductible, especially when you are running your business from home.

for example, you have a dedicated office space? -some of your rent or mortgage is tax deductible,
you're using power? some of your power bill is tax deductible.
heating your house whilst you;re working in it, some of your gas bill is tax deductible.
internet vital for your work, - again, a share will be tax deductible.
bought a new computer and use it for work? - tax deductible -and this can be deductible over a few years depending on it's depreciation.
need to use your car to get to client meetings? purchase price can be tax deductible, servicing is part deductible, tyres, etc, even VAT on the fuel for the business journeys.

(keep receipts and bills, you'll need them if you are audited, -5 years)

Stock advice, - seek the services of an accountant. - some accountants will work on the basis that they take your self assessment and "check it over" if you have already claimed everything as tax deductible that you can think of remember to tell them, it's pretty common that they add "sundries" onto the end as a deductible, this is to include things like heat and light. (you can't claim twice).

Sit down with them and get a good introductory meeting, explain what you're doing etc, tell them about everything you use, ask about deductibles, and make sure that they tell you when they need things. (it's no good submitting books to them in December if they might take 2 months to go through them)


You MUST submit your tax return by the deadlines, if you don't it's an offence and you can be fined.

Once you start submitting you can't "forget" the next year, and if you don't earn anything you need to tell then that you didn't earn.

If you just think that you didn't earn you don't owe tax and can't be bothered with the paper work, then you didn't return and can be fined.



Setting up your own company, can be expensive, (corporation tax, employers contributions to tax and NI, and you still need to pay your employees contributions.)
Setting up a company taking a minimal wage and then payment by share dividends, (which are tax free) is possible, but a bit dodgy, and there are laws that are devised to stop this.
You'll need to investigate IR35...
 
Back
Top Bottom