Getting your first client as a freelancer is usually a giant stepping stone that a lot of the developers, especially the newer ones, look forward to. The satisfaction and confidence you receive after successfully building an actual product that might be used by hundreds or even thousands of users is unmatched and makes all your hard work worth it. I'm grateful to have been on that path recently after building an e-commerce platform for a PCB manufacturing startup and I'd love to share some of my insights and tips that could help you make the most out of your first freelance job. Without further ado, here are five of my key takeaways:
While this may also be interpreted as trusting in yourself and the skills you've acquired in the past few months or years, what I really mean to convey is that don't undersell yourself just because you're new. It is undeniable that you may lack professional experience as you're beginning but that does not make you any less professional in terms of your code and the efforts you'll be putting in. Yes, you may be paid lesser than an experienced freelance developer and that's totally fine. It may be difficult to strike the perfect deal but make sure the project you're taking on is worth your time and efforts.
From my experience, the excitement of learning and implementing new things was more fruitful to me more than the paycheck. Think over the project requirements, devise a plan, and don't be hesitant in asking for what you feel you deserve. That being said, pay emphasis on the things you'll be learning along the way but don't let yourself be exploited just to get that client you've been waiting for.
I find it really essential to let your client know exactly what you'll be providing them in the beginning itself to avoid unexpected surprises later. Create a concise document, write down the features and functionalities you'll be implementing and share them with your client. This is something I regret not doing. Few weeks into the project, I was asked to implement some features I wasn't expecting.
Albeit a great learning experience, it helps to know these things in advance to properly plan and execute them to the fullest of your capabilities. Moreover, you can keep this document as a reference for yourself to keep track of the things you've completed and yet to do.
You must've heard quite a lot about breaking down tasks into smaller chunks or subtasks. The same principle applies here. This makes the project less overwhelming and less intimidating, allowing you to focus on a particular task at any given time. A simple example would be to dissect the project you'll be building into features and functionalities like authentication and further breaking it down into frontend (pages, components, state management) and backend (routes, controllers, models) tasks.
You can also use a project management tool like Trello or Notion to keep track of tasks to do, in progress, to design, to test, and whatever else feels appropriate. Combine all the related tasks into milestones. If possible, you can structure your payouts in such a way that you get paid a fraction of the total amount after achieving each milestone.
The heading seems pretty self-explanatory for this one. However, people tend to undervalue this particular statement. Right from the start, I maintained professional but friendly communication with my client on an instant messaging platform. In case you're skeptical about sharing your phone number, platforms like Discord, Telegram, or Slack are perfect for such use-cases. Even a simple e-mail communication is much better than no or rare communication between you and your client.
The reason I included this as a key takeaway is that this communication helped me put worth my own ideas, implementations and even revise my client's plans in a better way. This shows that you have a positive attitude and interest towards the projects and clients will genuinely appreciate this. Moreover, the chances of getting further opportunities and referrals from them are pretty high too.
Once you complete the project successfully, I would highly recommend you ask your client for their experience working with you and a small testimonial regarding the same. I'm sure that most of the clients would gladly agree to it. **Having a well-written and genuine testimonial alongside the projects section of your portfolio enhances it by a great margin **and leads to more opportunities in the future. It's also great for identifying the areas in which you can further improve.
More than adding credibility to your skills and portfolio, receiving positive feedback truly sparks happiness for the hard work you've been putting in for weeks or months. And in the end, being able to help the people around you through your skills and knowledge might just be what truly matters.
So that was some of the lessons I've learned from my first freelance project. Did I miss out on anything? Want to share your first freelance experience or leave some feedback? Drop a comment down below or tweet it to me.