Skip to content

KodeyThomas/BackendDev

Repository files navigation

Backend Developer Journey

Hi, My name is Kodey Thomas and i'm a 17 year old programmer. During this recent quarantine I started thinking What Do I Actually Know? and taking a step back i realised it's so much better to spend this time doing something productive and learning new skills to help me in my future endeavours.

The rest of this README.md is about my personal life and the derivations I am going to make to the roadmap, if you just want to get started head into the first folder labelled 01-JavaScript however I recommend you read the rest of this as it gives you a good understanding of where my skills were before starting this project.

So, what exactly is this...

This is mainly a personal project to see the progression through my skills. I am going to be following the Backend Developer Roadmap and ticking of what I know already and understand. Think of this like 100 days of code except I can't leave my house or there is a chance of death.

What skills do I already know

Currently at the start of quarantine I could code in Python, HTML and Batch (Although I don't particularly class that as a language) and that was it. I understood most concepts within Computing at a basic / intermediate level. This is really important as learning these concepts successfully means it is going to be easier to understand other languages. This is the reason most people find that if they learn programming concepts such as OOP and Functions rather than just the syntax, It makes learning other Languages a lot easier and means you can apply yourself to a wider array of tasks even without knowing the language.

The path to becoming a self-sufficient developer, who understands how to learn programming concepts, is more important than the details of the programming language itself.

Ever since I was a kid I was really interested in code and how stuff worked, I remember owning an even old for my time Windows XP desktop, 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. I have technically been coding for ~ 5 years (from the date I first learned about Python) but if you count from the days of batch it is closer to 8. That being said it has only been odd projects here and there without any dedication to really learning something. When I was in Year 7 (11) I then discovered Kali Linux or as it was formally known Backtrack and due to me having my mum's old Dell Vostro 1000 which had a whopping 512mb of RAM. Little 2015 Kodey was so happy about this new tool that he could learn how to use and thus began how I found out about Linux. However due to my laptop at the time being so bad, I could only use Backtrack as Kali was too powerful for it. I then through experience learnt how to use linux and the bash cli, this wasn't too different from the scripting language batch which I had used a few years prior. From there I went on to learn basic HTML and have made a few basic websites over the years and buying free domains from a service called dot.tk. I Found out how to configure my websites to run though cloudflare and change the nameservers on my domain. Over the years my HTML abilities have gotten better and better.

Here is a sample of my current HTML skills which you can find on my site HERE

Deviations I am going to make to the roadmap

I always was interested in jailbreaking and the art of bypassing security measures put in place to prevent you from doing certain things so ever since the Unc0ver jailbreak came out for iOS 13.5 I told my self I was going to learn how to create tweaks, and i'm incredibly glad I did and made some cool friends along the way. So I learnt how to make tweaks and this process included learning about the following;

  • Objective-C
  • Logos Syntax
  • MobileSubstrate and it's application in jailbreak tweaks (MobileSubstrate Extensions)
  • Method Swizzling and Dynamic Runtime Patching
  • Bypassing Jailbreak Detection and common patterns to detect jailbreaks
  • Finding what methods to hook by using Headers
  • iOS ASLR + Binary Encryption (And how to reverse it to find the real address)
  • Frida and what is it, how we can use it in numerous applications including decrypting binaries
  • Basic Reverse Engineering including learning basic ARM assembly
  • Using Hopper and IDA Pro to extract unencrypted strings from the binary
  • What Mach-O binaries are and the differences between a FAT binary and a THIN binary
  • What .dylib's or Dynamic Libraries are and there application within Tweak Development

I do fully understand this isn't backend development but mobile development however the additional skills it has taught me on how the 'backend' of iOS works allows it to be included here

At the time of writing it has been 58 Days since I started this Journey as that has been the length of time the Unc0ver Jailbreak has been out. I however did find there wasn't many decent tutorials on Tweak Development so I decided to make my own which you can find HERE this is probably one of my proudest works at it took ~3 days to complete as I was learning the guide as I was writing it and was incredibly challenging however I am really glad I wrote it as it has been used by 13.5K Unique Users in the past month !

unc0ver time length

cloudflare

Additionally a project I am currently working on along side this project, requires me to understand Next.JS + React.JS as they are both powerful frameworks that are key in building successful web based applications.

I need a good understanding in both frameworks to create a good end product, due to that fact I shall also be studying Next.JS + React.JS

Additionally I will be learning C# as it is a requirement from the Skills provider for my apprenticeship (I'm under 18 so in the UK it's the only way I can get a full time job programming) It will be increadibly useful if I ever come to develop desktop applications.

The Roadmap I Will be following

So the roadmap I will be following can be found HERE but I can already do a few things on there, so I shall be ticking off what I already can do to simplify the process.

So here is the edited roadmap I will be following

Key:

  • Stuff I Knew Before (Black)
  • Stuff I Have a Certification In (Red)
  • Things I've learnt during this process (Orange)

backend roadmap

About

Documenting My Progress To Becoming A Backend Developer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published