I use this site primarily as a means to document and reflect on what I learnt from side-projects / experiences. I dive into technical topics and software development best practices. I hope that you can appreciate the intense perspiration behind each blogging episode.
My main stack is native iOS development 📲 (Swift and Objective-C). Even though I started as a mobile specialist, I now know many more languages. I am comfortable with Android, Flutter, JS, Python, Git, C++, and C.
I have been writing code (or thinking about writing code) for 5 years and have 2.5 years commercial development experience. I currently am a contractor for Maldaba Ltd., where I lead iOS dev and published 6 major releases of their iOS healthcare app. I enjoyed refactoring their Objective-C app into a tested, MVC-architected Swift app with Fastlane CI because I succeeded in the challenge. I met their hard deadline, made a positive impact and learnt a lot for my first contract. It was (is?) a complete success! I learnt best practices the best way through experience, both technical and non-technical.
I previously worked at Nutmeg, Swish, The App Business, did one app design contract (NDA), and have launched 3 personal apps on the App Store. I enjoy personal projects the most, especially when they are ambitious! The best way to learn is by pushing to develop something just outside your current abilities. I also released my first Flutter app
Ticked on the Play Store this year.
TL;DR I enjoy learning through building real apps.
I have big dreams to become a fantastic software developer, but I now see software as a means to an end. I used to love coding for coding's sake but now I want to focus my efforts on tangible and useful products.
I am obsessed with coding, and am a recovering perfectionist. I have recognised that clear communication with non-technical stakeholders is essential, and there is more to life than code. To develop a balanced routine, I also now enjoy reading books 📕, playing 🏸 and working out 💪 outside coding. I now pay attention to my life outside of work to ensure I live healthily.
I have learnt UX design as well as Python, Google Cloud, C, C++, and Android development with Java. I am reasonably proficient in C++ and Python, but I don't like Java. I improvise with Trello to follow Scrum, and recently passed the Agile Methodologies LinkedIn Skill Quiz. I won't be becoming Agile certified, because that seems like overkill.
Fun Fact: When I feel the urge to fixate on solving the bug after 30 mins, I take a break. I need it to stay sane.
I have multiple projects I need to work on, so I have been improving my time management skills to get more work done. I follow a written and iCal calendar to stay on top of things. I prioritize the most important goal to be done, and focus on that primarily for the next week / month. These are my 6 planned side projects:
Example 1: I resumed learning Android Development for a few weeks after graduation, and I liked it's low-level control of the APIs. I did this for 1 month, however did not release an app to the Play Store with my skills. I want to explore Jetpack, Firebase, MVVM LiveData coupled AndroidX and all the new Android goodness with Kotlin after I've learnt SwiftUI properly.
Example 2: I now have launched my first Flutter app on the App and Play Store: Ticked. I enjoy Flutter's Hot Reload 🔥 feature, and especially like using one codebase for both platforms. Ticked is a To-Do List app built using Provider, sqflite, numerous build_runner packages and has different platform designs for iOS and Android. Ticked has a lot of features to continuously improve the app.
Example 3: I started doing Hacking with Swift exercises for SwiftUI for 44 days. I need to resume at some point, however, I have not had time. I really enjoy SwiftUI so I'm sure that I can do that alongside my job in the evenings.
Example 4: Web security is a very interesting field for me, and so I plan to work on side projects or practise VMs online to learn the subject more thoroughly. I did download ⬇️ a practice VM at Imperial, but I only did 1 exercise. I got a Distinction in the module, completing all labs, however would love to do more VM exercises and Microcorruption too 🔐. I learn so much about OS, problem-solving and actually understand lecture content through (ethical!) hacking.
Example 5: Algorithms. Many people work on Leetcode and FAANG interview questions are all about algos. I gave an NSLondon talk about Swift Algorithms and am now actively learning algorithms through the Algorithm Design Manual (and other reference books). Cracking the Coding Interview is hard to read, but I feel that pacing myself and consistently putting my full effort and attention into each section and line will lead to improvements. Leetcode and Pramp are next on the list.
Example 6: Touch Typing with typingclub.com. I do this whenever I remember to at the moment. I plan to do Touch Typing on the weekends going forward because it is more of a hobby rather than a productive side project.
I haven't mentioned here that I am working on 2 other apps which will be in the App Store soon. I am very passionate about these apps because they solve a real problem, and are my own babies. These are lower priority at the moment.
Ps. I made a blog called CareerBuddy to coach 👨🏾🏫 students to get their dream CS job / degree via tailored blog articles. However, the project is now on the backburner because I can't justify the time / effort with more important side projects in the pipeline.
I graduated with a Distinction in MSc Computing Science at Imperial College London in 2020. I was awarded the Imperial Award, and hosted Raspberry Pi 🥧 Workshops.
I developed the first ever iOS Yoga 🧘🏾♂️ Action Recognition app in native Swift for my thesis (Distinction).
My group project in Deep Learning 🔮 for Foetal Image Reconstruction was also awarded Distinction. I had fantastic course mates, who came together at the last minute to overdeliver on our project goals. I made a Tkinter GUI, Streamlit Web App with Python, hosted the site and Docker pipeline on GCloud, and developed the networking layer.
In September 2020, I launched an App Development Agency called Kaspra Solutions 🧪! Kaspra Solutions will be the vehicle for my side projects and apps. Stay tuned for updates on 5 major side projects in my pipeline.