Interview with Geofrey Ernest, creator of Utron MVC framework from Mwanza, Tanzania

Continuing from my previous interview, this is the following post* for my "Humans Of Programming World" series of interviews with developers from different parts of the world. The aim of these interviews is to highlight the talent diversity in software engineering/technology world. Most of the interviews will be skewed towards Golang, but occasionally some post will be about developers using other programming languages as well.

Tell us something about yourself.

I am a software developer based in Tanzania. I have been doing Golang development for two years now.

I like works of fiction, I like to imagine things thats why I love programming. It empowers me to conjure my imagination.

I am the author of a couple of interesting golang projects. utron is one of my creation, I love the way I was able to compose it with Golang, it is beautiful.

See what I mean:

Geofrey showing his Golang code

Can you briefly tell us about how you got to learn and use Golang?

I came across Go accidentally when I was looking for ways to have cheap concurrency. The options at that time was either erlang or golang so I set a time frame of one week to hack on each language and after the two weeks I picked up Golang.

Learning Golang was a long process, as I got to learn more about programming along the way. I spend a lot of my time reading code made by fellow Golang programmers, and the standard library was/is my library(where I chill and enjoy to see how some myths are demystified).

The compiler is fast, so I was able to experiment while learning new concepts very fast. It took me one week to be convinced that Golang was the language I was missing.

Which feature(s) that you like the most in Golang?

Almost everything about golang is awesome to me.Some aspects of Golang that I like most includes

  • Cheap concurrency. With goroutines and channels, I can model my ideas like I am reading a bedtime story to a little kid. It is the first thing that brought Golang to my attention and I love it.

  • Tooling, the Golang tool chain is fantastic, the go command is easy and neat and all the tools under go tools and the other cool commands like go get.

  • Documentation, this is the most important of them all. With godoc I have the documentation and the source code at my hand. I spend most of my time offline and this is like heaven sent. It has helped me alot, and I prefer to read the code than writing one. The Golang standard library is full of treasures and godoc is the magical shovel to unveil the treasure.

What advice or action that you would give or see to help foster diversity in Golang community worldwide?

I would like to see Golang picked as an introduction language to programming. It is very easy to express computer science concepts with Go.

Through events, and tapping of the groups that have no privilege of having to choose what to learn (Yup, like in my country Tanzania).

Well, I don't think I have good answer for this, in my country(Tanzania), I haven't met or heard about any Golang developer or any project using Golang in Tanzania (except mine of course, if you know any I will be happy to correct this).

The reason I prefer to keep writing in Golang projects is just to convince whoever doubts that Golang is ready that Golang is ready and It can help businesses any individuals solve different problems.

I tried to Go through shops that do web development in my city (Mwanza), and the reaction was heartbreaking. First they though I was a complete fraud, because they believe no local person can code in a Google backed programming language. They are all PHP shops.

So I gave up on telling them how good Golang can be and instead focus on showing them how good Golang can be. Maybe in the future when I'm very good in Golang (well good enough for someone to think I am good) I will start to write about Golang in my local language (Swahuili).

What are your advice to newcomers to Golang?

Golang is not a black box. You can peek though it and understand how things work.

Out of your 100% of time committed to master Golang, 80% should be on learning programming, 15% on reading works done by other gophers (you can start on the Golang standard library) and 5% on writing Golang code.

Most of the current OS is written in C language. If you are going to create a new Operating System with Golang.What would you name your new OS?

I will name the os MIRACLE, as it will be something that sane developers have been praying for.

Thank you so much for taking the time to do this interview!

Hope to see that you are able to convert those hardcore PHP dudes in Tanzania to use Golang one day with your powerful magical shovel

NOTES: Geofrey(Jeff) is an active contributor to Golang repositories in GitHub and the creator of utron - a lightweight MVC framework for Go(Golang). He is more comfortable in writing email replies with Markdown than replying with plain text. You can reach him at Till today, he is still shocked that I don't have a GitHub account. :P

His own journey kinda reminded me as the only kid (ok ok, not that young - 14-year-old) learning and using Turbo Pascal back in 1992 - developing a library management software for my school. Back then and in a 3rd world country, I was an odd fellow among my batch back in high school. I am glad to have my dad encouraging me in learning how to program.

Programming talents are everywhere and don't limit your world view to what is defined by the mainstream media. Do check out the programming talents in Tanzania if you are recruiting.

*This post is first published in

  See also : Fostering diversity in Golang community

By AdamNg

IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.