This is mainly based on working as a freelance Java developer for a single client on a contractual basis like 6 to 24 months or longer, and not working on smaller jobs for multiple clients. Whilst there are premium Java freelancing sites like “toptal.com“, which only hire the top notch Java developers, and pay very competitive rates, many other sites work in the low dollar cost markets and pay only peanuts. Hence working for a single client on a contractual basis is going to be more suited for the most freelance Java developers.
Reason #1: Better pay
Freelance Java developers can earn between 1.5 to 2.5 times the permanent salary. The reasons for this better pay are
- As a compensation for short term or temporary nature of the assignment. Freelancers or contractors can be easily hired and fired.
- To attract specialized and wider range of skills.
- cost to a company for a permanent employee with benefits can be 1.5 to 2.0 times the amount they see in their pay check.
Reason #2: Professional freedom
Since a freelance Java developer can earn more than a permanent staff, he/she can afford to take some time off say 1-2 months in between your contractual assignments to pursue other avenues like launching your own products and apps, self-publishing your books, starting your own blogs, and any other creative ventures to channel your knowledge, skills, and talent to brand yourself. The main focus is to attract more customers, earn more passive income, and to grow your small business.
Once you have created your own brand, it empowers you to build and promote yours’ and others’ products and services through your brand. You can afford to take more vacations as you will be reaping in the benefits of ongoing passive income. New opportunities and ideas will knock on your door as you tend to break free
From –> your comfort zone or routine of working hard, getting home (often late), having a bite to eat, watch a little TV to relax, and go to bed
To –> get your regular work done, and channel some of your experiences and creative ideas towards your own branding and business by spending at least 30-60 minutes each day while commuting to work and before retiring to bed.
Reason #3: Fast-tracking your career
As a freelancer, you can fast-track your career by acquiring a wider range of generic and specialized technical skills. Easier to quit your job if you are feeling stagnated. You have a better chance of staying relevant in terms of technologies, frameworks and tools.
Your non-technical skills like job hunting skills, networking skills, resume writing skills, and interviewing skills will also improve. You will get the confidence that you will be able to find a job in any job market.
Reason #1: To get freelance programmers to do the boring tasks that other permanent staff don’t want to take on. For example, working with an outdated technology.
Reason #2: To get the mission critical projects over the line. In other words, to meet the deadline.
Reason #3: To bring in the expertise that are lacked within the current team. E.g. Hadoop, Amazon Web Services, Scala, Design Skills, etc.
So, it is imperative to learn more about the position at the job interviews to ensure what you are getting into. Ask about the
- technologies, frameworks, and tools used
- mission criticality of the project – e.g. how many registered users?, how many servers on the clusters, the development team size, and number of other systems to be integrated with? (e.g. CRM systems, Data warehouse systems, CMS systems, etc).
Tip: When you are asked for your freelancing rates, provide a range like $800.00 to $950.0 a day as you don’t want to price yourself out of the market and at the same time miss out on great opportunities. After your job interview, you will be in a better position to negotiate further once you had effectively sold your capabilities to your prospective employer.
More on freelancing
Latest posts by Arulkumaran Kumaraswamipillai (see all)
- 15: Spark joins with Dataframes & SQLContext - December 17, 2017
- 14: Spark joins with SQLContext & JavaPairRDD - December 16, 2017
- 13: Spark inner & outer joins in Java with JavaPairRDDs - December 16, 2017
- CAP theorem interview Q&As - December 16, 2017
- 00: ♦ Creating a Tree from a list & flattening it back to a list in Java - December 13, 2017