It’s hard to find something that Ann Gaffigan doesn’t do. Between growing her own web and systems development business, working as a CTO for the fastest-growing land brokerage firm in the nation, and serving on the USA Track and Field Athletes Advisory Committee, it’s inspiring to see a woman who can truly do it all.
We chatted with Gaffigan about her early programming days and what a typical day looks like as a CTO.
I remember being a 2nd grader and getting to go to the computer lab and play the turtle game (LOGO) on an Apple IIE. I thought it was just a fun game but later realized it was a basic form of command line programming. When I was nine, my older sister Catherine -- who was graduating high school -- won a Hewlett Packard scientific calculator as a science award. She didn’t want it and gave it to me along with its two thick user manuals. I was pretty introverted and loved holing myself up in my room, reading the manuals and learning how to program that calculator. By the time I was in high school, I was still using it and programmed it so I could check my work on complicated equations and automate common calculations.
As a senior, I elected to take a computer science class instead of having study hall. It was a small group, I was the only girl, and we learned how to do while loops, for loops, and if-then-else statements in C++. I felt like I knew secret codes and had some sort of superpower. The teacher and the male students were nice to me. I liked that class. I then decided I would major in computer science in college.
I’m the Chief Technology Officer at National Land Realty, a full-service real estate brokerage company specializing in farm, ranch, plantation, timber, and recreational land across the United States. I’m slowly building a team, but for now I do the majority of the programming for the platforms we are developing. There is a range of projects we are working on: streamlining the process of tracking listings from capture to sale, mapping tools for the agents, and comparable sales analysis tools.
A typical day for me looks like this: I drop my daughter off at school and drive to the office. I check on the automated emails I get overnight and make sure our Cron Jobs ran properly and didn’t produce any errors. I assess the weekly to-do list I’ve made, which is based on the progress I’m making toward my quarterly goals, and decide what I’m going to give attention to for the day. I try to rotate around to each major project, making progress on one major project per day during the week. Besides that, I’m spending time during the day (inevitably) answering questions, troubleshooting, and putting out small fires as they come up. I also spend time on the phone and on video calls trying to get as much information as possible about the end users of the platforms I’m developing. Finally, I schedule time to stay up on the trends in the real estate industry and the technology industry as a whole.
The most challenging thing I face is understanding what the end user wants – or conversely, getting them to tell me what they want. That user could be a visitor to our website, a real estate agent, or an employee of our company, depending on the project. Often I need to have multiple conversations to understand how things are being done now, how that could be improved and what caveats exist. There are always caveats, but sometimes they aren’t discovered until halfway through a project. It takes time to “train” other people in the company how to answer my questions and explain to me the necessary details for the software to actually make their lives better (which is the point). This is the most challenging thing, but it is also my favorite. I enjoy problem solving and finding ways to make someone’s job easier and more efficient. I think it also serves another purpose, which is that it helps them understand more about what goes into software development. The more we know about someone else’s work, the more we respect it and understand the time and effort it takes.
When I graduated from college in 2004, I immediately took a full-time position with the company I’d been interning for. I’d had some personal turmoil happen in my life and just took the path of least resistance. I wasn’t happy there; I knew I wasn’t being paid what I was worth, and I felt like my boss was dishonest with our clients. I also was still training for the Olympic Trials (track and field). So I decided to quit after six weeks and do freelance work from home. I built up a strong and consistent client base.
A few years later, I began working with Aaron Graham at Land Pros Realty, a land real estate brokerage. He needed a new website, but I ended up creating for him a custom system to manage his agents, their property listings, the marketing, the documentation, and so on. About five years later, we became business partners at his company. He wanted me to be incentivized to grow his company, and he was very forward thinking about the benefits of technology. I still worked with my other clients and devoted half time to Land Pros. A couple of years later, we merged with National Land Realty. All of a sudden we were one of the largest land brokerages in the country. I took six or seven months to finish up projects with my other clients and help them find a new vendor while working as part-time CTO for National Land. Then I moved into the full-time role, and here I am.
We get to make stuff out of thin air! Probably my favorite thing I ever made was software that “runs” the Nebraska state track and field meet. It takes all of the district results, determines who qualified for state in each event in each class based on the rules in the manual, puts the athletes in heats and lanes, and assigns bib and hip numbers. Then we go to the state meet itself, and we get to sit up in the highest press box and connect to the big screen to put up results, read the results from the finish line cameras, and update the website with results, records, and team scores over the course of the two-day meet. It’s the ultimate combination of my two loves – track and field and programming. Plus, the Nebraska School Activities Association was my very first client, so it’s special to work with them because they’re where I got my start.
I have to be honest, the only jobs I’ve applied for and been interviewed for were my internships in college. I remember interviewing for the first internship I landed. It was the second semester of my sophomore year. The interview was at 8 am, and I had been up until 4 am studying for a big test for one of my computer science courses. I overslept. I got to the interview on time, but one side of my hair clearly looked like I had slept on it pretty hard! He asked me some mundane questions and then asked me to tell him what a hash table was. I asked him what kind, and he looked surprised and said, “Any kind you want.” I gave him a complete rundown of hash tables. It was fresh in my mind because it was what I had been studying the night before. He told me he’d had grad students interview that didn’t know half of what I knew. I just smiled. He hired me on the spot. Sometimes luck helps.
This is such a cliché, but soft skills are important. You have to be able to communicate effectively to be a good developer. You almost have to be a consultant, especially if you will be working directly with the end users and/or the clients. I’ve heard so many stories of frustration from people who’ve worked with companies with developers who weren’t very responsive or who didn’t understand what they needed.
Also, there is a difference between a coder and a software developer. I love that more people are learning to code these days, but I wish that computational thinking was emphasized just as much. The ability to solve a problem programmatically is a key trait for developers; you have to be able to solve a problem even if you’ve never seen it before. It’s about how you think.
Virtual reality seems to be taking over. I hope we aren’t all going to be walking around with VR goggles on all the time, though. The smartphone addiction is bad enough (I’m guilty, by the way). I’m really interested to see where machine learning and AI go. I listened to a fascinating podcast Kara Swisher did with Donna Dubinksy and Jeff Hawkins about reverse engineering the brain. I’m still struggling to grasp many of the concepts, but I think everyone is, and that’s why it’s such an interesting space. It’s the next frontier.
To keep up with Ann’s work and her career, you can follow her on Twitter.