August 3, 2020

From Offshore to In-House – A Senior Developer Who Moved From Ghana to Canada

by:
TECH TOOLS :
Frontend: Next.js. (Built in react), CMS: Contentful, Database: MongoDB, Backend: node.js
“Weather impacts everything. It impacts supply chains, the kind of purchasing decisions we make, when you get up in the morning, what you’re going to eat.”⁣ — Cameron Clayton, general manager at IBM

In 2019, Natural catastrophes accounted for $133 billion in economic loss, according to insurer Swiss Re. 

In Canada alone, damages from severe weather events, including ice storms, floods, and wildfires, cost insurance companies $1.9 billion in 2018. The Canadian government, also bearing the cost, paid out an estimated $3 for every dollar paid out in insurance claims to recover public infrastructure. 

With a growing demand for big data weather forecasting, predictive weather analytics is not only changing the future of weather forecasting but also becoming a lucrative business model. Over the next five years, the global weather forecasting systems market is projected to grow from an estimated 2.3 billion in 2019 to 3.3 billion by 2025.

Acquired in 1993 by Pelmorex Corp’s, The Weather Network produces weather information for specialty television networks, websites, and applications in Canada, the United States, Ireland, France, and Germany. In early 2019, The Weather Network started building Storm Centre, a cross-platform application that provides information about active storm events in Canada.

I spoke with Kwabena Boadu, Senior Full Stack Developer at The Weather Network, about Storm Centre, the challenges with building a cross-platform product, and Tech in Africa. 


How do you translate the requirements of a specific business problem into code? 

In terms of translating the requirements into code, the requirements always come after a design sprint. A design sprint is a five-day process where we brainstorm the idea, come up with a design mockup, and create a functional prototype. 

The design sprint typically includes a group of people from different backgrounds who can provide unique perspectives. For this product, the editorial team was going to add the content, so we needed someone from the editorial team. We had to think about how to monetize the product, so we needed someone from sales. We had to think about how the product would be built, so there was someone from the various development teams. We also brought in a product manager, a designer, and some people from management. 

After the five-day sprint, we tested the prototype with five customers from different age groups to get feedback. At that point, we decided whether to go ahead with the product or to make adjustments. 

Then we built a working prototype, a minimalistic version of the application which was not yet connected to a database and tested it out. After that, we built the actual application.


How important is empathy in the software development process as it relates to working with other developers?

No good work is accomplished in isolation. You don’t work alone to build anything great. Internally, one of our mottos is always assuming positive intent. Regardless of how a message comes across, understand that everyone’s goal is to get the project moving forward in the right direction, and get things done. 

Also, in the end, it’s about not just being professional, but showing that we are happy to work together. When people are leaving their homes every morning to come to work, you want people to feel like, “Ok, I like what I’m doing. And it’s not necessarily the work that I’m doing, but the people that I’m doing it with.” 

I can’t overstate empathy enough. It translates into the work. The people building the product have to be motivated and feel appreciated. Then, they will build a great product, which will ultimately reflect in your customers’ user experience. 


What were some of the biggest challenges you faced during the software development process? 

This was the first cross-platform product the company built. Typically you’d have the iOS team building the iOS app and the Android team building the Android app. For this product, they needed it to run on desktop, mobile web, Android, and iOS. 

The challenge was deciding whether to have each of the teams build the product individually or in collaboration. The problem with building the product individually is that if requirements change, each team has to rebuild, which isn’t scalable. So we decided to build the app as a standalone application and then have minimal implementation for it to run on Android, iOS, web desktop, and web mobile. 

Coordinating these four different teams not used to working together and making sure that we were all on the same page, was the biggest challenge. 

No items found.

What do you believe are the keys to being a successful software developer in Africa? 

Technical: You have to learn the skills of the trade. Practice solving problems and thinking on your feet. Also, try to understand the “why” behind decisions. This will allow you to build stable products with maintainable and scalable codebases. The technical side is easier because there are a thousand and one tutorials online you can learn from if you’re really interested. 

Communication: The more important part is the personal and professional skills. When I was in Ghana, I worked remotely, which meant I woke up, sat at home, and worked with a team on the other side of the continent. The only time I saw my team was when we jumped on a video call, and that didn’t happen too often in a day. So how do you keep your team members informed on what is happening with you? You have to communicate! Communicate early and communicate frequently.

Professional: Strive to be on calls on time and always with stable internet. When people are halfway across the world, they come with preconceived notions about Ghana. For example, my CTO had never heard about Ghana before. He had no idea where Ghana was, what Ghana is, or that we even have internet. But through me, he learned. It’s easy to think that this person is racist, but it’s not necessarily always the case. They just don’t know, and you shouldn’t add to the situation by making excuses. People often tend to use “my internet is bad” as an excuse. The little acts of professionalism, like showing up on time, being online, always responding when someone pings you with a message, goes a long way. 

Regardless of how great of a developer you are, if your communication and professional skills are not good enough. You’ll always fall short because the technical skills are the easiest to learn.  


Built In Africa? What does that mean to you? 

As a developer coming from Africa, Built In Africa represents individuals, no matter where they are geographically, who gained their technical skillset in Africa, and are taking it across the world. Everything I am today, I did not pick it up arriving here (Canada), I had it before I got here (Ghana). 

Having built products in Africa for Africa, and for elsewhere, I consider myself Built in Africa.

Subscribe to our newsletter

Stay up to date with our newest posts and special happening here at Built In Africa. Your information is safe with us, we hate receiving pointless emails also. :)

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.