Meet the Decagon + Educative Tech Writing Competition winners

8 min read
Mallory Spencer

The Educative Technical Writing Competition is a platform for developers of all experience levels to practice and improve their technical writing.

To compete, participants submit their work to the Educative team. The articles receive a thorough copyedit before they are published and winners are announced. This process is an opportunity for the authors to learn and develop crucial research and writing experience.

The competition began on August 12, 2021. For this competition, Educative partnered with the Decagon Institute. Decagon provides immersive technical and leadership training for software engineers.

What is Decagon?

Chika Nwobi founded Decagon in 2018 to find and develop young tech talent in Nigeria. In his words, “Decagon aims to address the underrepresentation of Black people in tech globally, starting with Nigeria.”

Decagon’s six-month software engineering program has an acceptance rate of only 0.55%. The curriculum includes a variety of stacks, as well as interpersonal communication skills and leadership training. This ensures that students are well-prepared for every aspect of a future tech career.

After graduates complete this highly competitive program, Decagon connects them with both local and international companies.

The ability to clearly articulate complex technical concepts and processes is crucial for any well-rounded developer. The Educative competition helps participants improve technical writing skills that will serve them well in their future careers.

This aligns with Decagon’s mission to promote underrepresented talent in tech by developing these valuable communication skills. Technical writing is a key aspect of a well-rounded education, and an important step towards building a career in tech.

Meet the winners

Read on to see snippets of the winning Answers and learn more about the winners of the competition.

1. Ngbede Alike

Ngbede Alike is a mid-level software engineer who began coding a year and a half ago. He appreciates coding because he “loves[s] to solve problems through logical thinking, and coding helps [him] fulfill that.” His career goal is to work at Google one day.

In addition to coding, Ngbede also enjoys writing. Writing “enables [him] to make meaningful contributions to the field of knowledge, most especially in the field of information technology” where he hopes to build his career.

Read a snippet of his winning Answer below, or click here to learn more about him!

What is output/input stream?

What is a stream?

In Java, a stream is a sequence of data composed of bytes. It’s synonymous to a stream because like a stream of water, it continues to flow. Based on the datatype that is transferred through the stream, they are classified as one of the following based on the byte:

  1. Output stream

  2. Input stream

Output stream

In order to write data to a destination, the Java application utilizes an output streammay be a peripheral device, socket, file, or an array.

OutputStream Class

The OutputStream class is an abstract class. It is the super-class of all classes denoting an output-stream of bytes. An output-stream takes in output bytes and sends them to some reservoir.

To learn more about output/input stream and see some examples, click here to visit Educative Answers.

2. Chinenye Ikpa

Read a snippet of her winning Answer below:

What is SIP in Android?

SIP stands for Session Initiation Protocol, was developed by Mark Handley, Henning Schulzrinne, Eve Schooler, and Jonathan Rosenberg. SIP was initially developed to improve the way IP-based calls were handled, and was eventually accepted as a permanent element of the IP Multimedia Subsystem. SIP was standardized as RFC 2543 in 1999.

A protocol is a set of universally accepted standards for computer communications. SIP is a signaling protocol that is broadly used to establish, connect, and disconnect communication paths. It defines the messages passed between the caller and receiver, and manages the actual elements of a call. Android provides an API that supports SIP and allows one to add SIP-based internet telephony features to applications.

To learn more about how to use SIP in Android and see some examples, click here to visit Educative Answers.

3. Obinna Asiegbulam

Read a snippet of his winning Answer below, or click here to learn more about his experience in tech!

What is ASP.NET Stored Procedure?

ASP.NET is an open-source web framework that was created by Microsoft for building modern web apps and services with .Net.

A Stored Procedure is a group of Transact-SQL statements. I like to think of it as the equivalent of a Function or Method in programming.

If you ever have to write the same query over and over again, then you can write the query as a stored procedure and save it by its name. Imagine you have a developers table that has Id, Name, Gender, and Stack columns as shown below:

Developers Table


Full Name




Bashir Yesufu




Omowunmi Kassim




Ayooluwa Thomas




Chizaram Okoye




Fortune Agu



To learn more about how to use ASP.NET and see some examples, click here to visit Educative Answers.

Meet the newest winners

After the success of the first competition, Answers and Decagon partnered once again to give more developers an opportunity to participate. This competition began on September 23, 2021.

