The latest expert opinions, articles, and guides for the Java professional.

Five Ways to Not Suck at Being a Java Freelancer

My name is Roberto and I’m a professional Java Developer from Portugal. My development experience over the last 8 years has been mainly in the areas of Finance, Insurance and Government, but about a year ago I started to work as a Java Freelancer for three different customers and now I’m considering creating a company to handle all the requests I have. Btw, that’s not me in the picture to the left, that’s Jaroslav Tulach (of NetBeans fame!)

In a way, I think I have managed to become successful freelancer, but it wasn’t always easy. The idea of standing with a sign that says “Will code HTML for food” was not appealing to me, so I made it work. The following thoughts are my humble contributions to steer people that want to change their professional career and experience the way of a freelancer.

1. Work as a non-freelancer for at least 10 years (kidding)

Maybe not that long, but before anyone will hire you, you’ll need to get some experience and a track record first! Freelancers almost never start off as one; they usually start with a fixed job. After I finished my university degree, I had no experience in the real market, so even if I wanted to launch my career as a freelancer how could I convince any potential customer to hire me?

Freelance jobs are not easy, unless you already have some kind of unique skill. Remember, most customers want instant results and their time (and money) is too valuable to spend training you–otherwise, they would just hire an intern and train the person on their own. I worked for the same company in Portugal for 7 years until I had enough confidence in my own skills that would allow me to move to freelance. If you can do it straight away, great, but in my opinion gathering enough experience early on will increase your chances to become a successful freelancer in the future.

2. Invest in yourself (finally, you can have business cards!)



The software freelance market is not easy. You need to be able to quickly answer requests from your customers & prospective clients or they will look for someone else, but you also need time to learn and research new technologies, so you need to balance each aspect carefully.

Going to Java conferences around the world is a good start. Not only you are gaining a lot of knowledge, but you are also networking with your peers. Who knows, maybe they get so impressed by you that they would recommend you if they need someone to fill a job in their company?

Remember to take business cards with you for networking. I actually obtained one of my current customers that way, so don’t underestimate their value. You also need to build some name for yourself and invest in your reputation/visibility, so future customers can rest assured that you are reliable. Contributing to open-source projects and writing your own technical blog are excellent showcases to demonstrate your expertise.

3. Try to keep an open mind (“Sorry, I don’t do JavaScript…”)

How many of us have a preference for one technology over another? Probably everyone. I also have my own preferences; during most of my professional career I enjoyed developing stuff in the backend, but in the last few months I have worked with Android, JQuery and AngularJS just to name a few. You really need to try different stuff. If a customer asks something from you and he is willing to pay, are you really going to answer him: “No. I’m sorry. I only code EJB’s”?

I’m not telling you to be some sort of jack-of-all-trades-and-master-of-none, but as a freelancer you should cover a wider range of technologies. If you think about start-ups or other small companies, they usually can’t afford several people to do just one kind of task. If you’re not willing to match your client’s expectations, most likely there will be someone that is and you will be at a disadvantage.

4. Manage your finances (ummm, what taxes??)

As a freelancer, I’m already stressed enough with technology problems and customer relationships and shouldn’t need to worry about anything else. Unfortunately, you’ll have to and it’s too much important to not care about. When you are part of a company, their own departments handle most of the financial details, but freelancers are a one-man show, so they need to handle taxes, insurance, registrations and all that on their own.

In my case, Portugal’s finance laws not only change all the time, but are also very complex to understand. Doing your business in certain ways may be the difference between earning or losing money from your total payment due to taxes. It also requires you to fill a lot of paperwork that takes away your precious time that could be used to invest in yourself or your customers instead. My suggestion is to hire someone to do the job for you and focus on what you are good at, not waste time on something that you dislike and are probably doing half wrong anyway.

5. Don’t get carried away (“I can’t even afford to put fuel in my plane!”)



It’s very easy to get carried away if you start to be successful. You may end up having multiple customers seeking your services and the temptation to accommodate them all will be strong–after all, you don’t want to turn down business, right?

But watch out: the earning you will make sure looks good, but you have to realize that you may not be able to dedicate the full attention needed to every single one. In a worse case, your customer may not be happy with your work and not recommend you/hire you again for future jobs. Don’t be afraid to refuse a job–telling someone that you are currently too busy, and that just like your current customers, you know that they would want your full attention without distractions on their project as well.

You may even help other fellow freelancers by recommending them to customers that you couldn’t accept. Time management is very important here. Keep also in mind that you should balance your professional and personal life or you may get burned pretty quickly and regret your change to freelance.

Final point: Why not try it someday?

There are many more details that make up the life of a freelancer. These reflect my own personal experience. Feel free to contact me if you have any question.

