• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Working as a freelance programmer

 
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hello, I'm currently working towards a bachelors in Computer Science and have been thinking of different career paths. Is it difficult to get freelance/contracting work? I love to travel, so I would prefer getting hired to work on a project for a finite period of time, then have time off until the next project. I've heard of people doing this, but I was just wondering if anyone out there had any experience and could offer advice/warnings. Thanks!!

-David
 
author & internet detective
Posts: 41878
909
Eclipse IDE VI Editor Java
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
David,
Welcome to CodeRanch!

I think it is harder to do this at the beginning of your career. Because you haven't proven yourself yet, I think it is harder to get those fixed length contracts. There are sites that have freelance work for the inexperienced, but those tend to be "lowest bidder" arrangements and a problem if you live in a country where things cost more.
 
Ranch Hand
Posts: 974
11
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Jeanne is very right of course. On the other hand, at the moment you have proven yourself, you might have a mortgage and a daughter in college, and you would not want to have an uncertain income. Hence that would be a reason to try this when you are young. (My daughter was born when I was still at school, even. Always needed a fixed monthly salary.)
 
Bartender
Posts: 2407
36
Scala Python Oracle Postgres Database Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Jeanne's right. I was a freelancer for around 20 years (in the UK) and really you need to have some practical specialist skills/experience to sell. If you think about it, when somebody hires a freelancer (often on fairly high daily rates), they are doing so because they want somebody to provide specific skills and be productive from day one. Even a freelance junior developer needs to be able to hit the ground running, because nobody wants to pay you to learn the ropes on freelance rates.

So I'd say you probably need to get a couple of years' experience in a particular role, before you could reasonably expect to start looking for freelance work. And obviously, the more specialist (but market-relevant) experience you can gather, the higher the daily rate is likely to be.

Another factor is experience of working life in the IT industry. Your degree may well equip you with lots of good technical skills and CS knowledge, but until you've worked for a year or two on the front-line delivering software in a real project environment to tight deadlines, while the users dither and complain that you're giving them what they asked for, not what they really want, you haven't really shown you can work professionally under pressure. Employers looking for freelance staff want to feel confident that you can do this, especially as projects hiring freelancers are often in trouble - e.g. the in-house team lacks the key skills they need, or they are facing tight deadlines and need to throw more bodies at the problem - which is why they hire freelancers in the first place.

Also, as Jan pointed out, there are risks associated with freelance work - that's why they pay the good rates. It's not just the risk of long gaps between jobs, or screwing up your taxes (get advice from a tax accountant before you go freelance!), but also that you have to be responsible for your own career development. Nobody pays to train freelancers, so you need to keep an eye on the market, make sure you keep your skills up to date and be prepared to invest time/money in developing new skills where necessary. You may reach a point in your career where you will want to go back into regular employment, and you will need to have the right skills and experience to make this transition too.

So I'd suggest you get some good work experience under your belt over the next couple of years, and also think about the kind of work you'd like to do as a freelancer. Look at the job market and see what areas you might want to work in, and focus on acquiring the skills and experience that will get you where you want to go.
 
Jan de Boer
Ranch Hand
Posts: 974
11
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
One ex colleague of me was a freelancer, and he for example had to program legacy code in C, because that was the only assignment he could get. But then also had to know and study the latest and newest stuff for future assignments, to keep up with the market. So that would be quite an effort. I am not sure how often freelancers do legacy no employee wants to do, compared to how often they have to do the new stuff nobody knows about. Can you give me an opinion on that Chris? I am curious. Is doing legacy as freelancer an exception, or is something frequent?
 
chris webster
Bartender
Posts: 2407
36
Scala Python Oracle Postgres Database Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Jan de Boer wrote:One ex colleague of me was a freelancer, and he for example had to program legacy code in C, because that was the only assignment he could get. But then also had to know and study the latest and newest stuff for future assignments, to keep up with the market. So that would be quite an effort. I am not sure how often freelancers do legacy no employee wants to do, compared to how often they have to do the new stuff nobody knows about. Can you give me an opinion on that Chris? I am curious. Is doing legacy as freelancer an exception, or is something frequent?


