Being a software developer is enjoyable and feels like having a superpower, allowing us to construct things through computers by writing and reading code. We are fortunate to have one of the best jobs in the world, in my opinion. However, like any other profession, it has its challenges.
Abstraction is a technique to manage complexity by making a system simple to use, while hiding unnecessary details of what is really happening.