One theme I have picked up in my own life as a programmer and in watching the posts other programmers put on Twitter is this: we can swing from hero to swamp-thing in minutes flat. One minute we are Superman. Able to do anything. Not troubled by the lowly failures of other mortal programmers. And a minute later we can be frail mud-dwellers, scrabbling to avoid getting sucked under the sludge.
The thing that can tip the balance between these two extremes is very small. All that is needed is for our programs to crash. And they do. Sometimes we fix them like superheroes. And sometimes we're at a loss. And dead in the water.
In the days of office computing, this was not quite so insane. PC crashed? Well, you do usually have another sitting around. Keep backups. Network down? Check the cables. The number of moving parts was not quite so insane, and all the parts could be visited by you in your sneakers.
But in today's world, your database is frequently not in your office closet or computer room. It's in some Google data center. And the networking involved between end-user and your database? It traverses possibly the entire globe. How many miles of cable would you like to examine if users cannot connect? Login rejected? Well, in the past, the login info was stored in plain text in your user table. Go check it out. But what if the login is some 128-char token that an outside provider manages in a data center. What if the provider says the login is bad, and you cannot figure out why your users cannot connect?
On and on it goes. When all is well? We're Mr. Incredible. Or Elastagirl. And when things break? We stare into the abyss and consider alternative forms of employment.
Which brings me to my point. The more complicated the working system is, the more proud we are of our accomplishments... and also the more we realize how delicate it all is--and how much is beyond our control--when things don't work.
Which means that cloud computing starts to look a bit like the rest of our life. Our bodies are miraculous things when they work. And they're still miraculous things when parts of them do not. But our feelings about 100% functional vs 99% functional are remarkably different. We are miserable when 1% of our function is lost.
How about the world around us? Same thing. Perfect health is awesome, but if a family disaster hits? One phone call can take us to the lows plumbed by Job himself.
This brings me to my personal reminder to self. God is sovereign, Pilgrim. You are not. You are desperately weak and in need of God. When things aren't working, and also when they are. When you doff your work hat and tackle OAuth2 login protocols. And when you sit down at the dinner table. And when you vote. And...
Pilgrim. Listen. You are not in control. You never were. Rest in the trust that God is. Let God be God. And you? Get used to being a mortal who trusts in a very big God.
PS -- It wasn't more than three days before I had a "My life is mud" day at work. (CI/CD pipeline hell, for the record.) God was good, but this blog post rattled in my brain all that day while I struggled with things I couldn't control and didn't understand.
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.