I guess it will depend on your particular specialism and how many people in today's market are real experts in that skill. For example, there is probably a lot of really gnarly old code around in C that nobody understands any more, so I can understand why a good C programmer would be able to get contract work doing "legacy" work in C, either to maintain the old code or even to re-write it in C++ or Java etc.

A niche platform is also useful e.g. big old mainframe systems. During the Y2K panic, there was a lot of work for COBOL programmers, because many systems were still using COBOL code that was more than 20 years old. You can still get work in COBOL, as a lot of that code is still around, but I don't see many contracts for it (e.g. there are 7 freelance COBOL jobs in the UK on Jobserve today), although the daily rates aren't too bad if you can get one of those jobs. In this case, that might also be because so many of the old mainframe developers were fired when the big banks etc moved their systems offshore over the last 10 years, and now there's nobody left with those skills in the UK market.

I think it also helps if there have been a few major technology changes since your "legacy" skill was mainstream, because that means new developers probably don't have the same depth of knowledge of those things, and older developers have probably moved into management or become architects since then. A lot of people moved from C --> C++ and/or Java in the last 20 years, so there may be fewer skilled and experienced C programmers around these days, for example, but there's lots of legacy C code still being used.

In my case, I used to do a lot of work with Oracle Forms and related proprietary tools, which used to be one of the main application development platforms with Oracle because you could crank out a working system in days/weeks instead of months/years. But Oracle has more or less shelved Forms since they got into Java, so although there are lots of old Forms-based systems around, few people are building new systems with it. There are still freelance jobs for Forms developers, but like many legacy skills it's kind of a dead end, and you probably don't want to get stuck there.

Basically, you can get freelance "legacy" work if you have the right skills/experience, but it's not something I'd want to base the rest of my career on.
 
Jan de Boer
Ranch Hand
Posts: 974
11
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks Chris. I am a programmer that moved from C to C++ to Java and C# nowadays. I am just as happy coding legacy C as Java or C# with the latest tools. So if someone would pay me a lot of cash to do C, I could consider it. The only thing about freelance is the uncertainty and the administration. I have a pessimistic nature. You noticed that when my contract at my present job was not renewed, I panicked and thought stuff like: "I am old useless my skills are outdated and I will never.....". Totally unnecessary, in the end, since I picked new stuff up quickly again, when I was forced. But I like the certainty of a monthly salary.

Thanks for the explanation again! :-)
 
Author
Posts: 3473
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
As a freelancer, it is good to have wider range of skills, but pay more attention to sought-after skills, especially hard to get hands-on commercial experience.
 
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hello. :-)
I recommend this short blog post if you want to read more about freelance programming from the perspective of an experienced developer.
 
Marshal
Posts: 79239
377
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
AW Welcome to the Ranch
 
Andreas Wang
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Campbell Ritchie wrote:AW Welcome to the Ranch



Thank you!
 
Ranch Hand
Posts: 574
VI Editor Chrome Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
The issue I had was getting paid, especially for the last 2 weeks when the project was done and you weren't showing up any more.  Chasing those final paychecks (and sometimes chasing every paycheck) is a big reason I quit freelancing.
 
Bartender
Posts: 1155
20
Mac OS X IntelliJ IDE Oracle Spring VI Editor Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Maybe a bit outdated now but The Guide to IT Contracting was a good introduction.
Its based on the UK and our laws, but I suspect that tax offices (etc) are mostly the same wherever you go    

My advise would be to do it, unless you have a good reason for being unable.  It's a different attitude, you turn up, do the work (well) and when its done you find another contract.  
I'm dreading the day (I~R~3~5) when I have to become a permanent staff member again, all the politics and the feeling that the company owns you!      
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
reply
    Bookmark Topic Watch Topic
  • New Topic