computer science

The Rookie Software Engineer Who Knows Her Next Job Might Not Exist Yet

Photo: Stanislaw Pytel/Getty Images

Cindy Clark, 22
Soon-to-Be Software Engineer
Cleveland, Ohio

Each time I told people that I’m majoring in computer science, they’d say, “Oh, that is so cool!” I think what they were really saying is, “Oh, that’s so weird! You’re social, and you’re a girl, and you don’t seem that smart.” So it’s nice to be able to say that I’m starting work as a software engineer at Salesforce in San Francisco. I interned there last summer, and they hired me to start full time.

If you think of a software engineer or a “code monkey,” you think of someone very introverted — like, sitting in a dark corner, coding all day, scared of human interaction. There are definitely people who love coding just for the intrinsic value of being able to program. But I’d argue that it’s important to have well-rounded individuals who are able to communicate clearly, who are thinking about who’s going to use this, and what it’s going to mean for the end user. This is a skill I have. This is the aptitude I have.

I have lots of friends who are going on to grad school to avoid having to face working for a company full time and feeling like their freedom is being stolen. I’ve had many jobs in libraries or tutoring, but there was no next step. A career is that path that you’re embarking on, whereas a job is more just where you’re getting the money from. I’m definitely glad this is a career.

When I was an intern, I’d come in to eat breakfast. They have a nice selection of cereals and fruits. And then I’d start working at my desk for about two or three hours. Then we’d have a “stand-up meeting.” The idea is, you’re standing up and everyone will talk about where they are on the projects that they’re working on, maybe any trouble they ran into, and you’ll look at specifics tasks that you’re going to do throughout the day.

Thursdays are supposed to be like our most productive day, so lots of people will work from home.

Lots of times, I’d come in and I’d be the only person there. The idea is that if you don’t have to travel, maybe you’re going to use that transit time to do more work. The whole day, we’re still communicating, working over Google Hangouts, chatting throughout the day, and asking if anybody needs help — or asking for help most of the time, in my case.

We make a variety of software. These tools essentially automate some of these classical business processes, and just take them to the next level. The first one is a customer-relations management system. A salesperson, when they’re selling to someone, wants some way to record all of their interactions — to log their calls, to see in a quick instance how the relationship’s going. What’s cool about the software is that it allows not just the salesperson to see the information, but their boss and then that person’s boss. Then we have a product that, if you call in and something’s broken, it pulls up your phone number, and it goes, “Oh, you’re so-and-so,” and then they’re able know what you have bought, or why you’re calling. Then we have one that helps marketers create a really customized plan of how they’re going to connect.

What’s also really cool is that it’s in the cloud, so the client goes to a browser and logs in. They don’t have to manage the software. We manage it all for you. That was pretty revolutionary when it came out 18 years ago, and it’s still good.

When I started, everyone was using all these acronyms, and you don’t know all of the technologies that you’re supposed to be working with. It’s definitely scary when your co-workers go, “Is this a feature you can implement?” and you’ve never seen the code before, or written in that language. There’s so much code for just one page to run. You really need to pinpoint it. The problem is, there’s not just one thing. You write some code, and then you test it, check how it’s working, and then write some more.

We might get a bug request from someone saying, “This isn’t working how I want it to,” or, “I don’t know why, but when I click this button, it flashes white and then does this.” Our product manager may talk to a client to get more details, but luckily they don’t give them my phone number, so they can never call me when they’re angry about something. There are a lot of steps that the client has to go through before they can talk to my team directly. A sort of typical thing I’d do would be, I’ll go into the code and try to replicate the error — making sure it’s not just their browser or them not knowing how to use the program. Then, I’ll go dig into the source code and find out what’s causing it: Maybe someone had a rounding error; maybe they skipped a line when they shouldn’t have, or exited a loop prematurely, or missed a conditional. You can just be looking at code, not even writing anything for hours.

Everyone on the team is super smart and so accomplished. There’s not like a strict hierarchy, even though we have different job-title-level things. I can ask for help in different areas, and they’re able to give it to me. The team’s made up of the engineering manager, the development manager, and a quality-engineering manager, and then developers and quality engineers. Some people are writing the code, and some people are testing — and then you’ll also have a product manager on the team, who will really have a good understanding of the products, how they’re used in the field, what customers are looking for, and some of the problems customers have with them. They think, What are we going to make next? What are we going to fix? How important is this fix for this one company, compared to a bigger fix that will help everyone with something? We also have user-experience designers who design the layouts for new products that we’re going to make, and a technical writer who’ll work with our team for any release notes, or for the way that we word things on the page.

I think it would be really cool, five years from now, to be working more in the product side. Thinking about what [countries] we want to go into next, how we would pitch our product, and help with the engineering side of moving into a new place. It would be really cool to travel and explore in that role — potentially still doing software engineering and coding.

One area that Salesforce is really breaking into now is artificial intelligence. I think if I moved over to the Einstein branch, that’s what we call it, I think there are jobs that I can be doing there that don’t exist yet. Just seeing how we’re going to use predictive technology to help the business world, there are so many applications there that haven’t even been explored. I want to get a lot of experience building full systems, it’s not just about the layout, it’s also about efficiency and network times and lots of other things.

Even though I’m not a doctor helping sick kids, I still feel like I’m doing something good in creating programs that help people, and knowing that I’m working at a place that values volunteering and philanthropy and diversity and equality. We have a one-one-one model, so we give one percent of our product to nonprofits, and we give one percent of our time, and we give one percent of our profits. So we give money, we give time, and then we also have 40 hours each year to volunteer. Right now, I’m volunteering with and mentoring a group of girls who are learning to code.

I grew up knowing that you didn’t have to love what you’re doing. Sometimes, it’s important to make money and be able to have a positive life outside of work. My dad and my mom worked, and maybe didn’t do what they love all the time, but we were able to have really great family memories outside of those work hours. We talked a lot in our family about how it’s not how much money you have, but how you use it. We don’t like to buy fancy clothes and fancy shoes and fancy bags. We like to go to crazy cool places and spend time together.

Growing up, we got an allowance, which was split into different categories. A certain amount, we could spend right away. A certain amount had to be put into savings. And a certain amount that we had to donate. We got to choose where we wanted to donate.

I have a Roth IRA that I deposit into every year, and I download lots of those little stock apps, like Robinhood or Stash, and I would put like 20 bucks in and see what I can grow. I definitely want to invest in a mixed allocation fund. I don’t think I would invest in property. I don’t know if you’ve heard, but San Francisco is a little expensive for a new hire to be investing in property.

The Engineer Who Knows Her Next Job Might Not Exist Yet