Merciful Software Engineering

My Two Google Internships Showed Me that Doing Justice Isn’t Enough

FaithTech
FaithTech Institute
8 min readNov 12, 2020

--

2nd Place Winner of FaithTech Institute’s 2020 Writing Contest!

Photo by Juan Di Nella

The summer I was 20, barely halfway through college, I lived in New York City and interned at Google. Every weekday I would leave my Midtown apartment with a view of the Empire State Building and walk 18 blocks past homeless people in cardboard and blanket caricatures of shelter, get my free breakfast served by a contracted employee with darker skin than any of the other engineers in line with me, then scooter down the hallway to my office and spend the rest of the day making $30 an hour playing with fun software problems. On the weekends, I’d venture to far-flung parts of the city to eat the cheapest food made by people with the least English I could find, and then I’d sit down on a bench on the High Line and watch the tourists and panhandlers go by and feel crushed by the dissonance.

The yawning gap between me and the humans around me made me wonder if I was becoming one of the people the biblical writer James addresses with the words “Come now, you rich, weep and howl for the miseries that are coming upon you.” I didn’t want my success as a software engineer to be built on pride, greed, and exploitation “crying out against [me]” like the self-indulgent rich whom James condemns. I wanted my career in tech to further God’s justice and restoration of all things.

Seeking God’s Justice at Google

Searching for visions of what God’s justice truly looks like and for what I should do with the dissonance, I spent a lot of time that summer reading Isaiah. The book opens with ringing condemnations of Israel for how they have forsaken and despised their God and perverted the once just and faithful city. The Israelites take advantage of the poor, the fatherless, and the widowed, “grinding the face of the poor” to take the spoils. They corrupt God’s good law with lies and bribery; “no one goes to law honestly; they rely on empty pleas, they speak lies, they conceive mischief.” They rely on oppression, ruthlessness, and proud idolatry instead of humbling themselves before God, exploiting their workers even as they fast. This description isn’t what Jerusalem is meant to be. In contrast, Isaiah envisions a righteous city yet to come where every nation will go to find God’s law and peace, a place where the rod of the oppressor is broken and “every garment rolled in blood will be burned as fuel for the fire.”

Photo by James Frid

These targets of God’s righteous frustration resonated with what bothered me about New York. They also sounded like familiar issues that often popped up in computer ethics. So I knew just what to do. . . .

God is passionate about the marginalized? I took Google classes on accessibility and learned tips for building software that supports people with differences in vision, mobility, and hearing, instead of shutting them out.

God longs to see all nations seeking peace and truth together? I cold-contacted and interviewed Google employees working on ways to bring technology and the Internet to emerging markets, where many people speak minority languages, aren’t fully literate, and only have low-end smartphones.

God avenges the vulnerable who are exploited for profit? I scoured Google’s internal mailing lists for research about how to offer free services without treating people like parcels of marketable information. I searched for strategies to keep capabilities like location tracking from becoming tools of coercion and control for abusers and oppressive governments.

More than Doing Justice

There is more to Isaiah than withering condemnations of Israel’s perverseness and charges to unattainable ideals. Isaiah is personally confronted too. When Isaiah is first called and sees God filling His temple with just the train of His robe, surrounded by smoke and seraphim, Isaiah cries out, “Woe is me!…I am a man of unclean lips, and I dwell in the midst of a people of unclean lips.” Faced with God’s holiness, Isaiah is pierced by the knowledge that not only is his society utterly unworthy; he is too. But God takes away his guilt and atones for his sin with the same image of mercy that weaves its way throughout Isaiah and culminates in the promise of a Savior who will be “pierced for our transgressions” and “make many to be accounted righteous,” so that “with his wounds we are healed.”

The solution that Isaiah hints at is not simply working harder at building a just society; it is God’s reaching out to individual hearts and transforming them with mercy. Jeremiah prophesies in the same way: “I will put my law within them, and I will write it on their hearts…. And no longer shall each one teach his neighbor and each his brother, saying, ‘Know the Lord,’ for they shall all know me” (cf. Ezekiel 11:19–20, Joel 2:28–29). It is only through this work of God that the root problem of rebellion is truly solved. “I will be their God, and they shall be my people” — God’s children through the heart.

