In conversation with
How the CTO of UPchieve has combined his loves of tech and education
The many lives of David Sudia
Hi, my name is David Sudia. It feels like I lived a few lives before getting into engineering. To start with, I have ADD and bipolar disorder, which made it very hard to do well in school. I ended up dropping out of high school after sophomore year but took the California High School Proficiency Exam so I could get my diploma from the state of California.
After that, I jumped around for several years believing that I was bad at school in general, but I still wanted to get an education. I ended up getting my bachelor’s degree from the University of Phoenix, not exactly the most traditional, but they let me do a bachelor’s degree from scratch. I did classes at night because I was working full time, and I graduated in 2009 with a degree in marketing right into the recession. I learned from completing my degree in marketing that I didn’t want to do marketing, but that kind of worked out because it was pretty much impossible to find a job in marketing at the time anyway.
I decided that I wanted to try and improve the lives of kids like me who struggled to do well in school, so I applied to a program to teach special education and I got a master’s in special ed. I did special ed for seven years, and during that time I was in the process of getting a doctoral degree as well.
However, while having a conversation with my advisor when I was teaching in the Boulder Valley School District (the highest paying district in Colorado) I told her that when I graduated, I would have 10 years of experience and be making $70,000 a year. She immediately went “Wow, that's way more than I make.” She was a tenure-track professor at the University of Northern Colorado.
As much as I loved working with kids and in special ed programs, I didn’t want to take a step forward to take a step back career and salary-wise. After that rude awakening, I tried my hand at administration and took a job with the charter school network, but after that didn’t work out I only had a job offer that was a pretty stiff pay cut and about two hours away. It was very much an “OK, what do I do now?” moment.
Transitioning to a career in coding and DevOps
When we learned about testing, I realized it was just like making a behavior plan for software, and I had half of a PhD in that already! Even though I knew I wasn’t going to immediately become the best engineer ever, I knew I at least had a grasp of the context around it.
My first job was at a company called Fanatics, and I started on the team that was writing their end-to-end test platform. I raised my hand as someone who wanted to learn about Docker, AWS, Cloud formation, and different development tools. Around mid-2017, I got so good at the DevOps side of things that I got headhunted for a DevOps role by a friend of mine. I started there in early 2018, and then I just took a new CTO role with UPchieve, an education-based nonprofit.
Applying past learning to engineering
One of the biggest influences from my past work in education is having more of a long-term mindset when confronted by new challenges. I was used to working on timelines of about five years when planning curriculums to get children from kindergarten to middle school. To make any kind of change in public education, you have to get approval from 30 different departments, and it’ll take about five years to pass a new policy or legal change. You have to wait and bide your time to see a bright idea pay off. In contrast, in tech, it’s based on the mind frame of getting a big thing done in two weeks. If you can’t get it done in that amount of time, then why are you doing it in the first place? It’s not like I’m the only one who thinks this way or that it’s better, it’s just the way my viewpoint is skewed to plan for the marathon over the sprint.
Scaling a team at GoSpotCheck
Scaling at GoSpotCheck was more of a challenge because of the decentralized way the company was set up. Teams were largely allowed to use the tools they wanted and build things the way they wanted to build, which was excellent for autonomy. This was fine until we needed to integrate as we started to grow, so we instituted our own standards to operate more efficiently.
We also had an awesome VP of Engineering who helped different teams recognize shared goals. Overall, he was always trying to build people’s sense of responsibility, which fit in perfectly with the decentralized organizational style we had at GoSpotCheck. Having these conversations took a year, but for that year we were able to collaboratively build our standards, how we wanted to inter-operate, and how to agree on processes to integrate new technologies.
One of my main roles in this process was running working groups with different people from each engineering team to set our new parameters. The entire company would have been completely different if we were more of a top-down organization, but we were able to scale out in a decentralized manner by getting people to agree and realize that all viewpoints would be represented in one shape or form.
Operating efficiently as a decentralized company: find your medium
My main piece of advice for people who work within a similar organization is to find what channel or communication medium works best for your team. When we all had to work from home because of the pandemic, that opened us up to a new realm of communication platforms. I switched a couple of the groups to a tool called Twist, which is like an old-school web forum with the facade of Slack. It’s focused entirely on posts and threads and therefore focused more on asynchronous discussions. It lets people walk away and come back with a reasoned opinion, as opposed to being in a real-time meeting where you have to come out with a strong opinion on the spot. The decisions were also well documented, so you could see how the whole team reached a decision. It helped cater to all communication types, and we had better discussions with more input across the board because of that.
Becoming the CTO at UPchieve, a tech nonprofit for students
One random day in September, I dropped my five-year-old son off at school in the morning and was on my way home. Home for me is an 1,100-square foot apartment for my wife, my son, me, and our very large dog. For some reason, I walked in, and I just could not go back to my desk in our bedroom that day. So I let my boss know I was taking the day off, and I went to the park and played basketball for a few hours.
This was a moment of clarity for me. At the time, it was clear that GoSpotCheck was moving towards permanent work from home. I realized that if I was going to be in my room all day every day in the foreseeable future, I had to do something more meaningful to me.
I started poking around, looking for nonprofits to contribute to and I found UPchieve, which was exactly what I wanted to be doing. At UPchieve, we provide 24/7 one-on-one tutoring in math and science and also college counseling for low-income high schoolers on demand. We aim to help the kids that might have to work a part-time job, help out with their siblings, or have parents that don’t know calculus. On our site kids can hop on at any time and request help from a tutor. We then ping volunteers to take on the session and they are both connected with a whiteboard and chat so the student and the tutor can collaborate.
When it comes to volunteers, we have current and former teachers, high school students getting volunteer hours, and more. We’ve had a huge influx of new volunteers during the pandemic so far. It’s nice because it’s a lot of older people who have been isolated, and this was a way for them to feel fulfilled and have new, safe contact with people.
One guy spent the last six months buying new textbooks to relearn calculus so he could better teach students because he hadn’t done some of the math in over 40 years. It’s a wide range of people, but it's amazing to see them all get behind the same goal of helping others especially during hard times like these.
This work and this company encapsulate so many parts of my experience working at primarily low-income schools, working with kids with disabilities or who needed extra help, and my love for working in tech. I didn’t know if I could be a CTO, but this is something I am truly passionate about and since the company is open source, I’ve already been able to contribute. The foundation of UPchieve was built in hackathons and meetups, so it has always been open source by nature. We continue to solicit assistance from the community, so we operate in GitLab and I think we’re gonna stay open source. You can find us here so if anyone wants to contribute, please drop by.
Establishing a hybrid tech-nonprofit
Even though I’m diving into the role of CTO for the first time, I get to bring in my experience around code quality and scalability and put my money where my mouth is. This is the first time I’m coming into an early-stage team where I can have a real influence on how we write our code and such before all the compromises are made and the direction is set in stone. The apps are written, but we have yet to establish large codebases. I’m trying to bring in different principles for us to work around, like going slow to go fast, different things I’ve always wanted to test out.
There is still a lot I am constantly learning about what constitutes a nonprofit and the trials and tribulations that go along with it. One example is that educational foundations that grant money to nonprofits like us always want to see how we are turning a kid’s life around, with quantitative data like more traditional education nonprofits can provide. These are more focused on one on one interactions, but we are looking to impact millions of low-income high schoolers for just one or two hours a week. While there is a lot of research on the efficacy of one-on-one tutoring, we need to prove our value as a hybrid tech startup/nonprofit.
We also rely on corporate partnerships. They pay or donate, and we provide an expedited onboarding process and priority when picking up students who ping the system looking for help. These big corporations give us some of the same demands we used to get at GoSpotCheck because we were working B2B and sales-to-enterprise there as well. Some of the main learnings I am bringing in are from the perspective of a startup that scaled very fast and then struggled to continue to scale because of the promises we made to enterprise customers on custom implementations. I am now the person who has to say, “No, we can’t do whatever they want because they offered us a huge sum of money,” so we are developing a product and programs in the way we need and want to.
Being open to changing your mind
About three years ago, my boss asked me what I saw myself doing in five years, and I said that I would be working as an independent contributor and that I never wanted to be a manager. But now here I am as a CTO, and we can all see the irony in that statement. Then when I was interviewing for UPchieve with our founder, Aly Murray, she asked me where I saw myself in five years if I continued in this role. And I told her that the CTO I thought they needed at that moment was more of an individual contributor, but that might mean that I’m not the right CTO in five years. The main point is that I’ve learned that it is better to not hold strong beliefs about where you want to be for anything past the next year. The older you get, the more often you see how much you change your mind.
I actually just bought my son his own Nintendo Switch (which I’m conflicted on because he’s five, so maybe I’m just a terrible parent) so we could play a game that we both love called Splatoon together. You play as tween squids who are very into fashion and you shoot each other with neon ink, so it’s pretty much a group shooter game. The goal is to cover more of the level with your color of ink than the other team. It's a very cool, fun, bright game, but don’t be fooled—there is a lot of strategy and skill involved. My son wanted to join a league team for the game, so we each had to get our Switch and now I’m on a Splatoon league team with my son. It’s a great game for all ages so I recommend giving it a shot.
edX’s chief architect on why everyone needs to better understand software architecture
How a senior manager of engineering teams at HubSpot thinks about communication at scale