Things to keep in mind when working for a client

Aravinth Velusamy
Criar Solutions
Published in
4 min readMar 23, 2020

--

Photo by Corinne Kutz on Unsplash

I’m an Android Developer working in a Startup Company. We are a service and product based company. Recently I worked on a service project and It was my first service project, after completing the project I came up with a checklist which are kind of essential things to keep in mind when starting the project. I’ll be sharing those things on this blog, If you’re a fresh software developer then this blog is for you.

In our company, We normally do 2 types of works. Servicing and in house Product development. Recently we took a servicing project. Its a shopping app and we were handling the Android app. After completing the project, I came up with a checklist which every software developer should have when starting a service project with a client.

Checklist

  1. Gather exact requirements
  2. Plan ETA
  3. Mention Availability
  4. Work Smarter
  5. Track work hours
  6. Time management b/w projects.

1. Gather exact requirements

The first thing we all do before starting the actual work is to gather requirements. Prepare a questionnaire and have a meeting with your client. You need to clear all your doubts and try to grasp what your client needs. Once you’re done start proceeding with workflow or else if you got any doubts, again have a meeting with your client and clear all your doubts and start the work. In my case, my client used to periodically update the works to have done and we used to have a phone call. My client created a Google sheet and updated all the tasks in that sheet. Using Google sheets was one mode of communication, whenever the clients need to assign a task, he/she will update it on the sheet and I too will look into it and update the task status. This made us work seamlessly.

I use Todoist and Google sheets for maintaining task list.

2. Plan ETA

After getting the task list from the client, the next part is to plan the entire work flow. Get the complete task list for the project and plot a timeline. I made this mistake, I didn’t completely get the entire task list for the project and my client wasn’t clear about the tasks. Get the task list, analyze it and give your ETA to your client.

3. Mention Availability

When you work on your own project, we don’t have to follow a time slot, you can work whenever you want, but when it comes to working for a client, you should clearly mention your availability slot. In my case, the client I was working for was working all Saturdays, but I don’t work all Saturdays I only work on even Saturdays. I failed to mention this to my client. One Saturday I wasn’t working, but I didn’t mention this with the client. The client started pinging me, so no other go I just finished the task what the client was requesting. You should mandatory mention this prior to starting the work to avoid any clash b/w you and your client.

4. Work Smarter

Some works may be repetitive, which requires code re-usability. You might want a code snippet to be reused from your previous project so identify where you need to reuse the codes and work smarter. When I did this client project, I identified which modules required codes to be reused and I used codes from my previous projects. This made me to complete the tasks faster. So keep your old codes handy.

As a developer, we all must be using Git for version control management. The situation when I found using Git was mandatory is, I used to work only in my office computer and I rarely work at home. One day when I was at home, suddenly the client assigned me a task, in this case I had to keep the code in Git, I simply pulled off the code from Git and started working on my home computer.

5. Track Work hours

Use toggl to track the man hours spent on a particular project. You might be billing your client based on No. Of man hours spent on the project, in this case tracking man hours will be helpful to calculate the charges. Not only for this purpose, but also it’ll be useful for self evaluation purpose.

6. Time management b/w projects

Time management is one of the key skills to do different projects at the same time. Few developers might be working on multiple projects and few might be working on only 1 project. For those who’re all working on multiple projects, learn to manage your time between your projects. You have to prioritize the works and block your time for the tasks. I kinda failed to manage time while doing multiple projects, what I did was I stopped spending time on my company project and concentrated only on client projects. I see this as a mistake and I’ll correct it. Don’t make this mistake guys, learn to manage your time.

These are all the essentials I learnt while doing a client project, If I had missed any other essential things kindly share it in the comment.

That’s it for now, stay tuned to be notified about my new articles, follow me on Medium.

--

--