The dissonance weighing me down in New York, I realized, was not just from the rift between my material comfort and others’ suffering. It was also from my warm, brilliant supervisor who poured into me in a tacit transaction: a good internship for a good evaluation he could include in his promotion packet. It was from the passionate seminars on including women in computer science that focused on giving us more calculating ways to land salary raises. It was from the endless small talk about food, vacations, gadgets, stock prices, and all the other hedonism you could buy on a Google salary. Regardless of how we might “do justice” with the accessibility classes and GoogleServe days and scrupulously fair evaluations for shy female interns, none of us were truly walking humbly with our God.

Photo by Anugrah Lohiya

Jesus, Isaiah’s prophesied Savior, opens His first great treatise on ethics not simply by praising those who perform righteous actions, but the meek, those who hunger and thirst for righteousness, the merciful, the pure in heart. He doesn’t just call us to avoid murder or adultery or showy philanthropy, but to be patient and eager to reconcile, to be pure, to be humble. Why? “You therefore must be perfect, as your heavenly Father is perfect,” full of love and mercy even towards our enemies “so that you may be sons of your Father who is in heaven.” Jesus is after the transformation of our hearts, our truly becoming God’s children.

Moved by Mercy

These days, I am less focused on building tools that further God’s justice than I am on becoming the kind of person who will build such tools: a software engineer with a heart filled up with God’s mercy. I don’t work at Google, after two internships that paid off all my college debt and the glowing evaluations that accompanied them. I volunteer at a tiny Christian ministry in a church basement, with less interesting problems and technology, far more stress, and all the professional development left up to me and on my dime. But then these are the very things that give me daily opportunities to practice mercy.

In New York, my supervisor was three years older than me and taught me how to write fluent TypeScript and Angular in VSCode (with dark mutterings about the hoary four-year-old JavaScript codebase he also maintained). At my current organization, my supervisor is from an era of C and vim and has me working on a venerable codebase as old as I am (complete with Netscape-compatible JavaScript). I regularly open a new file and have an experience akin to culture shock as I discover a new species of manual memory management or operation-cutting bit manipulation. Then I close my eyes and try to remember that my supervisor has a wealth of knowledge and experience my generation never will and that before I come barging in with my modern best practices, I should give him the benefit of the doubt and work to humbly learn why he wrote things this way. I’m not very good at this right now. But maybe after a few years of practicing the spiritual discipline of not screaming about other people’s code, I’ll be merciful enough to refactor it, not out of fear and contempt, but thoughtfully and wisely.

Photo by BBC Creative

At Google, my coworkers were whip-smart, creative, and ambitious. My former supervisor from New York is now a CEO and a millionaire. At my current organization, most work is done by whatever volunteers they can find, mostly college students on spring break trips or doing unpaid summer internships. Any code I write might go through a dizzying variety of hands without any of the checks of Google’s grueling interview process or automated code quality assurance. I want to learn Clojure, to craft gorgeously terse array reduce functions, to let my code speak with architecture, not with comments. But then I try to step down from my hard-earned tower of self-confidence and remember how it felt a long time ago to also be a nervous intern drowning in things I didn’t understand, and I try to slowly work through building code and documentation that will help someone else experience wonderful flashes of insight, not impress them.

Software always involves other people, when it’s being written in a web of team relationships and a codebase interlaced with many people’s desires, and when it’s sent out into the world to be used and possibly tip the balances toward justice. The story of redemption in Isaiah and Matthew shows that our God loves justice, but He sets it in motion with mercy. The only way I’ll ever have a shot at building software that brings my society a little closer to God’s righteous kingdom is to first be a child of my gracious Father, pursuing a Christ-transformed heart of mercy even in the most fundamental ways I read and write code.

Alison Blomenberg grew up in the Middle East and is now a software engineer at a Christian ministry in Colorado. She enjoys reading and writing speculative fiction when she is not taming JavaScript and Koine Greek for her most recent diversion.

Learn more about FaithTech at faithtech.com.

Want to join the movement? Start here.

--

--