How to Become a Freelance Java Developer

Jakob Jenkov
Last update: 2014-06-25

"How do I become a freelance Java developer?"

This is another one of the questions that land in my inbox frequently.

What Work Does Freelancer Do?

As you may know, or may not know, I work as a freelance Java developer. That means, that I work as a consultant. I have worked freelance since year 2000, which is most of my active career. I mostly work for big corporations, software companies, banks, transport companies etc.

The projects I work on last from 3 to 12 months at a time. During that time I show up at the clients office, just like their own developers. Some projects are new applications that are built from the ground up. Other projects are new features added to existing applications.

Many of the applications are internal applications, used by the employees of the clien themselves, or by my clients clients. Many of these application are either web applications using Java servlets, JSP, etc. or standalone server side services. I have not yet been asked to develop any Swing applications.

It is my experience that freelancer are not so often hired for product development of say, products like Facebook etc. Companies tend to prefer permanent employees for such products.

Why do Companies Hire Freelance Developers?

Big companies hire external consultants from time to time, when they need a certain application / feature finished by a certain deadline, and they do not have enough people to get the job done themselves. They then hire consultants for a while, and fire them again when the project is done, or is less critical.

This way big companies can hire and fire developers easily, and quickly, without the consultants getting angry when their contracts are finally terminated.

Often, the same consultants are hired back in the future, when new projects demand extra developers. The client then knows what personality and skills they are getting. Furthermore, they don't have to train the consultant again, in their processes, tools and hardware setup.

How do You Become a Freelancer?

Normally you get hired via a consulting agency. The consulting agencies have the contact to the client.

Big clients do not want to have to keep in touch with hundreds of freelancers, and negotiate prices etc. with them on an individual basis. They just want to talk to a handful of consulting agencies, when they need extra developers. Additionally, if you leave the clients project prematurely (before your contract ends), your consulting agency has to find a replacement for you.

So, find the consulting companies in your city that uses freelancers, and contact them. That is the way to get into their database.

Freelancing From Home

It is also possible to work as a freelancer from home. You can do so by signing up with one of the big freelance work portals. These portals enable you to both work as a freelancer from home, or hire freelancers (if that is what you need). Signing up with these portals is free, so you can try them out at no risk.

There are three big freelance portals:


My own experience with these websites is limited, but I had some disappointing results trying to hire a freelancer on Both the website and the quality of the work was disappointing, but the website might have changed now, and I might just have been unlucky with the freelancer (an agency - and the project managers didn't understand anything of development). seems okay too from what I have read, and I have colleagues that are satisfied with

Freelance Jobs

Disclosure: I am a affiliate by the way, so if you sign up with via the link or banner on this website I will get a small token of gratitude (small fee) from as reward.

Note that and Elance are merging into one company, but you can still use both websites (at the time of writing).

What are the Requirements?

Most consulting agencies require that you have at least 5 years of development experience, before they will accept you in their database. I was lucky, and got into the game after just 1 year of web development, and 1 year of Java consulting, as a permanent employee in a consulting agency. Two years. The reason that was possible was because of the internet bubble in 2000. Everybody was hiring developers, so the market was not as tough as it is today.

What is the Salary?

Here in Denmark, the consultant salaries are typically 1,5 to 2 times the salary of a permanent employee. It depends a lot on what technology you require a developer for, and what educational background you need. In some specialist areas the salary can be much higher. In some more generalist areas (like PHP), the salary can be lower.

When you freelance from home via the freelance portals, you are competing with developers from all over the world. Therefore the salaries are lower than what you would get for onsite consulting. Still, in many parts of the world you can make an okay salary via these websites. For people living in cheaper countries an internationally competitive salary might actually be pretty good!

Why Work as a Freelancer?

I prefer working as a freelancer because it gives me a lot of freedom compared to being a permanent employee.

First of all I don't have to work the same place for years and years. Not all companies are equally exciting to work for. By being a freelancer I get to move around. I can even come back to a company after a period somewhere else.

Second, I get to choose what projects I accept. That means that I can better control what direction my career takes. Of course, not always, but sometimes. At least you get to say no, if the project is too far from your direction.

Third, the higher salary allows me to take time off to travel, or to develop my own little software projects, or write articles, such as this one.

Fourth, if you work as a freelancer from home you might be able to bring your work with you all over the world.

I hope this little article was helpful. Otherwise, click the About link at the top of the page, and find an email address you can reach me on, and tell me what more you want to know.

Jakob Jenkov

Featured Videos

Java ForkJoinPool

P2P Networks Introduction


Java Persistence
Close TOC
All Tutorial Trails
All Trails
Table of contents (TOC) for this tutorial trail
Trail TOC
Table of contents (TOC) for this tutorial
Page TOC
Previous tutorial in this tutorial trail
Next tutorial in this tutorial trail