Imagine a bacon-wrapped Ferrari. Still not better than our free technical reports.
See all our reports

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!)

 

unnamed

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!”)

 

ACJ318-Ptivate-Corporate-Jet-Cabin

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…

  • Vasilios Souvatzis

    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.

  • Roberto Cortez

    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.

  • Oliver White

    +10 :-)

    Sounds like a great idea!

  • rhume55

    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?

  • Daniel Pando

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

  • DP

    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?

  • arhan

    Try this:

    Java Programming for Kids, Parents and Grandparents

    http://myflex.org/books/java4kids/java4kids.htm

  • Zach Shoher

    A slightly nerdy child might enjoy Bruce Eckel’s Thinking in Java, 3rd edition. It’s free (http://www.mindviewinc.com/Books/downloads.html). He has a CD that’s worth looking into (https://gumroad.com/l/HandsOnJava) that is not free, and still gets great reviews.

  • Michael Jones

    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?

  • Nemanja

    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.

  • tksingh

    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.. http://www.sitenol.com/

  • Roberto Cortez

    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.

  • tksingh

    Hi Roberto, Thanks for you valuable points.

  • Roberto Cortez

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

  • Rahul Kharya

    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 :)

  • zangui mehdi

    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 .

  • Rustam Kamberov

    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!

  • Roberto Cortez

    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.

  • Roberto Cortez

    Hi Rahul.

    Thank you so much for your feedback. Here is another: http://www.radcortez.com/faq-for-freelancers/

  • Roberto Cortez

    Hi Nemanja,

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

  • Roberto Cortez

    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 :)

  • Roberto Cortez

    Thanks Daniel :)

  • Roberto Cortez

    I have a few strategies for it (might not work all the time). Have a look here: http://www.radcortez.com/faq-for-freelancers/

  • zangui mehdi

    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

  • Roberto Cortez

    Hi Rustam,

    Thank you for your kind words!

    I wish you the best for you as well.