Tips and Tricks for Freelancing

Featured on Hashnode

Subscribe to my newsletter and never miss my upcoming articles

Hi everyone in this article I want to discuss an episode on Freelancing of a very popular podcast among developers that I've been listening to a lot lately. The episode is this one: How to Make Freelancing Easier from Syntax - Tasty Web Development Treats where Wes Bos and Scott Tolinski present a series of tips that can be used by freelancers to have a slightly easier life in managing their profession.

Code

As developer a big part of our work is to write code and coding efficiency can save us a lot of time so creating a code repository that you can use in all our projects allows you to be faster both in the startup phase of the project and during its development because you don't have to understand how the code is written, you don't even have to worry about support or lack of features because you can include them later. To start, you can always find established libraries like Boostrap, Bulma, or Foundation and use them as a starting point for your personal framework and take only the parts you need.

Always linked to the code for projects in production it is a good idea to use third-party libraries in their stable version that have at least 1-2 years of life, this because in case you encounter a problem it is likely that there is documentation that gives one solution or that some developer has already addressed it and gave a solution on StackOverflow. Trying new libraries is a good practice to improve your knowledge but, at least in production, it is not a good thing to tell a customer that you cannot fix a problem or introduce a change because the developers of the alpha library have not solved it yet and it is not known how long it will take.

Always tied to the code, you should try to avoid works that involve technologies that have never been used for several reasons, including:

  • it is complicated to estimate the time to complete a task or to develop a feature;
  • you have to solve problems with which you are not familiar and could be solved incorrectly, with unsafe or non-maintainable code;
  • in case of problems you do not know the environment well and therefore it could be difficult to find a solution because you do not know what to look for;
  • not knowing what the framework or technology you have chosen can do or cannot do, you could promise features that cannot be created or cannot do trivial things, and this would damage your professionalism.

Time

In evaluating the effort to develop a project you should never be too tight because, especially at the beginning of your career, you are not very used to this new type of work and there can always be an emergency around the corner, you have not yet picked up the rhythm or you have not yet mastered all the instruments. To help you manage your time, you can set blocks of time in which you dedicate yourself exclusively to your work without distractions, notifications, calls, and emails, but remember to set these blocks for at least a couple of hours, because making them too small will not they lead you to develop nothing substantial or they could not get you into the development mood and stopping and starting over and over could be detrimental to your productivity.

To begin with, you can use the Pomodoro technique or any other block technique to break down your work and give yourself precise times in which to be productive.

In order not to miss any of your deadlines, it may be useful to set dates or calendar alerts a few days before so as not to arrive at the last minute with too many things to do and not be able to finish them all. Depending on the task to be completed, reminders can be more or less close together but offer a very useful tool to always be on time and not be unreliable because a delivery has been missed.

Clients

To maximize the work and the code you have already written, a good rule is to create a set of customers who have common needs, who work for example in the same industry, so problems you will have to face and solve will be very similar and solutions found for one can also be brought to another. This also leads to the specialization of your profession so that you can be recognized as an expert in that area and can propose tested solutions that solve the needs of your clients. For example, if some of your customers are Hotels you could create a platform to manage the needs of them and propose it without too many changes to others, immediately going to have a solution ready for them.

Remember your customers and take the time periodically to send them updates on the development or progress of projects so that they do not feel abandoned but understand that you are working for them, on the other hand, you must also make it clear that you are not working only for them so if you don't reply to emails right away it's not because you want to ignore them but because you are focused on your real job which is writing code and solving problems ... it's not answering the phone or sending emails.

It is a good idea to find a time of day, perhaps early in the morning or before turning off the PC in the evening, and some during the week when you reply to emails and updates on ongoing projects, the rest of the time instead devote to writing code without unnecessary distractions or interruptions because you get a phone call or you have to answer someone in chat.

Especially at the beginning of your career as a freelancer there will not be very many clients and word of mouth will play a fundamental role, the first 5-10 clients will arrive in this way so on all occasions when you see a possible interest or request for your services with friends and relatives propose and try to explain in about 10 seconds what you do and how you can be useful.

Money

Being up to date with the taxes you will have to pay and having money for yourself and your family is essential so a good way to keep an eye on your income and to know what you really have is to have an account dedicated only to your professional activity, even better if two, organized in this way:

  • one where your customers pay you for your products and services. This is not your personal or family account but it is only the one where the earnings of your business go and that you can use to pay for services you are subscribed to or equipment necessary for your work and from which you will take away the money you and your family need to live on;
  • one where you only keep the money that you will have to pay periodically in taxes and that is fed immediately as soon as you receive the money from your customers. Managing an account in this way when your accountant has to pay taxes he will take the money directly from this account and you will not risk having difficulties because you have already used all the money you have earned.

Life

Not everyone is made to work as a freelancer so it may be that, even if you try, you will not be able to work in this way. This is not to be taken as a defeat, we are not all the same, sometimes freelancing can be just a temporary period in our life while we are changing jobs or looking for something better and not a permanent status.

As a takeaway of this whole article, I would like at least this consideration to remain:

Let people know that you love your job and something important is sure to happen

Bye, Alberto

Vivek Tiwari's photo

Good stuff, this is a must-read for every freelancer developer.

Martins Gouveia's photo

Better content that i was read today. Thanks.

Alberto Bonacina's photo

Glad you like it!