Gabriel Changamire
Before the Meta x MLH Fellowship, I understood software mainly through the act of building it. I thought about requirements, code, testing, and whether an application produced the expected result. The fellowship expanded that picture. It taught me that writing code is only the beginning of a system's life. Once software is deployed, people depend on it, machines fail, dependencies slow down, and small problems can spread across several layers. By the end of the fellowship, I no longer looked at an application as an isolated program. I saw a living system made up of processes, networks, databases, containers, monitoring, security, and the people responsible for operating it. That deeper way of thinking is the most important thing I gained from the experience.
One of the greatest strengths of the fellowship was the conceptual foundation it gave me. We studied Linux, processes, memory, CPU behavior, disk input and output, networking, services, containers, databases, observability, and troubleshooting. At first, this amount of information could feel overwhelming because every topic connected to several others. However, those connections eventually became the point. If an application is slow, the code may not be the only cause. The machine may be under memory pressure, the CPU may be saturated, the disk may be slow, DNS may be failing, or a database query may be expensive. Production engineering required me to stop jumping to conclusions and build a structured understanding of the system.






