By Rishon Blumberg, 10x Management Co-Founder
Anytime a strategic freelancer starts working on a project for one of their clients, they expose themselves to the possibility that an issue will arise during the course of, or at the end of, an engagement. Even the best of the best can find themselves in sticky situations, often not of their own creation. To help ensure that you can navigate your way through these issues to a positive outcome, we at 10x Management recommend a few key strategies to help our high end freelance tech talent protect themselves. By adhering to a few key protocols, you can help resolve issues and ensure that a vast majority of engagements end on a positive note.
Here are the top 4 strategies we recommend to cover your ass during an engagement.
1. Save all client communication and discussions. When communicating using a client’s communication tools – slack, pivotal, etc. or through email – make sure to keep dated, personal copies of said communication. Often times when working on a project you are asked to (and should) utilize a client’s preferred communication tool(s) to convey progress and share thoughts. This isn’t an issue until something goes wrong…issues don’t often crop up until late in a project or after a project has been completed.
In such instances, if you’ve been using your client’s communication tools, you may no longer be able to go back and search for specific instances where information that’s germane to your current conflict was discussed. This might occur either because you no longer have valid credentials or because the platform doesn’t save messages beyond a certain date (free versions of slack only provide access to the last 10k messages which in some organizations means they can disappear in days or even hours) sometimes you’re not able to access vital communication. We recently heard of one company that purges their Slack channels every two weeks!
That’s why we recommend that you set up a system whereby you are able to capture your communication, date it, and store it on your own server or in the cloud. There are a variety of tools that let you do this, some options may be found here.
2. Always keep a log of the work you’re doing for a client on an hourly basis. I think I’m hearing a collective groan right now. Yes, this can be tedious work but it is also fairly essential for any freelancer, and downright mandatory for a strategic freelancer who is being paid well and working on vital projects.
Why is this so important you ask? For starters, many clients aren’t tech savvy and as such don’t really understand why certain development projects take so long. Very often, this is a key issue on most projects (it is the reason ongoing communication and timelines are so important). For example, when building technology a client may make a variety of changes during the course of a project. What a client perceives as a small change can amount to a lot of extra development time. These kinds of changes inevitably take more of your time, which increases the overall cost of the project. It’s crucial your client understands this.
If you have a good log of exactly what work you’ve done during the hours you’ve billed, it’s very easy to demonstrate to an irate client where the time went. Without a log, you’re forced to defend delays without any “proof” making it harder to make your case. This is especially important when you are doing work with fewer artifacts to demonstrate how your time was spent. If you are doing code commits and have that as evidence of your work, it is easier to go back to that as opposed to the time you spend thinking and researching the best approach to a hard problem. Time spent researching, doing code reviews, thinking and experimenting is often much harder to prove after the fact. A log will help substantially.
3. Don’t’ be a yes (wo)man – identify potential issues/concerns and speak up. When your client is giving you direction, inquire as to why and push back if you don’t agree with it. It’s your job to determine if the proposed plan of action serves the project effectively. Believe it or not, you’re being hired not just for your specific skill set but also because of the diverse experience you bring to a project. Use that experience to point out inefficiencies and don’t just blindly follow. In the end,your suggestions along the way can help ensure a better product and a happier long-term outcome. Also, if your client decides not to go with your recommendation, it’s important to make a note of it.
4. Document your work thoroughly for a smooth handoff. Inevitably, your engagement will end and someone else will take over the work you’ve done. Make sure there is very clear documentation regarding the development/code/architecture so that whomever steps in will find a very professional and easy to understand environment. There is no substitute for professionalism. Whether it’s a small build or a very complex one, the quality of your documentation is the lasting record of just how professional you are. Make sure you take your time in this final step. A mess up during a hand off can negate months of wonderful development work as it sucks up your client’s valuable resources and will leave a sour taste in their mouth. It also will be the first impression the next person who sees this work will have of you and frames how they characterize your work to the client. The best way to ensure good word of mouth and repeat business is to leave your client feeling like you cared deeply about the work performed.
The above set of strategies is your best course of action to ensure you as a freelancer are protected during or after the project engagement. Hopefully you will never need to justify your work but if you do, implementing and adhering to these four protocols during the project will provide you with the documentation you or your client may need for reference.
Do you have other strategies you use to protect yourself? I’d like to hear about them in the comments section. If you liked this article, you might enjoy reading When Finding Tech Talent – Everyone Needs A Personal Shopper.