iPhone Application Development

My experience with iPhone app development started by making simple apps for fun. I decided to turn my hobby into a profession as well. I cofounded an iPhone app development company with my business partner, Corey Latislaw, name Green Life Software Development.

My contributions to the team have involved researching software licensing, co-designing apps, teaching others Objective-C, administering svn, and writing code. Our signiture app, currently under development, is an app to help people live more green (environmentally friendly). Other apps being developed involve social media and general lifestyle apps.

Open Source Development

I have always been interested in Open Source development and was fortunate to be able to contribute to a great team in need. The project is for Syster’s Dev, and is a forked version of Mailman that allows subscribing/unsubscribing to conversation threads rather then just the whole mailing list. Systers.org is a mailing list that brings thousands of technical women together from all over the world.

My first role was assisting with a testing cycle, but rapidly I became the Test Lead. In this role I coordinate testing sessions, including scheduling and distribution of tasks. Testing involves many people working together, sending emails and using chat or IRC to make sure emails flow the way they are meant to. Additionally, I am a mentoring a student for Google Summer of Code. The goal of the project is to improve the patching and releasing of updates to the system and automating the current hands-on approach to testing.

Contributing to Open Source has been a great opportunity. I have learned how to work with people across the world. I am learning Python and databases in depth. Joining this team has made a whole new meaning for me on how to collaborate with others. I went from exclusively working with people in the same building to learning how to work with people in many different time zones. Additionally, all communication is through email, chat, and IRC. There are language barriers, as many people are using English as their second language. Each obstacle has taught me new way to work together with team members.

Cisco Systems, Inc.

At Cisco I worked on low level operating system code in C and learned how to test in a complex embedded system environment. The code I worked on was written to be fast and handle complex network interactions. Making sure everything worked correctly was a complex task. I used what I learned from obtaining a CCNA to configure and monitor various Cisco routers and switches to test my changes. To aid in testing, I wrote scripts that logged into systems, implement cli commands, and record the results.

A tool that I worked on was designed to scan through machine code and search for bugs. The idea was to find bugs without having to search through many lines of code. Often, on very complex and large code bases, it is difficult to determine if code is compiled into the binary. Additionally, a #define can make tracing the actual code very difficult. By scanning through the machine code directly, all ambiguities are removed.