This is a guest post by Kelly Goodall, lead people partner at Classy.
Classy’s software engineers are the beating heart of product offerings.
Like in any tech company, software engineers transform dreams often developed on a post-it or whiteboard into a virtual reality. At Classy, software engineers are the reality-makers behind the dream of building a world-class product that fulfills Classy’s mission to mobilize and empower the world for good.
While many understand that software engineers work with computers and build out code, there is so much more to their job. The work is complex and can vary greatly from engineer to engineer. To share more about what happens behind the scenes of building out Classy’s product and servicing the nonprofit organizations we work with, I sat down to speak with Amin Tahriri and Eloise Terry, two of Classy’s amazing engineers, and discuss what it’s like to be in their shoes.
Amin is an engineer on our Donor Experience Pod. This “pod” is a group of folks from our engineering, product design, and product management teams. Eloise started with the Classy team after we entered the full-time remote environment due to COVID-19. We started the conversation with the basic question—what do you do?
A Glance at Pod Structure
Eloise: I’m on the Organization Experience Pod (also known as the Org Pod). We’re tasked with building and supporting any customer-facing software that Classy provides. The main piece of this is Classy Manager, where our customers can manage their Classy campaigns and fundraising data. But we also dabble in supporter engagement and Classy Pay Admin, and occasionally other pieces of the product depending on needs of the product management and engineering teams.
Amin: I’m a software engineer on the Donor Experience Pod. As the name suggests, my pod’s focus is ensuring the best experience possible for people who contribute to one of our clients’ important causes. I help create and maintain software applications and services, which involves designing new software components, investigating issues, and writing code. In addition, I contribute to maintenance and continuous improvement of our tools (e.g. automation, logging and monitoring, etc.).
Kelly: Very cool. So how do the pods work exactly?
Eloise: Each pod operates fairly independently from the others so we each have all the resources we need for our day-to-day work. The Org Pod has a dedicated product owner, three developers (including myself), and a test engineer. We also welcome two customer care representatives who give us insight into our customer needs and wishes.
Of course I have no bias, but the Org Pod is truly the best pod at Classy. To function among the chaos that is product development, we’ve found a good balance between hard work and social time, like Zoom happy hours while we all work remote. We set a standard of transparency and accountability within our team that allows us to work swiftly and efficiently.
A Day in the Life
Kelly: Sounds like you all have found a way to really develop a strong team mindset and work style. How do you begin your day?
Amin: I usually start my day by checking messages on Slack. My favorite channel is one where colleagues post photos of their dogs. With furry cuteness out of the way, I join our pod’s daily standup meeting to catch up with my team.
Eloise: I recently got a full standing desk at home, so my first thing is to jack it up to standing so I can move around and wake up. I’ll make some tea or coffee, check my calendar, and scan emails to get an idea of what the day will look like. If other Org Pod folks are online, I’ll shoot them a good morning message and then get to work!
Kelly: Everyone loves a little cuteness and coffee in the morning. How do you typically break out the rest of your time after the stand up?
Amin: A rough breakdown of my role would be about 20% investigating, research, and design; 15% having discussions and meetings;15% peer review; and 50% development.
Eloise: I mostly break my time out the same way.
Kelly: So you all spend quite a bit of time doing things outside of just coding. How do you keep it all organized?
Amin: At Classy, we use agile methodology with two-week sprints. We hold three scrum ceremonies every sprint to discuss and point tickets in our backlog, review and reflect on the previous sprint and discuss potential improvements, and plan our next sprint.
Eloise: Practicing agile software development essentially means our customers are continuously seeing improvements in our products, and our team can make adjustments as needed rather quickly. At the beginning of each cycle our pod meets to put together a list of about two weeks’ worth of items. We’ll spend the next two weeks developing, testing, and iterating on that work before it gets released to our customers. Then we meet to reflect on the cycle and identify areas we succeeded in and those we need to improve on.
Practicing agile software development essentially means our customers are continuously seeing improvements in our products.
Challenges and Enjoyments
Kelly: What would you say is the most difficult part of it all?
Amin: I’m most comfortable when solving problems rigorously and with precision, but not every aspect of the job is conducive to this type of approach. In those cases, I sometimes struggle with or second-guess decisions. An example might be when I’m prioritizing between tasks that deliver immediate business value versus tasks that improve our platform long-term. Thankfully, I can always rely on help and direction from more experienced engineers and product managers.
Eloise: Often, we have competing priorities between what our team wants to accomplish, what the company hopes to deliver, and what our customers have asked for. Being a small team means we can work fairly seamlessly together, but it also means we’re limited on what we can do in a given timeframe.
Kelly: Teamwork makes the dream work, right? To ask the opposite question, what are the things you find most enjoyable about your role?
Eloise: Problem-solving is my favorite activity, and software engineers at Classy do a lot of problem-solving. The products we provide are very complex and we have a small engineering team behind all of it. In order to succeed, we really have to work together, which is my favorite way to work (that sounds corny, but it’s true). Even though we’re all remote right now because of COVID, our team still meets every day to connect, and I’ll often spend several hours on video calls with teammates working on problems together or asking for advice.
Amin: My favorite part would have to be learning. At Classy, we have many different services and applications using various technology stacks. Plus, we’re always upgrading and adopting new technologies. There’s a lot of opportunity to learn and improve.
Kelly: “Always be learning” is one of our Classy core values, and it sounds like you’re definitely applying it to your work regularly. So my last question for you two —why Classy? What is different about working here compared to your previous companies?
Amin: I feel the Classy engineering team offers the benefits that one might find at a startup, as well as benefits of working at a large company. There are definitely opportunities to contribute to the platform in a major way while existing processes and structures help making those contributions easier and more fun.
Eloise: I feel like everyone says this, but the people. You’d be hard-pressed to find a company whose employees care about the success and happiness of their customers as much as we do at Classy.
You’d be hard-pressed to find a company whose employees care about the success and happiness of their customers as much as we do at Classy.
Kelly: Thanks for your time today, Amin and Eloise. I loved learning more about what happens behind the scenes, and think other folks will find it interesting too. We appreciate all the work you do here at Classy to make our product better every day!