Every other month, my dad would take my brother and I to Fry's, the now-permanently-closed computer retail store, and we would wander the aisles with him. For the two less-than-10 year-olds, it was like peering into the future. The latest hardware, software, gadgets, tools... it all excited my dad, and I think that energy was contagious.
Those are the earliest of fond memories that I associate with computer technology. Now, my love for creating software has matured. I think it is an exciting field for several reasons.
We can learn anything about it
"You cannot know everything, but you should convince yourself that you can know anything" - John Carmack
Many scientific disciplines (like biology, physics, and chemistry) are discoveries about the nature of things. But there is so much we do not know. Yes, that makes things very exciting, but it also tinged with some sadness. One of the special charms of computer science is that all of its layers of abstraction are man-made and well-understood, and so they are master-able. From the logic gates and transistors at the lowest level, across the operating system and databases, to the web servers and browser engines at the highest level, we can truly learn as much as possible because we have built every layer ourselves.
It is exhilarating to reckon with, because there is so much - decades upon decades - to know, but we really can convince ourselves to know everything (well, almost everything) in the field of computer science.
It is democratized and collaborative like nothing else
So much of the technology space is open-sourced: greatest hits like Linux and Git, leading web dev technologies like React and JavaScript, and personal favorites of mine like NeoVim. There are no other major industries where there is a community that shares and collaborates in order to push the standard ahead.
I adore the open-source drive that powers much of modern software, and I am excited that I can contribute any small part to help make products and services that virtuously create value.