Rachel Wilson's Github

When Life Gives You Lemons

This iPad game was the final group project in my Software Development course. My team of five students (with no experience in iOS development prior to the class) was instructed to create an educational social science iPad game with 5th graders as our target audience. We created this lemonade stand app as a fun way to introduce the concepts of economics and business management. (Side note: for some reason GitHub does not show my contributions in the graphs. If you want to see a summary of my contributions, refer to my work log.)

This GitHub Website

I know this site is fairly simple as far as websites go, but I am still rather proud of it because I created it myself. I don't have any background in web design, and I'm entirely self-taught in this area. I created this site using Google's Material Design Lite.

Sudokittens

This is an iOS app I designed with a partner. It is a Sudoku app with an optional kitten theme and musical sound effects. Our assignment was to build a Sudoku app and add features as we saw fit. We made a kitten theme that gives each number a different kitten image. We also made sure to pay close attention to the copyright rules for the music and images, making sure to follow the creative commons instructions so we didn't violate any rules there.

Matt Bomer 2048

This is a game I made over the course of a few evenings in 2014, slightly after the height of the 2048 craze. I had been learning about HTML and Javascript and wanted a chance to practice and learn while creating something I could play and share with others. I was still very new to Git, so it was also a learning experience trying to navigate GitHub.

Software Engineer at Originate Inc.

January-August 2017

I learned a lot as a full-time Software Engineer at Originate. I worked on three different projects during my time there, and each presented different challenges and new things for me to learn.

My first project involved familiarizing myself with Javascript, Coffeescript, and the Cucumber testing framework. I was brought onto an existing project (written in Coffeescript) that had essentially no feature tests implemented to support it. I was tasked with implementing the first test to begin laying the framework for future tests that aligned with the Cucumber philosophy (feel free to read more here).

My second project involved a mentor giving me a crash course in Android development so that I could work on a customer-facing app for a well known company (We signed an NDA so I cannot disclose more details). My contributions to this project primarily consisted of meticulously formatting the view XMLs to match the specifications of the design mock-ups. At the end of my participation in this project, my mentor told me that he thought the views I made were "the best looking parts of the app".

The final project began with me learning the React framework for Javascript. After I learned the basics online, I began an independent project that monitored the GitHub activity for our company's organization, filtered by contributor username to record only the developers in my office, and then displayed various stats in real-time on a colorful React-based frontend that used the material-design-ui library.

Software Developer Intern at American Express

May-August 2015

During this summer, I was one of four interns at this Amex office. Our goal was to improve the testing situation. Initially, we all worked on a server that would provide stored responses for testing purposes, rather than getting test responses via their faulty test network. Then after a few weeks I branched off (along with one other intern) into what I would spend the majority of the summer working on: automated UI tests for the Amex iOS app. At the beginning of the summer, Amex didn't have a UI test suite at all for iOS. This meant that my team was not only adding new tests, but creating and deciding on the entire test code infrastructure. We had rigorous code reviews to ensure that any new code was following convention and using the correct separation of functionality. We used the KIF (Keep it Functional) framework to automate the UI commands. This often required us to dive into the app code and comprehend its functionality so we could add necessary testing identifiers. This gave me more experience with working in an existing codebase, which will be a very necessary skill once I enter the workforce of an existing company.

Computer Science Researcher at Harvey Mudd College

May-August 2014

I spent the summer of 2014 working as a researcher on a team called Middle Years Computer Science, or MyCS. I have to say, this position was a lot of fun. For the first three weeks, I worked with two other students to spruce up Mudd's existing MyCS MOOC. Then the fourth week, the rest of the team arrived and we all went to Lihue, HI to give a workshop to the teachers working there. We had them try out our course and give feedback. Over the next couple of weeks, I worked with two other Mudders and mentored three students who had just graduated high school with no CS experience. We all worked together to create a brand new curriculum to teach kids CS using Arduino. I really enjoyed getting to write code that could operate in the physical world using the Arduino robots. The mentoring aspect of this project was valuable because it gave me experience teaching and explaining technical concepts to people without a technical background in a way they could understand.

Software Developer Intern at Starfish Enterprise

June-August 2013

My job during the summer of 2013 was to contribute to an existing project called Triangleland. The idea was that Triangleland would be a geometry game designed to let kids learn geometry in a fun and intuitive, visual way, and by doing so come to appreciate the beauty of geometry and math in general. Unfortunately, the project had to be canceled once it ran out of funding, so there is no final product for me to show anyone. I worked in Java, and spent a lot of the summer examining existing code. I was adding functionality for different theorems, which involved understanding and sometimes correcting the code that had been written the summer before. This project made me much more comfortable with Java and with critically examining an existing code base.