Hi! I’m Cole Cecil. I work as a software developer, specifically in web development. Due to my love of video games, I also do some game development in my free time. I live in Iowa with my awesome wife Kezia (she’s a linguist, and she does really interesting stuff involving languages and brains) and our two cats. I have a bachelor’s degree in computer science from the University of Iowa and a master’s degree in computer science from the University of Southern California. I’m a quiet introvert and dislike being at the center of attention, but I really enjoy spending time with friends (as long as it’s not too many at once!). I like learning new things and exploring the world around me (though I’m sure to bring plenty of hand sanitizer along if I venture too far off the beaten path). I try not to take myself too seriously, because that’s too stressful.
I’m fortunate to have a career that I really, truly enjoy. I love writing software because, just using my fingertips, I can create anything I can imagine. It’s fascinating to watch my creations slowly evolve from nothing and take shape right in front of my eyes. I love the challenge of solving logical problems and getting to solve different ones every day. Plus, technology is constantly changing – I get to learn new stuff all the time, so it stays exciting. It’s also great to be able to work with and learn from smart, terrific people.
When I do my work, I hold myself to a high standard and value quality. I believe that if something is worth doing, it’s worth doing well. Having said that, it’s in my nature to be a perfectionist, and I’ve learned that I need to be careful not to go overboard. At the end of the day, it’s much more useful to have a functional but imperfect piece of software than to have a perfect but unreleased piece of software. I believe in taking a practical approach to doing work and carefully thinking about what will work best, rather than blindly following guidelines. Apart from working on software from the technical perspective, I also enjoy working on the human aspects of software. I try to design with the end user in mind, attempting to make things simple, organized, and easy to use. I also do my best to make things look nice. I believe it’s important to have compassion toward the end user of your software – that using your software should be something that causes joy and happiness, rather than frustration and pain. Of course, these are not easy goals to achieve, and I don’t always achieve them. But I keep learning and keep trying, and I think I get better at it bit by bit.