From a young age, I knew that I loved two things: writing and working with technology. At Wesleyan University, I pursued my interest in writing on multiple fronts: editing the campus newspaper, founding a long-form journalism magazine, and writing short stories. After graduating, I spent all my spare time going through online programming tutorials and realized that I wanted to start a career as a Software Engineer. In order to do so, I attended the Web Development Immersive course at the Flatiron School, a bootcamp-style education that prepared me very well to become a working programmer.
At my first job as a Rails Developer at Continuity, I discovered the immense value of test-driven development and pair programming and began developing my instincts for good object design and pragmatic architecture choices. I will carry with me for the rest of my career the lessons I learned from my senior engineer mentors: the art of writing clear commit messages, the discipline of crafting focused service objects, the feel for when code should be DRY and when it should repeat itself. I also learned from Continuity how to cultivate an incredible engineering team, and employ these lessons every day at my current job as I try to improve the culture and process of every team I work with.
At SeeClickFix, I have been thrilled to work on several parts of our technology stack, including Ember, Rails, and iOS. I am currently on SeeClickFix's iOS team, writing our new iOS app from scratch in Swift. It has been an exciting challenge to build features from the ground-up, re-defining how users should flow through our app and instituting new development patterns that I hope will serve the project for years to come. Working with Swift, a compiled language with strong types, has made me more adept at error handling and crafting strong object interfaces. I have also appreciated the opportunity as a mobile developer to dedicate my energy toward crafting amazing user experiences, since it has reminded me of the importance of never losing sight of the users of our products.
When I'm not programming or hanging out with my fiancee and my adorable black cat, I spend my time designing board games. It has been exciting discovering the many parallels between that process and the day-to-day activities of a software engineer. I also love integrating technology into my board game projects—I am currently writing a React Native companion app for my choose-your-own-adventure board game, as well as a Rails CMS to input the game's stories.