Lessons learned

I tell a story of my first gig as a freelancer and the things I learned along the way, and how that shaped me into the professional I am today.

15 September 2020 Photo by Daniel Korpai Photo by Daniel Korpai

During the peak of the CoVID-19 pandemic and the total lockdown, the Nigerian Society of Neurological Sciences (NSNS) Conference and General Meeting which was supposed to be an in-person meeting was canceled and switched to a virtual event.

The organization holds an election at the end of every General Meeting which now had to be virtual. They required a safe and simple solution for this, and to that effect, I was tasked with designing and developing a solution that was quick and responsive. I delivered, but not without mistakes on my part.

Things I learned from those mistakes

  1. Set A Realistic Deadline: This is important because it helps you deliver an excellent product to your client and helps keep you sane and allows you to follow best practices (like testing and proper code structure). Well-written testable code is the best thing you can do for yourself and the client as well.

  2. Take time to design: This is perhaps a continuation of the former but sacrificing user experience for speedy product delivery is a big “no-no”, a well-designed experience is just as important as the code you’re going to write.

  3. Pick the best infrastructure: When building a project, have an open mind that someone might have tried this at some point in time and they used a particular infrastructure that worked well for their project, even though one size doesn’t fit all in the development space, it can provide you with hints on what infrastructure is the best for the project.

  4. Be honest with the client about change and how it affects the project timeline: Let’s face it if you’ve worked with any kind of client before whether it’s tech-related or not they always expect you to work some voodoo magic when they want a feature added or changed, but the truth is, this affects the project timeline with a great deal of severity and some features might cause the project timeline to extended for as far as a month.

  5. You’re not a superhero, ask for help, and build a team if possible: Sometimes being a one-man army is fine for some people, heck, some people prefer working this way, but it can be daunting for some people. Asking for help or building a team might be a good idea, as this would enable you to focus on your strengths. However, build a team with people you enjoy working with because the last thing you need is an unproductive team.

Despite delivering the product amidst a lot of challenges it still made a positive impression.

“Being the first time for this to ever happen the process was seamless and transparent, although some things could have changed, we hope to do better in the future…” — NSNS, President.

Looking back at everything I did and the effort I put in, I can honestly say “I’m proud of myself”, and that’s something developers starting should do more often, appreciate the effort you put into the work you do, as Mark Zuckerberg said, “Ideas don’t come out fully formed. They only become clear as you work on them. You just have to get started”.

If you enjoyed my rant, do check out a similar article I wrote on Medium called Mistakes I Made On My First Freelance Design Project