Turadg Aleahmad, a software engineer at Agoric, comes from a deep background in edtech — so deep that it dates back to high school, when he started making web sites on a SPARCstation at UCLA. These days he’s helping Agoric make smart contracts easily accessible for developers working with hardened JavaScript.
He brings with him decades of experience, with a PhD from Carnegie Mellon University in human computer interaction, after undergraduate studies at UC Berkeley. “I did the computer science minor at Cal instead of the major because at the time, the major required a chip design class,” he says. “I was like, ‘I’m never going to do that.’”
Turadg came to Agoric from Quizlet, the San Francisco–based learning tools company, where he was a Director of Product Engineering. Like a lot of coders, he has initiated a professional transition to web3 from web2. For all the radical opportunities afforded by web3, and all the new skills to be learned, there are numerous entry points for software engineers. For Turadg, the open source aspect of Agoric’s work was particularly interesting. As he puts it, “I want to be working on something that people would describe, I guess, as ‘democratized.’”
Where were you at in your career when you joined Agoric?
I was looking to do something new — and around the time I made that decision, I realized I’d been working in ed-tech for around 25 years, dating all the way back in high school. Then I went to undergrad at Cal, where after a few weeks working at Ned’s bookstore I got into a research group that was making software. Using the web was still a new thing at the time, and we worked on a Web-based Inquiry Science Environment in a mix of Java applets and PHP. This evolved into the Scalable Architecture for Interactive Learning that experimented with P2P and a more distributed architecture. Then I did a PhD in human computer interaction and education. I worked at different ed-tech startups, including my own failed startup, Geknowm, and later Coursera and Quizlet. Remote work during the pandemic got me looking for something new. I knew I wanted a talented team that would push me. I was trying to think out what size of a company: Do I want to go big or small? And I realized that’s not really my concern. It’s not about size. It’s about talent density, which Agoric has.
Had you done anything related to web3, or blockchain, or anything crypto-related before taking a job at Agoric?
No, not at all. I was originally very crypto skeptical. I had a lot of friends in grad school who were mining Bitcoin and stuff. At the time I was like, “This seems so silly,” but I was wrong. I did have an interest in P2P. This broadened outside education and into censorship resistance. In the early 2000s, Napster was just taking off, as were distributed hash tables. I did some open source projects around peer-to-peer technologies. Something that attracted me to Agoric was that I am really into open source and open platforms.
What appeals to you about open source?
I’ve always liked, from the very beginning of the web, that anybody could make a website. Even today the best stacks to build a webapp are completely free and open. It’s not always the hottest technology, but it works. When iOS came out, there was this whole new frontier, as there is now with VR, but proprietary platforms don’t interest me. I want to be working on something… maybe the word is “democratized.” Open source gets me excited, that anybody can come in and play and bring their ideas. Smart contracts are a new platform for innovation, and at Agoric I get to bring that to more people by making it more accessible. It’s that open and usable access angle that appeals to me.
What do you do at Agoric?
My title is software engineer. I like that it’s not much more specific. Since I joined, I’ve been working on the contracts for the stablecoin, and the overall economy. My interest in edtech plays a role here, because I am thinking about how we can design the system such that it is accessible to lots of developers. Even then, there’s still going to be a gap, so then the question becomes one of how we teach people to close that gap? That’s a further-along goal, however — for when we reach mainnet-2. The goal for mainnet-1 is to get the stablecoin foundation out.
What’s the engineering team at Agoric like?
I’m really impressed with the people. I work with Dean [Agoric’s CEO] a lot. I haven’t worked before with a CEO who’s writing code and solving engineering problems. That’s pretty cool. Sometimes I’m like, “Do you really need to weigh in on semicolons?” But his mind’s engaged with everything. I have high confidence in our technical execution and how it’s prioritized. And I never worry that we’re not investing enough in engineering. A company that isn’t investing enough in engineering can end up with heavy technical debt. Calculated tech debt is good, but you need your code to be in order in order to be productive. It’s like a kitchen, you make a meal but you can’t keep making them unless you also clean up and sharpen the knives. Having a CEO who understands that and has been the cook and is still cooking — all that keeps the kitchen working well.
As someone who had no real prior web3 experience, do you feel fully conversant in what Agoric is doing?
Definitely not yet. My grokking is below the median in the engineering team. One of the things that was appealing to me about the role is I could come in and there were things where I could add value to immediately, while still developing an understanding of the broader systems. I’m not going from first principles and understanding the crypto space. It’s more of like, “Okay, people are talking about this thing a lot. I need to understand that thing.” And then I’ll go read about it enough to be conversant.
How has work in web3 differed from previous work in coding for you?
There are lots of interesting differences. High level is that you’re programming for a distributed consensus machine, which though it’s still JS has different constraints than a web browser. Deterministic execution is one: thousands of machines have to agree on the state of the synthesized machine. Security is another: any of those machines could be adversarial. And then there’s the distributed nature. To help we use a hardened subset of JavaScript. Programming contracts was also new to me. Here’s an example: If you’re coming from front-end JS, then async could mean your ReST request, which would time out after a second or two, max. But smart contract promises include, “Let me know when the price on this changes,” or when it passes a threshold. There’s more concurrency to think about when it could take a week to resolve.
Did joining a web3 company feel like a “sink or swim” situation?
No, it was much more like “Start swimming and we’ll see where you get to.” That’s what it felt like for me. Also, this is a start-up, and we are responsive to shifting priorities. I came in thinking I was going to be doing developer experience work. And I learned, “Okay actually, the top priority now is this other thing. Are you okay working on that instead?” “Sure, I came here to learn.” I picked this opportunity because I wanted to be pulled in a new direction, to follow the currents and see where it takes me.