This article originally appeared on Sprout Social.
Here at Sprout Social, we put a strong emphasis on helping employees grow: as new professionals, as managers and as part of the team. It’s particularly rewarding to see the growth of team members for whom Sprout is their first job out of college.
Alex Camargo, a Software Engineer on Sprout’s Platform Team, graduated from the University of Illinois Urbana-Champaign in 2014 and started working at Sprout shortly after. He is a member of the Infrastructure Squad, which makes tools to help other developers work better and faster.
As we look forward to hiring more college students for software engineering roles and internships this summer, I thought it would be helpful to share Alex’s reflections on the transition process from college to his career at Sprout. In this Meet Team Sprout interview, he talks about the experiences that best prepared him for his current role, explains how he’s grown and offers advice to future software engineers.
Name: Alex Camargo
Started at Sprout: September 30, 2014
How did you develop an interest in engineering?
My high school was unique in that it offered a good amount of computer science courses. I took one sophomore year and I really liked it—it didn’t even feel like work. When I was thinking about college my senior year, I looked back and thought about what I enjoyed doing the most. That was it. So I went to the University of Illinois for computer science.
Was there a particular course that best prepared you for your work at Sprout?
There was one, CS242, that prepared me the most for what I’m doing now. We wrote a ton of code, tried different languages and worked on a bunch of projects. It wasn’t focused on something like, “What’s the math behind this algorithm?” Instead, the course revolved around things like, “How do you write good software and explain it to other people?”
Every week we would present our work to the rest of the class and get feedback so we could improve. That’s exactly what we do at Sprout.
When you were looking for post-graduate jobs, what stood out to you about Sprout?
When I was looking for a job, I considered tiny startups and giant companies. They each had their tradeoffs. I wanted to choose a place where I felt like I’d learn the most from smart, friendly people. I researched Sprout and saw that it had been named one of the best places to work for people in their 20s, and it seemed like a young and exciting company.
Working at Sprout has been even better than I thought it would be. Everyone cares about their job and wants to do things the right way. You don’t want to just hack out a bunch of code and submit it. The problems we tackle at Sprout are more exciting than that.
Once you joined the team, were there any resources at Sprout that helped you transition from college into a full-time engineering job?
Yes! I was paired with a mentor, he was a Senior Platform Engineer. I was surprised—I looked at my calendar and they’d scheduled us for a meeting every morning for an hour. Every day, he’d give me feedback. We’d go over what I had worked on or the next part of a project. He had been at Sprout for a long time and had written a lot of the code, so that was a big help.
On the engineering team, we work in squads. I’m on the Infrastructure Squad, and it’s very collaborative—you get feedback and opinions from team members with different experiences and areas of focus. For example, one person might have a big focus on initial design and requirements, and someone else might focus on testing. Hearing those different perspectives is huge, especially as someone who recently graduated from college.
Before you started here, were you familiar with Sprout’s programming languages beyond Java?
Yeah, I got lucky. Right before I joined I did some work for a nonprofit. Their website hadn’t been completed by the group before and they had trouble taking in payments. It was the same technology we use here, Python and Django. I picked it up and learned a little more Python, made some improvements, got it to work, and that was really helpful, especially when they asked about those languages in my Sprout interview!
How have you grown in your time at Sprout?
Personally, it’s a lot easier to know when to ask questions now. Knowing when to stop and ask for help, when to Google a question or when to try and work on something yourself is important.
Working at Sprout is like learning how to walk with professional software. These are hard problems; it’s not like an assignment in college–there are no guidelines that someone gives you. It’s not that difficult to write some code in Java and get something to work, but once you put it in production it handles all these different inputs. Making your code production-ready and having it run on a server 24 hours a day is something entirely different.
So far, what has been the most rewarding project you’ve worked on at Sprout?
Probably my first project. I thought I was going to be doing a small project, but instead I jumped right into the main code base and wrote something useful with my mentor. That was the project I learned the most on. We worked on it for a couple months. It was writing a new way for us to get data from Cassandra–our main database. It was a good, wide-ranging project.
Since I worked on it with my mentor from start to finish, it was a good way to learn how to approach a project: how to start a project, what you need to think about ahead of time, etc. It had to be running 24/7 and handle all of the traffic that we get. We did the deployment for it and taught other people how to use it. It was like a crash course in Sprout.
Now you interview candidates—speaking to prospective interns and college hires. What characteristics do you look for?
When we interview college students, one of the big things we look for is whether they’re enthusiastic and they like doing what they do. You see a lot of those characteristics from their side projects. Do they enjoy coding, do they do this in their spare time?
It’s also important that they can explain their thought process step-by-step, because this translates well to when they work on a team with them. It doesn’t help if someone just puts a solution on the board: I need to know how they got there and that they can explain why they did. They also need to be able to learn quickly on the job, and taking feedback is an important part of that.
If you were to give advice to a college student who wants to become a software engineer, what would you tell them?
Just be enthusiastic to learn. Be curious. Have side projects. It’s through side projects that you learn what type of work you want to do: if you like working on the back end or front end—there’s a big difference between the two. You learn what types of technologies you like working with, too.
Speaking of side projects, what do you like to do outside of the office?
Combat sports. I’ve done Brazilian jiu jitsu and boxing. Right now I’m doing muay thai and kickboxing.
I like to read, too. Right now I’m reading “Rise of the Robots” which is about how automation is going to affect everything in society and change education. Since that’s a field I work in, I like seeing the trends and where it’s going.
How would one of your best friends describe you?
Probably adventurous, easygoing and dependable.
Do you have a bucket list? What would be the top item on your bucket list?
When I studied abroad, I got to travel around Spain a lot and stay in hostels. I did running with the bulls, and we met a lot of travelers. That made me want to take a few months and backpack across Europe.
You never know exactly what you’re going to find while traveling but I’ve found that it’s usually a good surprise.
If you’re a current college student, learn more about Sprout Social’s college hiring program and past interns, and see all open roles for engineering internships and full-time positions on our careers page.