Read on to meet the winners and see a sneak peek of their winning Answers.

1. Omoyemi Arigbanla

Omoyemi Airgbanla is a petroleum engineering graduate who began programming three years ago. After joining a PHP training program, he also learned JavaScript on weekends. Eventually, he decided to quit his job to learn programming full-time and landed his first job in tech.

Omoyemi enjoys coding as a way to “unleash [his] creative juices.” The highs and lows of solving problems and fixing bugs is “simply amazing.”

He also loves writing, and not just about technical subjects. He co-wrote a book on the identity crises faced by Africans that was launched at a TEDx event in Nigeria.

Even after his transition to a tech career, Omoyemi is passionate about writing opportunities. After a struggle with writer’s block, he says that he is “particularly grateful for the Educative + Decagon writing competition, as it helped force me out of my shell.”

Omoyemi’s career goal at this stage is to continue improving at web development and maintain his passion for writing.

Read a snippet of his winning Answer below:

How to create and utilize packages in Go

A package in Go is composed of a series of Go files present in the same directory that allows the inherent code to be reusable in other parts of a Go program.

Go packages can either be:

  1. Built-in
  2. Third-party
  3. Custom-built

1. Built-in packages

The Go Standard Library provides over a hundred core packages available for developers to use and easily manage their programs. Packages provided by the Go Standard Library can be implemented by using a simple import statement.

import "name of package"

To learn more about packages in Go and see some examples, click here to visit Educative Answers.

2. Nnah Nnamdi

Nnah Nnamdi is a full-stack engineer focused mainly on React and Golang. They have been actively coding for over four years now.

Nnah’s interest in coding began with a love of computer games. While playing, they got “curious about how elements are painted on the computer screen.”

Nnah also enjoys writing, and says that “the reason I write is to help myself learn better as I write about anything.”

Although Nnah discovered coding through games, they want to use their career to address serious challenges. Their ultimate goal is to “help alleviate impoverished Nigerian youths from bad governance with technology that holds civil servants accountable.”

Read a snippet of their winning Answer below:

How to use WaitGroup in GoLang

The selling point of the Go programming language is the built-in support for concurrency (driven by goroutine), a feature in the language used to power fast and performant software applications. In this shot, we will go over common problems with goroutines and solutions using the WaitGroup tool.

How Goroutines work

Goroutine is a thread-like chunk of code executed by the processora mechanism used to structure code that runs concurrently in Go applications. The code in Fig1 below demonstrates the synchronous execution of code, a term used to describe code that runs sequentially from top to bottom.


func main() {
  // main loop

func count(thing string){
  for i := 0; true; i++ {
    fmt.Println(i, thing)

To learn more about the WaitGroup tool and see some examples, click here to visit Educative Answers.

3. Franklyn Omonade

Franklyn Omonade has been coding for two years, and would “like to say [he’s] still at the beginning of [his] career.”

He developed an interest in coding while he was at university. To Franklyn, “programming was the only thing that made sense because I could see it being applied to solve real life problems.”

Franklyn also enjoys writing. Like many people, writing is a way for him to “spend time alone with [his] thoughts” and “express [his] feelings.”

In the future, Franklyn “envisions [himself] excelling as a programmer, becoming a senior developer, and maybe running [his] own tech company someday.”

Read a snippet of his winning Answer below:

How to compress a file in Golang

Like most programming languages, Go supports file compression using a number of in-built packages. Some of these packages are:

  1. bufio: This package is used for buffering input and output.

  2. compress/gzip: The purpose of the gzip package is to implement reading and writing of the gzip format compressed file.

  3. io/ioutil: The io/util provides I/O utility functions.

  4. os: This is a platform independent interface for operating system functionality. This gives us the ability to perform operations related to the operating system, such as manipulating files and directories.

  5. strings: The strings package provides different functions to manipulate UTF-8 encoded strings.

  6. fmt: The fmt package implements formatted I/O which is similar to C’s print and scan as it collects user input from the console.

In this shot, we have an example that is going to show how file compression works in Go. Below are steps to follow to achieve compression.

To learn more about file compression in Golang, click here to visit Educative Answers.

WRITTEN BYMallory Spencer

Join a community of more than 1 million readers. A free, bi-monthly email with a roundup of Educative's top articles and coding tips.