My 2024 Software Development Plan

Mario Gunawan
3 min readDec 13, 2023

--

Image taken from this website

Last month, in my free time, I was browsing awwwards just to kill some time and look at some amazing websites. Then, I stumbled upon this special website. I consider myself to be capable in front-end development. But I can’t even understand how most the things are done on this website.

Have you seen a project that makes your gut drop because of how amazing it is?

So, I’ve made it my resolve to re-learn frontend web development. I want to learn the things that I once deemed too difficult to be done. So here’s my plan:

Learn How Computers Work

Estimated Time: 3 months

You heard that right. In all my 4 years of college life, 1 year of working experience, I haven’t touched this subject yet. I’m afraid. Afraid that it might be too hard. Especially since my college subject on low-level programming involves coding in assembly, finding bugs in memory, and creating my own kernel, all in one subject in my 3rd semester, ugh!

That’s the cause of my trauma, and why I haven’t touched it since. But now, I believe I have to learn it to understand how rendering works. Because If I understand how rendering works, I can branch out to a lot of low-level tasks, such as LLVM, and how to use them in Javascript. Also, I’m a bit embarrassed to say that I don’t know a lot of linux commands. Needless to say, I’ve got a lot of works to be done!

My learning point for this topic are:

  • Get a broad grasp on how a computer works, what are its components
  • Understand how a computer renders things
  • Tackle LLVM, this one is more of a personal target since I’ve wanted to learn it for so long
  • Learn Linux Commands
  • Learn more about scripting as I’m only able to create simple script for now

Learn Computer Graphics

Estimated Time: 3 months

This subject is actually quite a polarizing subject in my university days. Some liked it because it’s interesting. Others disliked it (I’m in this group :)). Nevertheless, I need to re-learn this subject if I want to ever get a chance to create those cool websites (well… actually, they might be doable using css but I want to at least learn about shadows & stuff to broaden my knowledge). Also, I’ve always wanted to create games! So I’ll try to create one using WebGL technology, from the knowledge that I’ve gained learning it.

To summarize, here are my learning points for this topic:

  • Re-learn computer graphics
  • Learn WebGL or the rendering technology
  • Create some kewl stuffs using WebGL, might be a game, might be animation

Dive into CSS Parser & Javascript Core

Estimated Time: 1 month

I believe I can get better at CSS by knowing how it works. All my built-up knowledge up until now is using the tool provided to me, so now I want to learn how said tool has been created in the first place. I’ll also learn Javascript core because I found it interesting.

  • Learn How CSS Works
  • Learn JavascriptCore

Learn Design & How to create animation

Estimated Time: 3 months

This have been my biggest homework of all. I believe that a good developer + a good designer make the dream work, so why not become both? At least, that’s the gist. Also I’ve always been curious on how to create animations, so I’ll also include that in my to-learn list.

My learning points:

  • Get a grasp on design principles
  • Look at awwwards everyday to get inspiration
  • Create some design for my future website
  • Learn the basic on how to create smooth animations which can be used in my future projects

Use the knowledge to rebuild my personal website

Estimated Time: 2 weeks (design) + 1 month 2 weeks (development)

What use is knowledge if we don’t use it? That’s why I’m going to finish the year with my own revamped website. After that if I have some time left in 2024, I’ll design & create websites for people for free until end of the year. I’ll try to apply & get as much knowledge as possible from experience from there forth into my following years.

That’s all my learning plan for 2024. Please let me know what you think in the comments & thanks for reading.

--

--

Mario Gunawan

I'm a mobile / web developer. I'm mostly writing articles about software development.