Position: Senior Software Engineer
Category: JavaScript
Experience: 5 years | English: fluent

Using Python & Selenium. I developed a script to automatically perform user registration actions on a portal that typically takes 100+ people and 3 days for completion while interning at a software company. The actions include selecting an appropriately stored user file from the file system, filling a multi-step web form, and then downloading the resulting processed registration data into another appropriate location. I received instant recognition from all members of the organisation, as I was the only one exploring a variety of technologies that could solve everyday problems.

As a Masters level Big Data Technologies student, I developed a scalable road surface anomaly Machine Learning profiling pipeline using HiveMQ, Apache Kafka, Apache Spark on Databricks, MongoDB, Node-Red, Sklearn, TSFresh, Python, and Javascript. Drivers can send accelerometer readings from their smartphones while on the road to the pipeline which will then process the readings as windows and determine whether it is a regular road, pothole, speed bump, ditch, or metal bump. For potholes, the profiling information includes the depth of the pothole in centimetres.
My expertise cuts across data science, data engineering, IoT, full stack web and mobile app development, and UI/UX design.

Worked as an intern, but as frontend leader, using HTML, CSS, Javascript, and Handlebars. Also provided backend support using Express JS, MongoDB, Paystack for payments, SendGrid for emails.

I have worked as a solo engineer at a company where I made all the technical decisions and learned a lot of lessons along the way. Subsequently, I became the technical lead as more members joined the development team. Using GCP, Node JS, Express, Sequelize, PostgreSQL, Postman and other tools and technologies, I developed a backend application for a logistics application following business requirements. The app includes tests, role-based auth (using JWT access tokens and refresh tokens), and complex entities & relationships, email & sms functionality, sentry for monitoring and reporting, and other functionalities. Subsequently, I built a React Native app to consume the backend APIs and implement auth and persistence using Async Storage and Axios (interceptors for refresh tokens), and Magnus UI for styling.

I have worked as a full stack developer in a small but highly effective team of 3 developers from 3 different and continents at a startup in Europe. Using React Native, Firebase, and other technologies, I contributed immensely to the development of 2 mobile apps: e-commerce/shopping and rider app. I dealt with numerous bugs along the way and learned from them. I also contributed to the development of a web admin platform through which the overall business processes can be managed, as well as a backend app for payments using Stripe.

My most recent role was as a Senior Software Engineer. I worked primarily with Azure (Function Apps, Log Analytics, AppInsights, AppConfig, APIM, Alerts), Terraform, Typescript, EventHubs and Apache Kafka, Github Actions, and Grafana. My contributions to the team included continuous development and deployment of the cloud services, maintenance of the microservices, monitoring performance and business metrics, debugging, unit and e2e testing, and being on call to address failures that may arise.

In my spare time, I read AI related scientific papers, perform exploratory data analysis on public datasets with R or Python, explore ML techniques, or build ML models. 

I also play Xbox, watch Netflix, or just hangout with friends & family.

I want to improve my leadership skills and deepen my cloud knowledge!
While some level of multitasking is inevitable, excessive context switching or juggling multiple unrelated tasks can hamper productivity and hinder the quality of my work.

Furthermore, I value continuous learning and professional growth. I prefer not to work in an environment where opportunities for learning new technologies, attending conferences or workshops, or participating in skill-enhancing activities are limited.

Finally, I prefer to be unavailable during weekends and holidays by default. If this is unsuitable, we can have a discussion about it and make some sort of agreement ahead of such events.