About me, and about this blog.
Hey there weary traveller 👋
My name is Kodey Thomas, i'm a software engineer that used to make iOS Jailbreak Tweaks. Now i spend my days throwing myself up walls (rock climbing) and writing software professionally (for some reason people keep hiring me).
I primarily specialise in backend development using TypeScript and the occasional splash of Go and Rust here and there.
How did i get here?
Ever since I was a kid, I've always been interested in computers and how on earth as a species we've taken one of the most abundant elements in the earths crust, a nonmetallic, carbon-like rock and bent the laws of physics to our will.
My first computer was a Windows XP Desktop and being fascinated with the command line. We didn't have access to the internet so I had to learn programming in Batch from books I borrowed from the library which was certainly a challenge compared to today in the age of StackOverflow and Tutorial Hell. Weirdly though this wasn't 1994, it was 2014... I still don't know why my mum refused to have an internet connection for so long.
When I was in Year 7, I then discovered Backtrack and due to me having my mum's old Dell Vostro 1000 which had a whopping 512MB of RAM. Little 2015 Kodey was happy about this new tool that he could learn how to use. Thus began my treacherous descent into becoming a software developer.
From there I went on to learn basic HTML then made a pretty sum reselling dot.tk domains and free webhosting services.
Then I had to grow up...
Around 2019, I realised I couldn't make a career off reselling free webhosting services and I'd actually have to grow up and become an adult, with actual responsibilities, pay council tax, pay for a TV license, etc..
However, I didn't actually know much about how to become a software developer. I had virtually zero development experience that wasn't me messing around on personal projects.
So i took the most rational decision given the situation, and joined the army...
Sorry what, why?
Every single interview I attended, I was told either one of the following things:
- I was too young
- I was too inexperienced
- I was too young and too inexperienced
- I just didn't have that 'wow' factor they we're looking for
Yes that last one actually happened, it was for a company that actually went bankrupt during COVID. guess they didn't have that 'wow' factor their clients were looking for.
So, I gave up. I ran away (albeit in this case, quite literarily)
In 2020 during the midst of a pandemic, I joined the army. Looking back I honestly still think i'd do the same thing, not because I particularly felt devotion to queen and country but it was a way out.
A way I didn't have to face the reality of the only career I could possibly see myself enjoying rejecting me at every front.
Then I stumbled across iOS Tweak Development
Before I joined the army, I had 7 odd months to do absolutely whatever in. I decided to learn iOS Tweak Development, which is honestly one of the best decisions I've ever made and will ever make in my life. Those short months we're the most formative of my life. I stumbled across a group of people who we're all similar ages, similar levels of experience and a whole bunch of time to work on stupid projects.
I made amazing friends, friends I'll keep for life. We worked on stupid projects for fun, such as this FaceID Glyph tweak. We saw someone charging $2 for a simple tweak that just changed a .png file, so we made a tutorial on how to do it for free.
This culminated in my magnus-opus an iOS Tweak Development guide. I've still never been as proud of something i've created in my life, even though i've made far far better things since.
The hype around this one guide meant I genuinely had to re-architect my entire site to handle the traffic. At the peak I was clocking ~50k requests a day, good thing I switched to a static site.
During that time, I then went on to learn all things low level iOS:
- MobileSubstrate and it's applications in jailbreak Tweaks
- Method Swizzling and Dynamic Runtime Patching
- Bypassing Jailbreak Detection and common patterns to detect jailbreaks (Resulting in a takedown notice...)
- ASLR, PAC and other runtime protection tools
- Basic Reverse Engineering
- Using Hopper and IDA Pro to reverse engineer binaries
- All things Mach-O
- What on earth is a .dylib
Somehow, I then became a developer
After leaving the army, I genuinely had no options. A few qualifications but I couldn't join university i'd just missed 2 years of the required education. So i had to become a developer, I had no other choice.
So, I managed to swindle my first development job. A position as an Apprentice Engineer, one that would be short lived... because I got promoted, very quickly :)
I loved my first development job, I was working with an amazing team and had one of the best managers I'll ever have. We still keep in contact and I owe my entire career and my entire future career solely to him. He took a chance on me and it paid off for both of us, i'll forever be in debt to him for putting faith in a 17 year old kid who wanted to become a developer.
During my time there, I worked on a metric-ton of projects. I had an absolute blast, I got put through a ton of qualifications to solidify my learning and there was always the expectation I'd continue to progress every month. If I didn't have that push i'd probably still just be a junior developer messing around and just coding 9-5 then going out drinking in the evening.
A small boy, in the big city
From there, I then moved to the land of opportunity, The big apple. I mean it wasn't NYC it was London, so I guess the big lenovo thinkpad is a more adapt description.
I moved to London on my 18th Birthday... Most people go clubbing for their 18th, I was buying a hoover and a toaster.
Fun Fact: I never ended up using the toaster and donated it to the next tenant
I got a job as a Backend Engineer, I was the only developer in the UK at the time. I still don't understand why I got hired or what on earth my actual role was but it was fun, I made amazing friends and saw an entire new side to life. I saw life through the eyes of an investment banker, if thats a good or a bad thing I'll leave up to you.\
Shortly after I joined, one of my now closest friends joined and I learnt so much. How to deliver a project when you're the one responsible for it. How to navigate an ever changing set of requirements and most importantly, How to enjoy life.
However, we made the most of it. I'm forever grateful to my old boss and all my colleagues and especially Max, I genuinely would not be the person I am today without you.
Again they took a chance on a kid who did not deserve the role he was thrust into.
After a year and a bit, I left. I decided to join an incredibly interesting company with amazing engineers and an amazing development philosophy. I don't think I can see myself leaving here for the forseeable future. Just like everything else in my career, I lucked out.