Boring Things

c: Feb 28, 2022

Every one of us goes through a different phase where we notice the trending topics. We are most likely to check it out if it becomes a meme. However, some out-of-trend activities or actions can be a fun way to waste time. This statement may make someone claim, “If you have enough time to spend, why not expend them doing something meaningful? If the trend evolves to the point that it creates real values, why not use it?” Yes, I can confirm these questions are true. It fits for those motivated ones who can keep up with whatever is trending.

On the other hand, some may want to work on relevant fields but explore special orthogonal niches to their current work. The orthogonal topic may be within the domain of work or maybe outside. For example, someone specializing in graphics trying out web development or physicists exploring graph theory. Some may explore these topics despite a meaningful connection to them.

From an engineering perspective, it is amusing to explore how computer science evolved as a field. Engineering a solution involves reducing costs, managing complexity, simplifying procedures, and optimizing for a good solution. But from the perspective of science, it’s about establishing facts, exploring theories, and formulating the methods. Though they may look similar at the surface, engineering is just an application of science.

Unlike other engineering fields that require rigorous testing and fault tolerance, software engineering is a bit flexible when it comes to testing. But it is absolutely necessary to rigorously test critical software, if possible - every software. Like other forms of engineering that require the understanding property of material, structures of solids, the flow of electricity, and so on, software engineering demands understanding abstraction i.e. mathematics. One thing that most overlook is the direct application of mathematics.

As fun as it is to explore the latest framework or new technologies, one may get the same kind of high diving into other niches. These can be discrete mathematics, type theory, graph theory, or programming languages such as Lisp, APL, etc. So what is the catch when we do these boring things? Any form of art captures the history of people and culture around it. Likewise re-visiting the old approaches in computer science helps one get familiar with the evolution of design for software and programming methods.

Now the question arises, “if it is necessary to dive into something as boring/old when one could be honing their skills?” Because one may instead invest their time by trying complex technologies, orchestrating multiple servers, or utilizing the GPU to 100% capacity. The answer is that it depends on how someone wants to take it. One doesn’t necessarily need in-depth networking knowledge to create a usable web application. Then, why will it be necessary to visit these archaic materials?

The question here isn’t about the relevancy of material or not. It’s more about taking action and learning the ways to take action. Once someone starts doing old things on their own, they get to see the perspective of different people because the solution is already out there. The solution may be an optimal method or a quick hack. These decisions are crucial when someone wants to explore new frontiers. One noticeable difference between a neophyte and the master is how experienced one has the confidence to venture into new frontiers while fresh ones are stuck with a trivial question on frameworks, architecture choice, scalability.

Engineering a solution requires both a mathematical foundation and the ability to make decisions on constraints and restrictions. Sure there will be times when one has to implement some frameworks and other times to scale beyond frameworks. Probably, most of us aren’t going to have to deal with scalability because if we are fortunate we may gradually evolve ourselves into that position. But if someone needs to lead up, then having those boring fundamental or out-of-trend topics may come in handy because one thing those old materials reflect is mistake. Therefore, despite seeming a boring or complex thing to do, I would encourage anyone interested in tech to try some out-of-date technology. Be it programming language, mathematics, physics, art, music, literature, or even philosophy, it will be fun to explore it just for the sake of exploring it.