I wanted to share a thought I had while studying Elder Dale G. Renlund’s talk “Latter-day SaintsKeep on Trying”:
“This statement—“a saint is a sinner who keeps on trying”—should reassure and encourage members of the Church. Although we are referred to as “Latter-day Saints,” we sometimes flinch at this reference. The term Saints is commonly used to designate those who have achieved an elevated state of holiness or even perfection. And we know perfectly well that we are not perfect.
Our theology does teach us, though, that we may be perfected by repeatedly and iteratively “relying wholly upon” the doctrine of Christ: exercising faith in Him, repenting, partaking of the sacrament to renew the covenants and blessings of baptism, and receiving the Holy Ghost as a constant companion to a greater degree. As we do so, we become more like Christ and are able to endure to the end, with all that that entails.” (emphasis added)
I want to look at that word “iteratively” and tease out the richness of the meaning for you with a story.
For two years when I went to BYU, I took classes from the Electronics Engineering Department and some of them involved learning how to program in low-level languages. I didn’t get much of a background in software design before having to do these assignments, so I essentially had to hack my way through them. (The teaching assistant insisted that I draw flow charts of my programs in my lab book, but I didn’t know enough about design to do that, so I would end up drawing the flowchart in at the end when I finally got the program to work. The flowchart was an afterthought, instead of the design aid it should have been.)
When I was starting to program, I would write a list of things the program had to do, I would try to write code that would do it, and then I would try out the program to see if it worked. And it would fail and then I’d have to figure out where I’d gone wrong. This was the iterative process. I spent a lot of hours in the computer lab trying things.
Some years later, I took more programming classes at a different college and this time there was a significant unit on program design and flowcharting before any coding was done. This made such a difference in my ability. I was able to complete the programming assignments much faster and with far fewer iterations. I was so excited about this that I dove into future assignments and ended up getting about three or four of them done far in advance of when they were actually assigned. I also had time to help classmates who were stuck.
Again, as you can see, programming is an iterative process. You design something, you test it, and it fails, and then you figure out what went wrong and you try something different to fix it. Or it might work, but only partially, so you analyze to figure out where the bug might be and then you try to figure out how to fix it.
But you don’t keep trying the same thing over and over if it doesn’t work. You have to think about what happened and analyze it. You have to ponder what happened and make changes.
In the same way, as Elder Renlund says, we are perfected gradually as we have to iteratively rely on the doctrine of Christ. It is as though our lives are the program that we are designing. When we make mistakes, we need to take time to analyze what happened and ponder what needs to be different and make plans to change. That work is part of the “all we can do” to receive Christ’s grace and forgiveness. Each iteration should help us become a little better than we were before.
Also, I think we make faster progress if we approach the iterative perfecting process with an eye to designing our life to become like Christ rather than just winging it, or making haphazard efforts.