My First Week In SkaeHub’s Developer Program

John Kahenya
5 min readJun 26, 2021

--

Day 1 — Monday

The first day of the boot camp was on Monday. I went to their offices where I met the group. We were a group of 7 individuals and our administrator, Humphrey. He took us through Skaehub’s vision — to be a socially & financially impactful technology company in Africa,

mission — To empower young & gifted Africans to positively impact society through the use of technology and values, which were:

Passion- Passionate people make an impact.

Integrity — We believe in honesty and consistency of character even when there is no one to watch over you.

Teamwork — Individually we are one drop, together we are an ocean.

We want to be big, but we want to start small.

We were later Divided into two teams of 3 and 4 people, the first team was referred to as Logic-Tenacity and Apollo respectively, and we got introduced to slack, which was our primary communication platform. I had never used slack before, and this was my first time.As I continue to use Slack, I appreciate what it can do and the apps that can be integrated, particularly Twitter.Where I can receive notifications straight into my inbox.

Day 2 — Tuesday

The next day, Tuesday, we were to report back to the office before 8:30 am. The day started with each group creating Github repo accounts for group work and also for individual assignments. The group work introduced us to working with databases (SQLite3) and doing basic C.R.U.D operations using python3 and sqlite3 only. This exercise taught me the value of avoiding errors in my programming.

Day 3 — Wednesday

On the third day of the boot camp, we had to build a Twitter program that would return the number of followers a user’s account had. We were limited to only using web scraping to find the solution. My team and I spent most of our time researching and creating a plan for who was going to tackle the question. During research, I learned about Xpath in an HTML document, and two web scrapping packages in Python, Selenium and BeautifulSoup. Each package has advantages and disadvantages, and I had my first experience with them. What I noticed with Selenium was that after I installed it, my PC suddenly became slower when the program was running and, at one point, my PC froze. On the other hand, Beautiful Soup ran smoothly with no decrease in the PC’s performance.

BeautifulSoup was not without flaws.It was not able to read a page’s source if the page was built with modern front end technologies, but Selenium could open a browser window and execute the javascript, then read the page’s source code. It worked like magic.

Web Scrapping For Twitter Followers

In the afternoon, we were introduced to the final projects, from which we had to choose one from a list of nine.The projects were:

  • Song Lyrics Finder
  • Currency Converter
  • News Sites Web Scraper
  • Youtube Ringer Alarm Clock
  • Interactive Quiz
  • Wikipedia Article Generator (Web Scraper)
  • The Number Guessing Game
  • Device location finder app
  • WhatsApp Message Scheduler
  • PDF Generator

I chose to go with Whatsapp Message Scheduler

Day 4 — Thursday

On Thursday, we had to plot graphs from CSV files. To do this, we had to use Matplotlib, Numpy and the Pandas Packages. Matplotlib is a plotting library for the Python programming language and its numerical mathematics extension, NumPy. Pandas is a software library written for the Python programming language for data manipulation and analysis. In particular, it offers data structures and operations for manipulating numerical tables and time series. For example, we had to learn to group data and return the sum of the grouped data. We had to use pandas for this operation.

Plotting Graphs with Python

Day 5 — Friday

On the last day of the first week, we had an interesting topic to cover. We covered the Nominatim API and the GeoPy packages. I always had a question that I was always looking for an answer to: How do companies like SafeBoda calculate fare prices based on the distance? By the end of that day, I had the answer to how I would get the distance between two points and I learned about the Haversine formula.

In summary, I learned about

Agile Methodology: Before attempting any problem on my PC, I had to write down my plan, which I had to follow in order to solve a problem. This reminded me of my primary school teacher, who used to ask us to write Vidokezo before starting to write our Insha.

Programming Logic: When solving daily tasks, we must consider breaking the problem down into inputs, processes, and outputs, as well as creating functions that return values.

Git & Github: Throughout the bootcamp, I used Git & Git to perform push and pull requests on the group repositories.

HTTP & Web Services: where we post and get data from an API, return the data in JSON and print the server response.

Databases: where we are supposed to create a sqlite3 database and print out its version.

During this week, I had to learn a lot of new things and was forced to think outside the box in order to complete some of the tasks assigned to us.I got stuck on some tasks, but my teammates, Sarah and Joe, were extremely helpful in assisting me, so a big thank you to them.We also teamed with Team Apollo to get solutions to some tasks. Teamwork was the single most important factor in this week’s success.

--

--