Carter, a Rice University computer science alumnus (B.S. ’15), was working as a General Motors software engineer when he realized he had grown comfortable with his job. He said, “Over time, their internal ordering processes had expanded to a lot of individual systems. My team was creating a central platform of standardized ordering forms to help cut costs. After almost two years, I was ready to tackle a completely different project.”
He applied for a position with Amazon and his hiring manager assured Carter that he did not need to know anything about video ads to be part of the Amazon Video Ads (AVA) project. “They saw my interest in learning something brand new as a good thing. I would be one of the people they thought of as a clean slate, who would ask questions that others might not. The team already had people who knew video ads up and down and they were looking for people without prior knowledge. It was exactly the learning opportunity I wanted.”
When Amazon Media Group advertisers want to target video ads to a specific group of buyers, Carter is one of the engineers providing features that build the selection set for the target audience. He used the shoe market as an example.
“Let’s say a customer wants to reach people buying shoes. What kind of shoes, what price range? When does the customer want the ad to play and in what countries? I help build the features that allow our customers to specify which Amazon buyers should see their video.”
A robotics class in high school first kindled Carter’s interest in computer science. He said he wanted to know more about what happened inside the computer, and what was behind the drag and drop icons his high school robotics course incorporated.
“It’s really just problem solving,” he said. “The term ‘computer’ originally meant the person who computed numbers all day. Then they created a device that could do that faster and the human ‘computers’ might have become obsolete, except that they learned how to operate the machines. The people working with computers continued to identify and solve problems with the new devices, but they were still only solving problems sequentially, one at a time.
“Now, people have learned to use computers to solve more kinds of problems and solve multiple problems at once – parallel computing — so the ideas about how to best use computers have become their own science: computer science.”
At both GM and Amazon, Carter discovered that big corporations often set up internal software development teams to solve problems in the types of work environments typically associated with startups. He said, “Sure, you have to adhere to company standards like regular work hours and accountability across a lot of different areas, but working at Amazon feels more like working in a collection of small teams than a global tech giant.”
His typical day begins with a morning standup meeting for the entire team of 13 people. He also has follow-up meetings with project managers, technical managers, and design managers. Carter said, “You have to communicate what you are working on, the questions you need answers to, what’s blocking you from making progress. Then you code up what you are working on and go into code reviews. There’s something new every day and that’s exciting.”
“Don’t be afraid of code reviews or even asking other people to look at your code. Become your own advocate for better coding. I can’t stress enough the importance of working with a team. New developments to improve your code are vast and deployed rapidly; you can’t possibly keep up with all the advances by yourself.”
He said a good day is when he gets to finish a task he’s working on, because even adding a simple radio button to a page can take weeks or months. Of course, he’s working in a development area, but he still has to communicate change requests to both upstream customers and downstream services.
“We work with the quality assurance team, and do code reviews where you sit down with one or more members of your team to go over the code you’ve written to implement the new feature. They may ask why you did something a particular way and you might need to change the code or use libraries that already exist. Having an extra pair of eyes never hurts.”
When Carter chose to exchange a job in which he’d grown comfortable for one where he had to learn everything, he said he took the risk knowing he had nothing to lose. “I knew I’d build my knowledge in a new area and when I feel like I’ve grown enough in that area, I will find a new realm to explore.
“When you think you are ready to switch jobs, discuss your situation with a colleague or manager. What do you believe you will change or what do you need to grow your career? There are countless jobs out there. It’s up to you to determine what you want to do.
And look for ways to keep learning something new.”
Jayson Carter completed his B.S. in Computer Science at Rice University in 2015.