Johnny Clegg, one of South Africa’s most influential musicians of the 1990s, has died. The news broke on Tuesday, however Clegg has been struggling…
When building technologies that can change the course of history and reshape mankind, team work is pretty important. In a place like Google, where many such technologies are being built all the time, the engineering teams responsible for them should be working together.
Google senior engineer Petra Cross agrees. After joining Google in 2005, Cross spent four years developing software for evaluating the relevance of Google’s search algorithms and another four years developing for and tech-leading a team at Gmail. She is currently working on a Google Wallet front-end server in San Francisco.
Cross, who will be speaking at the Tech4Africa conference in Johannesburg this week, argues that skilled individuals within an engineering team need to be able to work with a variety of people.
She says that the key to a hit product is having the right people working on it. Even if a bunch of geniuses work on a product, she argues, if they do not work well together it completely defeats the point.
Memeburn: What are some of the core challenges that engineers can face when working on one product?
Petra Cross: People who do not know much about software engineering might be surprised to hear that software development does not consist of only writing new code. In fact, software engineers spend a lot of their time writing tests that verify that their code actually works as expected, deploying their servers to run in a distributed fashion, tweaking server configuration to be able to load balance a huge amount of traffic without running out of hardware resources (CPU, RAM), debugging issues with the existing code that is running in production and serving live traffic to real users, working on monitoring and alerting tools that allow us to be confident that the services are running smoothly, etc.
In addition to these general challenges, every type of product has its own product specific or environment specific challenges. Mobile development, for instance, has a very unique set of mobile specific limitations. Engineers need to support multiple versions of client application that are out in the wild. It’s not uncommon to see requests coming from apps that were installed on the mobile phone two to three years ago. There are many ingenious ways to create “future proof” mobile APIs, but there is no one perfect solution, and often “min versioning” (forcing user to update their app to a certain minimum version) is the only solution we have left. API versioning is one of the main challenges that every mobile product faces. As you can see, we deal with challenges on a daily basis and it’s quite fun to come up with the most simple solutions for them.
MB: We’re guessing there is a bit of a power-dynamic to the relationship with the engineers. How do you manage those relationships?
PC: Like in any professional organization, you need to use your soft skills to be able to work well with a variety of people. I have been fortunate enough to be able to pick a product and a team I wanted to work with. I have made many lifelong friends at Gmail for example.
MB: How important is leadership for an engineering team working on innovation?
PC: Leaders make a huge difference on the ability of the team to deliver products and the speed they do that at. The leaders software engineers work with most often are their immediate tech leads, engineering managers, and product managers for the features they are currently developing. All of these leaders need to be in sync with each other in order to keep the rest of the engineering team unblocked, to keep product requirements clear, and to communicate efficiently between multiple engineering teams that work on the same product.
MB: What is more important when it comes to innovation: the technology people are building or the people building the technology?
PC: Both. If you are building a technology that the world does not want, it does not matter whether you have a group of geniuses working on it. If you are working on the perfect product and don’t have the right people on the team, your product will never be good enough to become a hit. You need both, good people and good idea.
MB: What’s your favorite feature of Google Wallet?
PC: My personal favorite is “Send Money” feature. I use it to send money to my friends when we split restaurant bills, etc. I do not need to remember who owes me and whom I owe.
MB: You’re a bit of a technophile. If you had to give up all your devices except one, which would stand the test and remain?
PC: My Android phone. It’s a great computer. And I do need a computer.
MB: What’s your favorite Google service?
PC: This is a very hard question. Gmail is definitely up there along with Google Drive, but I use Google Keep a lot as well as Google Shopping Express (same day delivery service) which saves me lots of time and allows me to shop any time of the day.
MB: People seem to think women don’t want to get into technology, do you think that is true?
PC:The numbers speak for themselves. Fewer women than men choose to study science in general. We know that women are likely to choose a different industry, but the question is why they do that. There are many theories about whether this is nature versus nurture. I personally believe that there is lack of informed decision-making during this critical time when students are selecting their major.
It has been proven that women make the deciding career choice around the age of twelve. Their decision is based on what they already know about various industries. Unfortunately, twelve-year-old girls know very little about the careers in engineering, what it means to be an engineer, what it’s like to be an engineer, and especially what it’s like to be a female engineer. Everyone knows what doctors do, what lawyers do, what drivers do. We’ve seen these people do their job and have some idea what it’s like to be in their place. We even see these people on TV — just think about how many movies and TV series about doctors or lawyers you’ve seen in your life. But how often do you see a movie about computer scientists doing their day-to-day job — which believe me, is quite exciting but it’s hard to show what’s going on in one’s head. Young girls need to get a good glimpse into what it’s like to be a software engineer. Once they see it, their attitude towards the industry will change dramatically.
MB: Tell us a bit more about your work promoting engineering among young girls.
Some of my female coworkers and I got involved in mentoring middle school girls and showing them what we do. I also met up with high school girls that were in the process of selecting a field of study, described to them my day-to-day life as an engineer, and answered any questions and concerns they had. Another good way to introduce girls to computer science is to offer programming classes in middle schools or even earlier, and also let them get involved in fun school projects that require programming.
Image: Darlene Hildebrandt