“If anyone had asked me as I was graduating, ‘Do you want to work on a mobile SDK?’ then I probably would have answered, ‘I don’t know’ because that’s a pretty niche area.” Rice University alumnus Salvatore Testa (BSCS ‘14) said, “I ended up working on software development kits (SDKs) because I got to try a lot of other things at Square first. I moved around more for curiosity than anything else.”
Testa was not curious about Rice at first. He expected to attend another university until he tagged along on an unofficial tour of Rice with a friend visiting a sibling there. The residential college system intrigued Testa and he began paying attention to the kinds of side projects his friend’s older sister was tackling while home on breaks.
“She’d be working on something like a program for RiceTV and it seemed there was a lot of agency for students to work on cool things of their own choosing,” said Testa. “There was all this energy and yet everyone was super nice, plus the university had a reputation for academic rigor.”
He found similar aspects—agency, energy, rigor—at Square, where he first interned and then worked as a software engineer for five years.
“I enjoy learning new things and Square is a company that provides many opportunities to move around, change teams, and learn new things. At Square, I got to build all sorts of projects: a Salesforce integration, a merchant loyalty UI, a machine-learning based pricing tool, and mobile SDKs for 3rd party developers. That is a very wide range of assignments, and I got a lot of value out of always moving, taking a sort of engineer’s tour of Square.”
He said he ended up spending most of his time at Square working on mobile SDKs, and that experience led to an opportunity with a new startup, Persona.
Co-founded by Rick Song—another Rice CS alumnus and former Square engineer—Persona provides a set of tools that allow businesses to verify their customers’ identities.
Testa said, “I came to Persona because I already knew a lot of the team. Also, I think I’d like to start my own company at some point. Do I want to bootstrap or take on VC funding? Those are very different strategies, and joining a small company in its early stages allowed me to get a read on how it all works.
“Financially, it was a good time to take a risk—and it turned out not to feel risky. We aren’t taking any pay cuts in exchange for a promise of maybe one day striking it rich if we do things right. And if this doesn’t work out for me, I can still get a job elsewhere. In addition, the product space, identity verification, made sense to me.”
Many software engineers who join startups get excited by cryptocurrencies that require a lot of VC funding and trust in a new investment network – or in new social media where a broad user base is required before clear progress on the platform can be measured. Testa felt drawn to a space where he could be part of solving individual simple problems that contributed significantly to the more complex aggregate solution.
He said, “In Persona, each individual slice, each issue we work on, is simple and understandable. But putting them all together to make a cohesive platform turns out to be difficult and interesting work. And that is satisfying to me.
“In a small company, I can take a lot more ownership. I’ve gotten to design a mobile SDK, hire a contractor to help me build it, then launch it and get feedback from other companies. It’s also me who works with their feedback to make sure what we’re building meets their needs. Releasing new versions of the SDK, and making sure people can download it—jobs I handle at Persona—were steps in an overall process and handled by other teams at Square. At Persona, there are not that many of us so we all get to—or have to—learn to work on a wide variety of projects and responsibilities—tasks that at a larger company would be outside your domain.”
Although he has found his own sweet spot at Persona, Testa does not recommend small startups in general for engineering interns or new grads unless they know upfront they are not going to receive as much mentorship because engineering time comes at a higher premium. Based on his own experience, he said mentorship is one of the most valuable perks found in established organizations. Square assigns interns and new grad hires both a team mentor and a side-kick, an employee who can answer general questions like how to navigate the company or how Slack is working.
“Take advantage of opportunities to engage in mentorship,” said Testa. “It was really valuable for me early on when there were so many things I didn’t know. A mentor helps you learn from their insight, and companies with resources like a mentorship program can help you get further along, faster.
“New grad hires and interns can ask a lot of questions and you should. Everyone expects you to not know a whole lot in the beginning. Throughout your career, you should be able to ask questions and expect answers, but experienced engineers are particularly open to sitting down for coffee or tea with a new grad or intern. Invite them for a quick chat and don’t be surprised when they accept your offer and answer your question. I had the chance to reach out to the Effective Java author, Joshua Bloch. He accepted my invitation and I got to talk to him and pick his brain on Java systems. It was super cool.”
In fall 2020, the opportunity to pick anyone’s brain over coffee or tea would be a welcome change. Testa said although everyone is actively contributing from home in the midst of the COVID-19 pandemic, he looks forward to an eventual return to the office and the natural spike of energy that occurs when Persona’s small team is working in the same space again.
“A good day would be when everyone is here,” said Testa. “All kidding aside, a good day at work is a balance of knowing what you’re going to do in advance and doing it and also ensuring others are having a similar experience getting to do what they set out to do.
“At Persona, each engineer is assigned to be our point of contact for different companies. When our customers are first integrating, they often have a lot of questions. Maybe the answer is in our documentation but they haven’t found it yet. Or maybe they have a new feature request. I have to balance working on my own scheduled tasks with watching Slack to see if anyone is having a problem and checking to see if there are errors, then tracking down what’s happening if there are. We continuously prioritize tasks as the situation changes.
“So if I am getting to do the things I want, and my co-workers can do what they want, and our partners who are using our platform can do the things they need and want to do—well, that’s a really good day.”