A day in the life: Ale Paredes (Head of Engineering, Code Climate)
Code Climate provides data insights into software delivery lifecycles to help engineering leaders remove bottlenecks, identify issues, and maximise the potential of their teams.
We recently spoke with Ale Paredes, Head of Engineering, to understand how she got into the tech industry and what it takes to deliver insights for 100,000 software projects.
What has been your journey in tech so far?
Ale Paredes: Tech has always been an important part of my life. One of my earliest memories is of my grandma, siblings and me playing video games. She had a Nintendo Entertainment System and was an avid gamer before that was even a thing! I was lucky to grow up in an environment where I was encouraged to pursue my interest in the sciences. When the time came to choose a degree for college, Computer Science felt natural.
Before finishing college, around 2009, I was working part-time building mobile applications for BlackBerry and Android using Java and PhoneGap (currently know as Apache Cordova). Building things that others wanted to use was thrilling. In the following years, I went on to work remotely for different startups in the US and Europe.
My focus shifted from mobile to the backend and building resilient systems, which to this day is something I feel passionate about. I moved to US from Venezuela in 2014 which opened the door to new professional challenges and opportunities.
In January of 2017, I joined Code Climate as a Senior Software Engineer. I developed a deep interest in understanding what it takes to empower an engineering team to build amazing products. I transitioned to an Engineering Manager role and later into my current role as Head of Engineering.
What has been the biggest challenge you've faced moving into your current role?
AP: Determining the right level of involvement has been tricky for me. I think this is particularly challenging because a year ago, as an IC, being in the weeds was expected of my role. But in my current role this behavior can often be a blocker for the team.
Fortunately, I'm part of an amazing team that I trust and respect which motivates me to do my best and re-learn certain skills. Currently, I'm focusing on sharing as much context as possible about business priorities, technical direction, and expectation so the team can make informed decisions.
Briefly describe your stack and workflow
AP: Every day, Code Climate's systems are processing a large amount of data from thousands of engineering teams. For this reason, we need a highly scalable and reliable system. We take advantage of different libraries, frameworks and tools to build our solutions the best we can, so I think it makes most sense to share a high-level overview of what our stack looks like.
We host our infrastructure in AWS and use Terraform to manage it. All of our services run in Docker containers. Monitoring and visibility is a crucial part of our development process. Our web application is built using Ruby on Rails and we've recently adopted React for our frontend. Data is the cornerstone of our product so we have an ETL pipeline that takes advantage of tools like AWS Kinesis and stores data in Postgres and Redshift.
In terms of our workflow, we strive to be as agile as possible. The engineering team is divided into smaller pods that have ownership over impactful projects. We do stand-ups every morning. We try to collaborate and share knowledge via pair programming and code reviews. We practice Continuous Integration, Continuous Deployment and Continuous Delivery. The team is releasing improvements or new features multiple times a day. To ensure that we're taking time to look back and discuss how to work better together, we have retrospective every 2 weeks.
What does your typical day look like?
AP: I start my day by writing down what are the top 3 priorities I need to tackle that day. My role requires me to collaborate very often with different departments across the company. For example, meeting with Product and Customer Success to discuss challenges our customers are having and how our product could help. Every day, I also like to take time to do code reviews, because this a good opportunity for me to provide feedback and direction around ongoing projects.
1:1s are a priority for me and I think those are essential to building trust and have a direct open channel of communication. I'll join the team on planning and retro meetings to ensure I'm sharing context, gathering feedback and supporting the team on identifying and implementing ways communication and collaboration could be improved. Also, we're a small engineering team so I have a lot of opportunities to join the team in more spontaneous and informal discussions as well.
Also, I use our own product Velocity on a daily basis. Besides helping us dogfood it, I believe that having data to identify trends (or outliers) is incredibly useful to make better-informed decisions.
What's the best and worst part of your job?
AP: As a leader, you're provided with a responsibility to facilitate the team in their efforts to contribute to the organization. It's very rewarding and inspiring to see that your influence guides the team to: deliver high-quality solutions, learn and grow their skills and ultimately, feel proud and excited about their contributions.
The worst part of the job is impossible to please everyone all the time. Sometimes I'm in the position where I need to make a decision that some people won't like because it will benefit the team or themselves longer term and that can be an uncomfortable position to be in.
What is the best piece of advice you've received?
When in doubt, default to trust. Trust is the foundation of every relationship. This is particularly important to remember and practice when things are not going well. Usually, people are not purposely trying to do a bad job or act poorly. When a difficult situation occurs, it's best to start from a place of trust and empathy.
As leaders, it's our responsibility to help our teammates understand what went wrong and how to improve.
What is your most useful resource (book, blog, newsletter)?
There are many useful resources out there. Some of my must read/follow are:
- Lara Hogan's blog
- The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change Kindle by Camille Fournier
- Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations by Nicole Forsgren
- Radical Candor by Kim Scott
What's one thing you'd like to learn, develop or work on in 2019?
My 2019 stretch goal as a manager is to cultivate an environment that effectively supports a learning mindset within the team (including myself).
We often get preoccupied with day-to-day tasks and short-term goals, but it's equally important to find opportunities to learn.
As a technical leader, I believe it's extremely valuable to motivate and challenge the team to be innovative.