It’s Always an Iterative Process

My name is David Mora, and I am a student at the School of Engineering and
Computer Science at OSU. I am also a software engineer by trade for about 25
years. So, yes, I am old compared to the general student population at the
University.

People often ask me why I am trying to get a degree in a field where I already have an established career. I am not entirely sure, but there are several reasons. For one, when I was young, right after high school, I went to college to study electrical engineering but dropped it when I was a junior. I had better things to do, apparently. Sigh. This is one big regret and part of why I am now back in school. Another reason is that I learned most of what I know about software development by reading or experimentation, but I could sometimes tell I lacked fundamentals. Finally, I love learning. Of course, university courses are more demanding than watching YouTube videos or reading tutorials, but the instruction is often much more solid.

At any rate, experience has taught me that learning is an iterative process. New technologies or fields can be confusing or even overwhelming at first, but gradually it all falls in place, and things become clear. Same with ideas, work, expertise, etc. Thus the name of my blog. Eventual consistency, in distributed computing, refers to the idea that when information is received and replicated by several nodes in a network, some nodes could be outdated for a while but, eventually, all of them converge1. Thus the network tolerates a state of temporary “confusion” or conflict because it knows that it takes time for it, as a whole, to digest updates. The same happens, at least in my brain; often, new information causes temporary confusion or fuzziness, but I have learned to embrace it and let it simmer until it is digested.

Likewise, software engineering is an iterative process. There are lots of uncertainties, conflicts, and surprises. The key to success, in my opinion, is to embrace that chaos and work on constantly improving it, keeping track of the changes required and the knowledge acquired until it converges into order. That is part of what makes engineering fun, problem-solving.

And this is going to be my focus in this capstone blog: to highlight, every week, areas where our project has encountered difficulties (there are always difficulties), and how we overcame them, what we learned, or how we worked around them.

References

Eventual consistency. (2022, September 19). In Wikipedia. https://en.wikipedia.org/wiki/Eventual_consistency