What is your current professional role and how did you get here?
My title is kind of fuzzy (Engineer, Software Developer, Code Wrangler, Petter of Dogs), but I write software for the Omni Group for a living. I’ve been a developer at Omni since 2007, when I was hired almost directly out of school. I’ve worked on many pieces of software, beginning with a web browser (OmniWeb), moving to OmniPlan, and then OmniGraffle and OmniGraffle-iOS where I spend my days, now.
What was the first app you worked on and what did it do?
The first professional code I wrote wasn’t an app in the traditional sense, it was a set of scripts meant to move a lot of historical data from an old system to a new more robust one, at a law firm. Part of that was figuring out how to map old terminology and types of data from many different sources to the new system, without losing anything. I still have the stuffed zebra mascot for the new system’s application, he sits on my desk and reminds me that I put in a lot of hard work for people who didn’t really understand what the work was doing, but still appreciated it, at the end of the day.
My first actual application was a web browser called OmniWeb. I was hired just before Apple decided to open-source their web renderer, and so my first big project was adapting OmniWeb to use it. I learned a ton about language interoperability, and met a lot of good people in the Webkit community. I also learned a lot about web standards, plugins, how ad-blockers worked, cookie management, CSS, and a ton of other web-specific technologies, from the perspective of how a web-browser needs to interpret them.
What went well? What could have gone better?
One of the coolest things about starting work at a company whose software I had been using for a while, was getting to fix a bug that had been plaguing me as a user for a long time. There’s a real sense of accomplishment and achievement in fixing something that you know for a fact is frustrating users, including yourself.
One of the drawbacks to the project I was on, was that instead of doing well-structured larger releases, we made internal beta builds out to the public. It made for tight feedback, but also meant that I didn’t really get the full “shipping” experience until later on. Finishing is a feature, and I would have liked to have experienced it sooner on.
At App Camp, we emphasize that it’s important to have interests outside of tech and to take breaks from looking at screens. What are some of your interests outside of tech? What do you do when you need to take a break from work?
I have friends who code in their spare time, but that’s never really been my style. I need time to re-charge, and taking it is important for keeping my mind healthy. I love what I do, but it’s not the only thing that I love! I’ve been an avid knitter for over a decade now – I’ve even got a tattoo of a yarn & needles! I’ve recently bought a sewing machine and taken up quilting and sewing some of my own clothing, which is really intrinsically rewarding. In my day job, the things I make are real, but they’re also ethereal. In my leisure time, I make things that exist in the world, that I can wear and touch and handle, and show to others without fear that they’ll give me the “computers are confusing” face. I haven’t met anyone yet who didn’t understand “I made this myself!” when I’m talking about a dress or hat.
I’m also an avid reader, although recently I’ve moved over to audio-books and short-stories, and am quickly becoming quite a comic book nerd. Hawkeye (both Clint Barton and Kate Bishop!) are my favorite pair of heroes – they’re a lot like me, they screw up and get frustrated, but they keep trying, and eventually they succeed, with a little help from their friends.
Why do you support the goals of App Camp?
I’m part of the “Nintendo” generation, I’ve had a video game console in my home for most of my life, and a computer for almost as long. Even so, I didn’t get free reign to do much besides word processing and playing Minesweeper. I can’t even say I really understood how software was made, other than that it came on LOTS of 3 1/2″ floppy disks, and it was my job to swap them and hit the spacebar when prompted!
I first got my own computer for more than typing up assignments – I’m dyslexic and spellcheck was a real life-saver for me in school, and continues to be today – when i started college in 2000. I got my first email address, started learning things about how math and logic applied to my chosen major (mechanical engineering), and discovered that I was more interested in the logic and math than the actual building of things. It was the beginning of a beautiful friendship, you might say.
It would have been really amazing if I had gotten to learn these things earlier in life like a lot of my peers. I have talked to a lot of people who had computers and whole magazines about how to program them, and edit software for them as kids. I never really knew that any of that existed and when I found out about it I was really interested, but I was also starting from “ground zero”. I think without some amazing friends who were willing to tutor me, and being very lucky about the parts of engineering that transfered over, I would not have been a successful computer science student, and later on a professional software developer.
Something like App Camp when I was younger would’ve enabled me to discover that this was an opportunity I wanted. I would’ve been able to more clearly tell my family what kinds of things I was interested in (my math nerdery goes back many years, but I didn’t understand I could DO anything with it, other than the hard sciences), and been more able to explore them earlier in life.
I’m really lucky, in that I found my way to a job I love even though I didn’t have that “head-start” that a lot of my classmates did, but I imagine a lot of people just miss the opportunity completely because they don’t know it’s there.
What do you recommend to those who want to support more diversity in tech?
Right now, I think the best thing you can do to support diversity in tech, is to be friendly to it in your own life. As a consumer, that means putting your money where your mouth is and supporting companies with women, with people of color, with good policies. It means having to learn about the companies you patronize, and holding them to a moral code. As a tech professional it means holding your company and co-workers to higher standards as well, and calling people out on little things like talking over people in meetings, or having biased hiring processes. It means believing people when they say there is a problem, and supporting them as they fight back against injustices that they are experiencing. The less this kind of thing is accepted, the easier it will be for more people of different backgrounds to get their foot in the door, and to stay once they get there. Diverse teams with different experiences make better products.
How can technology be a force for good?
Technology is such a broad thing. It can be used in the most frivolous and most serious of ways. I think that as a developer we need to remember that the things we write are tools for other people to do great things. Whether its expressing their creativity via a game, or keeping themselves organized to have a better life. Some of my favorite bits of user feedback we get are the ones where someone says “your software changed my life”. They wrote their dissertation in OmniOutliner, or made some complex but vitally important diagram in OmniGraffle, or successfully used OmniPlan to coordinate a huge wedding. The things we do don’t have to be huge – although sometimes they are. Sometimes just making someone smile is enough. If we make someones life better, even for a moment, then I think we’re being a force for good.
Help more girls learn software development. Contribute to the App Camp For Girls Indiegogo fundraiser, get a cool perk, and enjoy the feeling of having helped the next generation of software developers.