Body

Syd Polk Returns to Software Engineering

Rice CS alumnus Syd Polk is now an Indeed software engineer.

Rice CS alumnus Syd Polk is an Indeed software engineer.

Syd Polk is a senior software engineer with Indeed.com, but halfway through his career, the Rice University Computer Science alumnus (B.A. ’88) found himself sandwiched into a niche he loathed. This is the story of how he turned himself into a software engineer again.

“When I realized I needed to jumpstart my career, I remembered having already survived another tough time — finding my feet as a CS major,” he said. “I transferred into Rice CS from the University of Miami, where I’d had a jazz saxophone scholarship.

“My core requirements were met with my Miami credits, so I could dive right in and take multiple COMP classes in the same semester. But the degree plan wasn’t really set up for transfers and I took some classes out of order. It was a rough start.”

Polk’s rocky start also included hospitalizations and the divorce of his parents. But he had discovered he was a very strong programmer, and he met a woman who changed his perspective about homework.

“The most important course for me, for any CS student, is algorithms. If you plan to reinvent yourself as a developer, start by improving your understanding of algorithms. Knowing algorithms changes how you write your code, for the better. And every tech company includes algorithm testing as part of the interview process,” said Polk.

“I didn’t actually learn how to take relevant notes and do my homework until my third year at Rice. I was chasing a woman, and she led me to a group where I learned how to study. Study groups are not about copying someone else’s work, but talking through how we approach problems and what solutions work.

“That opened my eyes about how to work in group dynamics, the importance of getting homework done no matter what, and how to challenge a grade you don’t agree with. Even though we lost touch later, she was a tiger. I was not as smart as she was, but her work ethic rubbed off on me, and that saved my career. I never again took a hard course – Math, CS theory, etc. – without finding a study group.”

Polk worked as a programmer for eight years, including what he called a ‘death march’ for a startup that left him burned out. Then he moved into technical leadership and management roles and enjoyed the new challenge of leading teams, until an employer discovered Polk was very good at Quality Assurance and automating processes.

“That was a mistake for me,” he said. “QA is hard, and those people are worth their weight in gold. But I hated it, and spent the next 10 years fighting to get out of it.”

Although he could easily find work in QA and automation, he taught himself iOS programming on the side to prepare for a new job search. He felt his coding was significantly out-of-date, and iOS had become increasingly relevant. When Rice CS professor Dan Wallach gave Polk a book on iOS programming, he read it cover to cover and tackled the exercises. He found side projects to continue improving his iOS programming skills, and then he began pitching himself into new jobs.

He said, “Finally, work was fun again. In QA, I had been in a reactionary role. Now, I was getting to create software solutions again. But I also had to relearn how to work in a software engineering team. I tried several companies as I searched for the right fit, then started working as a senior software engineer with Indeed.com in 2016.”

Polk said the practice he’d learned at Rice – -of solving hard problems over and over again in a group — had been critical to developing his strong work ethic. He believes group work in college is instructive for industry, where engineers have to work with other people whether or not they like them.

He said, “You have to learn from the good people, teach the people with talent, and figure out how work with all the others. Maybe you can teach them how to be good, too; and maybe they teach you to be better.

“My arrogance can get in the way of communicating with upper management. It’s important to value your own deep knowledge, but you also need to recognize when you aren’t the expert. Ask questions of your co-workers, and be approachable when they have questions. Having those really good exchanges of ideas helps everyone grow, and helps make the product better.”

His advice for current and prospective CS students is also applicable for technology industry employees who want to change directions: own the math, do solid work in relevant platforms, and be authentic.

“Know your algorithms, and code, code, code. Put your code in GitHub where it is public, where people can see it. Find open source projects to work on, starting with things that need to be fixed to get your feet wet. Keep coding on the side, even if your current role or courses aren’t requiring it. I learned how to do that when I reinvented myself, and coding on the side still helps me keep my skills up to date,” he said.

“Once you’ve mastered algorithms, practice with HackerRank. Practice whiteboard questions. But if you are in an interview and they give you a whiteboard question you’ve already seen, you need to tell them. If they give it to you anyway, that’s on them. If you don’t tell them and you reproduce an answer like everyone else’s, they will figure it out and assume you are cheating. You will be dropped out of the interview process immediately.

“Doing authentic, original work on the whiteboard is more important than swiftly writing out an elegant solution. Unlike grades, technical interviews can still be successful even if the whiteboard problem doesn’t get solved. The interviewers are more interested in how the candidate is approaching the problem. Going off track isn’t necessarily a deal-breaker if the candidate can explain where they are headed and why.

“We want to see how you think when presented an unknown situation, not how well you remember and regurgitate what you’ve done before or seen other people do,” said Polk. “And in all situations, be respectful. A little arrogance won’t kill you; a lot of arrogance will.”

He’s interviewed a lot of software engineers and his appreciation of his own Rice CS experience has increased over time.

“You can bank on your Rice CS degree. For 35 years, it has been an incredible investment for me. I’ve met alumni from other schools and found they were all missing something. Rice has one of the best CS programs in the country and almost no one outside Austin and Houston knows it. Particularly in the undergrad CS program, Rice stands out. You can build strong CS fundamentals at other schools. The difference at Rice is, while you are building that foundation, they require you to code your ass off and that’s all good.”