Talking about my experience as a mobile engineer while learning some DevOps

I recently completed the Cloud Dev Ops Engineer Nanodegree Program offered by Udacity. It was fun, exciting and scary. I was excited to venture into an aspect of software development which has mostly been a black box area to me.

As soon as I completed my capstone project, I was left with the familiar feeling of doubt. “Is this all there is?”, “Do you feel like a Cloud Dev Ops Engineer now?”, “What happens to your Android development career now?”. I would later be able to answer these questions as the weeks went by.

Reminiscing over the activities of…


My attempt towards building a proxy server using Ktor as the backbone and some other cool Kotlin libraries.

Most mobile developers and front end developers have been in a situation where they are stuck waiting for the backend services to be ready so that they can test a new flow or screen. QAs also need to quickly test different scenarios which can mostly be produced by different server responses.

This problem has been solved by using HTTP proxies utilities to mock the responses for specific endpoints. I have used a few of them in the past, mitmproxy and Charles to be precise.

A feature image that shows network cables connected to a device.
A feature image that shows network cables connected to a device.
Photo by Thomas Jensen on Unsplash

Maybe it’s the millennial in me, but I discovered that setting up and using the proxying…


My first year in Deutschland. Also, cheers to the new year.

It has been exactly one year since I left Lagos, Nigeria for Hamburg, Deutschland. I came here to work as an android engineer.

Reminiscing over the past twelve months, I’ll say that I’ve had quite the experience. I was nervous when I was leaving everyone and everything that I’ve spent the first twenty five years of my life with. I quickly realised that I was probably overthinking, and that everything will turn out fine, when the customs officer politely welcomed me to Hamburg.

I spent the first few weeks learning about our codebase and working on the easiest tasks and…


In Kotlin, Java; and a little bit of generics too.

Photo by David Mao on Unsplash

In the previous post, I gave a brief explanation and provided some examples on how covariance works in Java and Kotlin. As promised, in this post we will go deeper into the remaining two: contravariance and invariance. We will find out what these actually imply in the Java and Kotlin type systems.

To do this, I will set up a simple inheritance structure, just like we had before.

We will explore four different scenarios for each of the variance types, where it makes sense to: assignment statements, method overriding, arrays and generic collections. …


In Kotlin, Java; and a little bit of generics too.

Photo by Leone Venter on Unsplash

In the first part of this post, I gave a brief explanation and provided some examples on the different variance type systems. As promised, in this post we will go deeper into this topic. We will find out what these actually imply in the Java and Kotlin type systems.

To do this, I will set up a simple inheritance structure, just like we had before.

We will explore four different scenarios for each of the variance types, where it makes sense to: assignment statements, method overriding, arrays and generic collections.

Let’s begin.

Covariance in Java and Kotlin

Assignment statement: Variable assignment is covariant in…


In Kotlin, Java; and a little bit of generics too.

Photo by Damian Zaleski on Unsplash

In one of my previous posts, I talked about how I decided to understand the keywords and concepts behind the Kotlin language. I did this by providing a simple explanation of the inline, noinline and crossinline keywords in Kotlin. Today I will try and explain some other concepts.

To do this, I will set up a simple inheritance structure.

This means that a BabyChild is a GrandParent (well, maybe eventually), shhh don’t think too much.

Let’s get begin.

Covariance

This means that if we have a type T, only type T and subtypes of T are allowed in this context.

For…


My thoughts on getting up to speed when joining a new team

Photo by Mimi Thian on Unsplash

Starting a new job as a software engineer comes with a lot of excitement and uncertainty. It is a new ground and previous years of experience can reduce this uncertainty as most concepts already known usually stay the same. A class remains a class, a function remains a function, and an Android Activity is the same android Activity that has been used in the past.

Unfortunately, there are some instances when some of the experience gained cannot be directly mapped to the new project that is to be worked on. Roughly 80 percent of skills required to work on the…


Danke Seamfix, Hallo Moovel.

I am currently on a one way flight to Hamburg, Germany where I will be continuing as an Android Engineer in Moovel.

This month is my last month as a Software Engineer in Seamfix Nigeria Limited and over the past five years, I have been privileged to work with one of the best minds in Tech here in Nigeria. It’s no wonder we were ranked as the top (indigenous) IT company to work for in the Jobberman 2018 rankings for Nigeria. …


The ios libraries that helped simplify my ios app development

Photo by Artem Sapegin on Unsplash

Over the past few months I took up the challenge to put my theoretical ios skills into practice. We have an app that exists on the Android platform alone and we needed to create an iOS app so that we could cater for customers using iOS devices.

As usual, when building apps, it makes sense to use 3rd party libraries that have been built, tried and tested by other developers. Github is my goto place for discovering awesome open source libraries for the iOS.

Don’t reinvent the wheel, just realign it. — Anthony J. D’Angelo

Because I did not want…


Talking about my experience as a Java/Kotlin developer while working with our data scientist

Photo by Daniel Cheung on Unsplash

Background

In late 2017, I started to develop interest in the Machine Learning field. I talked about my experience when I started my journey. In summary, it has been filled with fun challenges and lots of learning. I am an Android Engineer, and this is my experience working on ML projects with our data scientist.

I remember attempting to solve an image classification problem that came up in one of our apps. We needed to differentiate between valid and invalid images based on a defined set of rules. I immediately modified this example from Deeplearning4J (dl4j) and tried to use it…

Ben Daniel A.

Software developer. Learning everyday.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store