Redefining Myself
Self-reflection. Aspiration.
Today is February 7th, 2025. It has been about four years since I graduated from my undergraduate studies, which means I'm in my mid-twenties. This is a good time to reflect on myself and redefine my goals in life. I will talk about my passions, interests, and career, how life has been so far, and what I want to do in the next few years.
Doing Something That I Love
Since I was a kid, I have been really into computers. At first, I used it to play video games. However, after some time, I ended up learning many exciting things with it. Starting from learning how to do office work, learning how to edit photos & videos, learning how to produce music, learning how to hack/crack software, learning how to code, and so on.
I have explored quite a number of things in this (computer) field alone. From all of the things that I have explored, I'm somehow really interested in programming. That feeling when I can build my own world inside a device like a computer is addicting. I suppose I really love building & tinkering. It is even more exciting when I'm pursuing my undergraduate informatics degree. I get to know computer science in general in which I get to know about programming, computer networks, database systems, distributed systems, artificial intelligence, etc.
My love for programming turned me into a software engineer. In software engineering, we do a lot more than just programming. That's why this role is quite fun for me. When working on something, we need to think a lot. Not just typing some codes. For example, let's say that we are working on a new feature for our software. The things that we need to do is to write down the requirements, do some assessment, think about the design of the system, make sure the timeline is okay, plan how we test and ship the software, etc.
It's been many years since the first time I code to build a product as a software engineer. At first, I'm doing a software engineering part-time job to get some money while also doing something that I like. My current area of work in this field is mostly backend engineering and a little bit of data engineering. Other than these two, I also have some experience in frontend engineering and a bit of mobile development. I also know a little bit about DevOps. After trying so many things, I started to wonder whether software engineering was for me. I mean, is this something that I want to do?
To be fair, I'm enjoying my time working as a software engineer. However, since this is professional work, sometimes the task given to me is good and sometimes it bores me. I need to allocate some of my free time to exploring or doing something else that I like. Most of the recent explorations that I did are exploring more about Web3 and distributed ledger technology such as blockchain and hashgraph. Apparently, there are many interesting things happening in this space. The last time I heard about Bitcoin and Ethereum was when degenerates trying to sell their overpriced NFT with a weird monkey picture on it. So, yeah, a really good development progress I would say.
The joy that I felt when exploring something new, thinking of possibilities that may be possible with it, and solving my own problems with it, is such an eye-opener for me. It turns out that this is something that I really love. Exploring, experimenting, and solving/building something that I want to solve/build. Yes, the keywords are, I want to do something that I want to. I'm now wondering whether being a researcher or a computer scientist will be the right one for me. The other possibility is to bootstrap my own company. Or maybe, just hop on to another company when I'm starting to get bored? Well, I don't know! At the very least, I now know that I have the best result when I'm working for myself.
Sorting Out My Current Interests
I have many interests. Is that not a good thing? Yes and no. This is my biggest problem. I got interested in many things. That means it is pretty difficult for me to focus on just one thing. It is time for me to sort this out.
In general, I'm most interested in computer science. I want to keep exploring many things in this field. However, I need to limit what to learn/explore to make sure that I get a strong knowledge in a particular area before I can do anything else. Since my main goal is to build something that at least solves my own problem, I will start by choosing the right programming language for me. I need to master one as my main programming language. My ideal programming language would be one that is like C, but a better version. Some of the qualities that I'm looking for are a simple programming language that can be compiled even decades later (or even a century), low-level programming support (such as manual memory management), a verified/correct compiler, able to target many architectures/platforms (especially WebAssembly & *NIX-like operating systems), and joyful to use. I already have some candidates for this. I already have some candidates for this. I will write another post later about my chosen programming language.
Other than programming, there is another technology that I'm interested in. It is the Web3 technology. When talking about Web3, of course, I'm also interested in distributed ledger technology such as blockchain, directed acyclic graph, and hashgraph. There are many interesting projects that are worth exploring as well. Some of them are decentralized storage, decentralized computing, decentralized identity, etc. The reason why I want a programming language that can compile to WebAssembly is because I want to build something on top of these blockchain projects. That's because many projects are using WebAssembly as their (smart contract) runtime. Thus, it is ideal to use a programming language with built-in WASM support.
Since I'm interested in blockchain technologies, I'm also interested in the concept of cryptocurrency. More specifically, the concept of an open economy in the digital space by leveraging blockchain technology. However, since many blockchain projects have a gas fee concept, even if it is cheap, I think it will be the main factor that hinders mass adoption. To solve this issue, I'm exploring some projects with a feeless concept. Meaning that the user is not required to pay for gas fees when sending some assets (and when interacting with the smart contract). Any feeless mechanism is okay as long as the user is not required to pay for the gas fee. Some of the projects use reverse-gas model (like Internet Computer [$ICP]), rechargeable energy model (like TRON [$TRX]), gasless through fee granting concept (like XION [$XION]), etc. I will write another post to talk about this later.
I do have another interest outside of computer science. However, I think it is better to focus on programming first. Later, after I have mastered my preferred programming language, I will continue building something in the Web3 space while revisiting software engineering. I hope I can build whatever I want to build.
What's Next?
In the near future, I want to move overseas either to work or to study. One of the reasons is for me to experience how's the life in a first-world country looks like. I have this kind of motivation because I'm living in a developing country right now. I'm doing fairly fine and living pretty comfortably. However, living in a first-world country will give me a good experience and may give me another perspective in life. Thus, I will do some preparation for this.
While preparing to move out, I will also use my time to build something. I want to build my own blogging platform with some twists. To build a blogging platform, I need to make sure that users are able to register and post something themselves. This is important for me since I will be one of the users too. I need to make sure that the users are safe from any kind of cyber attack. I also want the contents generated by the users to persists as long as possible. The concept of permanent website will be used. Well, better for me to write the detail later in a separate post.
Nothing is free in this world. That means I need to build a payment system for my own product (or platform). For example, if I want to build a paid blogging platform, I need a payment system before letting the users do anything on my platform. Of course, I can use existing solutions. However, while I'm at it, I want to build a feeless ecosystem in the Web3 space for this payment system. This will allow me to have a company with fully on-chain economic activities. I will tell you later in another post why I'm obsessing over this.
Other than a payment system, a common system that is being used everywhere is an identity system. This identity system can be used to give an identity to everything. I may give an identity to a service inside my platform. I may also give an identity to the user who uses my platform. Thus, I plan to build something related to this as well. I will build something that follows the W3C Decentralized Identifier (DID) standard. Well, let's save it for some other time.