Meta

Three years ago I dropped out of being a paid-employee and switched to being a consultant. I’ve had a number of people ask about my experiences as they’re interested in following a similar route. I’m going to write a short set of posts on the subject and I welcome questions.

For five years I worked at the MASA Group developing A.I. software for ‘big industry’. Our company sat outside of the dot-com boom and bust, none of our products were associated with the web.

I was well-placed in the UK office as Senior Programmer and I ran projects between the UK and French offices, met clients and planned the technical future of our operations. Life was fun. I had however always wanted to be my own boss…

During the last year of my employment the company changed direction and the UK office was bought-out by my direct boss – the new focus wasn’t so much fun for me. The company had a tricky time figuring out who it serviced and what it offered and after a year I chose to resign and start my own consultancy.

The move was somewhat risky as I had no prior experience at being a contractor, no track record for agencies and no private client list for consulting work. I took out a Â£7,000 loan – enough to cover several months worth of mortgage payments, and resigned. I had no savings as I’d just bought my first property.

Lesson – you need several months worth of living expenses if you’re going to switch to selling your skills. You either want money put aside or a loan which you’ll need to repay. I opted for a 7 year repayment term to give myself plenty of room (I repaid the loan inside of 2 years) .

Freelancing as a Consultant A.I. Researcher

I founded Mor Consulting Ltd. in 2004 as a 1-man company. I needed a limited company as some of my consultancy clients would only want to bill to a Ltd. company rather than a sole-tradership.

Founding the company cost Â£250 via an accountant, for note my yearly accountancy fees are roughly Â£500 (paid after year-end accounts are completed).

My accountant (Bristow Still) made the process super-simple, I had no prior experience in founding a company yet the process was painless and completed in a few weeks with just a few things to sign. Having an account in the same town as you is convenient – visiting them to ask questions and sign forms makes life easy.

The solution was to talk to all of my friends and past associates and let them know about my change in status, my new availability and what I’d be interested in doing. Each email was hand-crafted, targeted towards their business (for past associates) and personal. Never spam your friends.

The response was very helpful and quickly I was offered various pieces of generic contract programming work, often for short term jobs (1-2 months each), all local to Brighton.

The Sussex Innovation Centre is a great example of a useful hub – 70 tech companies, all small, most hungry for extra resources. You can visit lots of related companies and obtain friendly referrals with a minimum of effort – maximising your ability to search for new work.

Spreading your name and skills around is likely to be the most important thing that you do whilst you get established (which could take a year). It is also the most time-costly – I spent 2 months spreading word around before interesting A.I.-related things came my way.

At first I had to be liberal in what I accepted – anything coding related that paid the bills was useful. Quickly I worked to accept only A.I.-related work as that would help to build my reputation, from there I never looked back.

If you are not the type who would like “networking” – I mean if you never ever talked more than what’s absolutely necessary for getting things done to people except those 2-3 friend whom you have the same interests with, you turn down all invitation to pubs and parties and reply with “how was your weekend?” questions with one syllable answers, hoping to be left alone – then I guess freelancing is not for you? I mean I guess sales and networking is a big part of it.

Hi Miklos, some googling suggests that you’re moving from Hungary to the UK – I hope the move goes smoothly

Freelancing – you need to like networking. Freelancing normally means that you arrange your own jobs so you have to enjoy talking to people as you do that a lot.

Contracting – ‘networking’ isn’t so important for coding contracts. When contracting you typically take a contract that an agent arranges over the phone. You do some interviews, you take a contract, if you do well then the agent puts you on their ‘preferred list’ and you get better contract options. The agent does all the talking for you (that’s their job).

This is looking to be an interesting series of articles, I am looking forward to the follow-ups. Meanwhile I would like to ask you how well spread is the A.I. related work among commercial companies and what kind of things do they usually want that need to make use of A.I. research. I am very interested in this aspect since I believe that A.I. is still a taboo subject when conventional application development is concerned and I think that using A.I. techniques in conventional applications could bring about improvements on both sides.

I’m a bit surprised AI is still alive and kicking – I remember all that excitement 15-20 years ago and how it got forgotten. Well I guess these AIML agents are something wholly different than those natural language processing LISP programs back then. I wonder why did the industry all but give up on the world’s most powerful programming language. Maybe it’s that that modern AI isn’t really programming the classical sense, you can’t really get there by just parsing stuff and checking loads of conditions?

If there’s interest I can write some of the history on how we boot-strapped ShowMeDo to the point now where we have some family funding?

Re. marketing ShowMeDo – mostly word of mouth, I write blog entries and encourage our users to blog about us. I have a 3,000 user news-letter (which I write intermittently) and Jeff Rush and other members of the Python Software Foundation take part in our Google Group:http://groups.google.com/group/showmedo
where we discuss ideas, plans, proposals for new videos and try to help our users. Come join us if you have ideas?

I consider Makefiles used to build code to be an AI application. And it certainly is different than traditional programming. I do this often on my contracting/consulting jobs.

I have come to like contract jobs. People networking is not needed as much as another had mentioned. Often I find that employers are looking for specific solution to problems, and it is enjoyable to fix it even if it wasn’t very hard. Having skills to make the business run smoother seems to be in demand.

Hi Jeremy. Personally I wouldn’t consider a makefile to be an example of AI coding! Makefiles are closer to scripting (sh, bash, little bits of perl or python) than ‘conventional’ coding (java/c++ etc) but it is still just coding in my mind.

For AI I’d talk about things like searching a huge space of possible-solutions to find the right solution to a pattern matching problem, reverse engineering physics interactions through search techniques, dynamic and clever routing protocols for delivery schedules – that sort of thing.

I’ll write some more about this on the blog some time soon…

Having the skills to run a business are certainly (and always) in demand. They are worthwhile skills to have even if you’re an employee – you have a much better chance of helping the business to grow if you can ask sensible questions.

Hi,
Is there a part 2 for your article? I’m wondering how you handled the billing of customers. Did you get paid a certain amount up front and the rest on delivery? Do you have any software suggestions that could be used for billing and other record keeping?

Billing? I write them an invoice and ask them to pay within 2 weeks (or maybe 4 if there’s good reason on their part). They’ve always paid, so that’s always been easy. I’ve always billed in arrears per month.

I don’t use software to keep track of things – monthly invoices are easily tallied in Excel at the end of the year, I only ever have 1 or 2 clients on so a simple stack of a few invoices is easy to track.

Another way not mentioned here to help build your reputation is to have your few initial clients testify about their good experiences with your work. There are many ways to do it, let them write comments on your website, prepare “success stories” telling the story and accomplishments or have them vote for you in Trust-index to get a plain 5.

Working as a freelancer is so much better than being employed.
I do all my work from home on getAFreelancer (http://www.getafreelancer.com/affiliates/hiquality/) as they seem to have the fairest payment.
As a flash programmer you can also earn money by developing flash games and publishing those on various networks.