So far, I have been enjoying the freelance experience and I don’t regret my decision, but I cannot tell you to do the same. That’s a decision you have to make on your own. But if you feel that you’d like to try something different, why not give it a try? What’s the worst thing that could happen to you–be unemployed? Luckily, working in the software development market means there is high demand for your services, so you shouldn’t have a problem getting another job if you don’t like to freelance.

And remember, you can always code HTML for food…

Responses (31)

  1. Avatar  

    Vasilios Souvatzis

    December 19, 2013 @ 8:37 pm

    Was a really interesting read, freelancing has its pros and cons and it was nice to read your tips.

    Any chance for an article on how to move from “uni-student-coder” to, well… programmer? I do code on my own time and I have some knowledge from university, these aren’t enough though.

  2. Avatar  

    Roberto Cortez

    December 20, 2013 @ 2:07 am

    Hi Vasilios. I’m glad you liked it.

    If RebelLabs is interested I can also write an article on that topic, but anyway feel free to contact me if you want to have a chat about it.

  3. Avatar  

    Oliver White

    December 23, 2013 @ 11:22 am

    +10 :-)

    Sounds like a great idea!

  4. Avatar  


    January 8, 2014 @ 9:08 pm

    The problem I have is I can get contracts from companies and government but they require me to work on site like an employee and I bill them by the hour. I’d prefer to work off site, in my own office, for a flat rate. How do you find customers (especially large organizations) that are comfortable assigning work to an external company/resource like that?

  5. Avatar  

    Daniel Pando

    January 16, 2014 @ 5:33 pm

    Great article to read as a starting IT Freelancer! Congratulations Roberto.

  6. Avatar  


    February 3, 2014 @ 10:39 am

    Hi Roberto. I ant to learn Java from the start. I know C++. Can u refer me some books on Java basics which are written in such a way that even a child can understand?

  7. Avatar  


    February 3, 2014 @ 10:42 am

    Try this:

    Java Programming for Kids, Parents and Grandparents

  8. Avatar  

    Zach Shoher

    February 7, 2014 @ 11:44 pm

    A slightly nerdy child might enjoy Bruce Eckel’s Thinking in Java, 3rd edition. It’s free ( He has a CD that’s worth looking into ( that is not free, and still gets great reviews.

  9. Avatar  

    Michael Jones

    March 1, 2014 @ 10:23 pm

    Hey I’m having a really hard time getting started as a freelance Java developer. I can write code but I can’t get my first job. I would be willing to take on part of another freelancer’s project for free so that I can get some experience and a referral. Is anyone here interested?

  10. Avatar  


    March 9, 2014 @ 6:15 pm

    Great article! I curreently have 7 years of experience, working for companies in 3 countries, but always as permanent employee, and now I would like to start contracting.

  11. Avatar  


    April 12, 2014 @ 1:51 pm

    Dear Roberto,
    I really loved this article. It is covering all the challenges we are supposed to face.
    I am also trying to become a java freelancer. The reason of not taking quick decision because of family responsibilities. I have 6 years of java experience. I am well tuned in JSF, JSP, Servlet, Drools. I am able to develop any kind of Java/j2EE code. Would you please suggest me some more tips.. I have also a java tutorial website running here, please have a look..

  12. Avatar  

    Roberto Cortez

    May 20, 2014 @ 11:30 pm

    Hi tksingh,

    Sorry for this late response, but somehow I didn’t notice the alert for your comment, so sorry about that ;( Thank you so much for your positive feedback. I’m glad that you enjoyed my article.

    I totally understand that is not easy to take this kind of decision and even more if you have familiar responsibilities. Unfortunately, I cannot tell you what to do, this is something you need to figure it out by yourself. but I can leave you with the following tips:

    A lot of the freelancers I know, including myself, started to work freelance to our previous employers.
    You need a track records and connections. I got one of my customers in a Java conference.
    Having you own blog is great, and with a lot of useful info too! You need to try to capitalize on that and get yourself know to the world. Advertise your posts on tech sites, like reddit, hackernews, java zone. Use twitter and go one step further.

  13. Avatar  


    May 23, 2014 @ 1:38 pm

    Hi Roberto, Thanks for you valuable points.

  14. Avatar  

    Roberto Cortez

    May 23, 2014 @ 1:47 pm

    No problem. Let me know if I can help you with anything else.

  15. Avatar  

    Rahul Kharya

    June 14, 2014 @ 7:03 am

    After months of R&D on net, I must say this is the best article for any freelancer looking for to the point information (in fun way)..

    I am beginning my career as a JAVA freelancer and will need lots of such articles from you in order to gain confidence and enthusiasm..

    Thanks a lot and keep posting :)

  16. Avatar  

    zangui mehdi

    June 23, 2014 @ 10:49 pm

    Hi Reberto,
    I found this article very interesting I loved

    And really like your experience, personally I’am engineer student
    I would like to know what skills you have when you have finished your university degree ? And How I can learned them to have the first step as java developer .

  17. Avatar  

    Rustam Kamberov

    August 12, 2014 @ 5:47 pm

    Hi Roberto,

    very useful, well-written and, as a result easy-to-read article. I am not a freelancer, but working hard to polish my JavaEE skills.

    What I like the most in your thoughts is that are extremely motivating and encouraging.

    Best of luck with everything!

  18. Avatar  

    Roberto Cortez

    August 12, 2014 @ 9:48 pm

    Hi Zangui,

    Sorry for this late reply, but I did not receive any notification from your comment :(

    Anyway, I had a basic set of skill when I graduated. I knew a little bit of everything. OOP, Databases, Networks and so on. After 6 months in my internship I knew more that what I learned in the university.

    I think that today is much easier to start as a Java developer, since there are a lot of online materials and tutorial. Informations is more widely available. If you want to invest, this blog is a very good way to start. Have a look into the most popular technologies and try them out.

    There are a lot of other things you can do. Drop me a private message and I can help you with that.

  19. Avatar  

    Roberto Cortez

    August 12, 2014 @ 9:48 pm

    Hi Rahul.

    Thank you so much for your feedback. Here is another:

  20. Avatar  

    Roberto Cortez

    August 12, 2014 @ 9:49 pm

    Hi Nemanja,

    Thank you so much for your feedback. Go for it! What’s the worst thing that can happen to you?

  21. Avatar  

    Roberto Cortez

    August 12, 2014 @ 9:51 pm

    Hi Michael,

    Is this your first job? Or have you worked before as permanent. Btw, probably this is not the best place for these requests :)

  22. Avatar  

    Roberto Cortez

    August 12, 2014 @ 9:51 pm

    Thanks Daniel :)

  23. Avatar  

    Roberto Cortez

    August 12, 2014 @ 9:52 pm

    I have a few strategies for it (might not work all the time). Have a look here:

  24. Avatar  

    zangui mehdi

    August 12, 2014 @ 10:55 pm

    Thank you for your values ​​and adequate response
    i have not lost hope, but it does not matter …

    Yes, there are a lot of Online ways to learn , but mostly does not go beyond the novice level without going into professional work

    l strongly appreciate your participation and those information about you and I’m waiting to communicate with you when there is a way

  25. Avatar  

    Roberto Cortez

    September 14, 2014 @ 5:34 pm

    Hi Rustam,

    Thank you for your kind words!

    I wish you the best for you as well.

  26. Avatar  

    Mahesh Agrawal

    January 21, 2015 @ 5:42 am

    I really like this post .. Very useful information .Thank you for sharing .
    As a satisfied user i would like to suggest a website ,Which provides very useful information and guidelines about freelance java developer . I am a freelance java developer i have been in this profession for past 3 years and i found these information are very helpful . Please visit to “CAREERLANCER” and search for the selective category like “Freelance Java Developer”

  27. Avatar  

    Yuriy Levkovych

    July 15, 2015 @ 12:37 pm

    Hi Roberto. Great article. Thank you!

    “A lot of the freelancers I know, including myself, started to work freelance to our previous employers.”

    This is my case I became a freelancer.

  28. Avatar  

    Roberto Cortez

    July 16, 2015 @ 12:26 am

    Hi Yuriy

    Thank you for your feedback :)

    I hope you are enjoying your freelancer career.

  29. Avatar  

    Priya Pramod

    December 25, 2015 @ 4:53 pm

    Hi Roberto,

    I found this article very interesting and I loved the way you have explained pros and cons in the journey of turning to a successful freelancer.

    Well, I have 6.5 years of solid experience working as a permanent employee for IT giants and also have masters degree in computer science. However, I am thinking of moving towards freelancing and I am struggling to understand how to win that first project to start working. Its scary to see so many highly experienced developers biding on the projects having in freelancing. Can you please suggest on some strategies or keys on how to get that first project to start off. Unfortunately I do not have any contacts from previous organization to help me get started..hence seeking help to kick off my journey as a freelancer

  30. Avatar  

    Branislav Vidovic

    January 8, 2016 @ 10:19 am

    Hi Roberto,

    Great article. Really summed it up nicely. I am now about 6 years of experience and i wish to gather just a little bit more and then i am also thinking to go to these waters.
    I want to ask you one thing. In your experience how much is it required to be with the customer onsite? My kind of dream is to have freelancing project with customers but to do it remotely as much as possible. I have no problems with traveling and visiting customer at all. But i would like to base most of my work from home. And then also if i would have enough customers i would probably try to start a small company of my own.

    Thanks for the great article.

  31. Avatar  

    Shihab Ahmed

    July 4, 2016 @ 7:46 pm

    So much motivational article.Thank you.
    I am a beginner,just learned the core java.
    You said every freelancer should know varieties of technologies.Can you specifically mention What kind of technologies a java freelancer/developer must know??

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.