top of page
Since 2011, I have had a variety of jobs all related to technology. I've been a tester, a game designer, a scripter, a software developer, and a teacher. I love getting to know systems and using tools to solve problems. I have worked for ProjectFUN, Disney Interactive, Samsung, Voicebox Technologies, and am currently employed at Cequint.
I originally joined Samsung as a tester for voice recognition software, and I gradually received more and more responsibilities as time went by. I eventually became a team lead of a group of language experts tasked with reviewing tens of thousands of strings as well as developing rules for the natural language understanding system of our software. Over the years I worked at Samsung, I was able to use my technical skills to make quite a number of contributions to the team:
Automated Test Prep Procedures
Early on, I noticed that certain procedures we needed to do in order to prepare our devices for tests were cumbersome and time-consuming. Creating contacts was something that we needed to do regularly and often in large quantities, since we were testing voice recognition software and would thus be trying many different names. I created a C# tool that would create .vcf files for us, allowing us to extract the names from our tests very quickly and have a vCard ready all in a few clicks. Another task I was able to automate was creating music with metadata. Again, since we were testing voice recognition software, we needed to test a lot of song, artist, and albums names, so I created a tool that could set up all the music we'd need for a test with all the right information.
Macros For Managing Tester Work
Our team had been given an Excel macro for compiling our work, but we often received test templates with different columns and formatting. The macro's code had to be changed each time in order to work for those templates. I completely rewrote this macro so that there was a list of template types available on a sheet that could be changed by anyone with no coding changes necessary. After that, I went on to create a macro for reviewing tester work to ensure that templates did not have any errors, such as logs not being present, incorrectly marked passes or fails, or missing tester information. I also created a macro for helping split up test templates into assignable pieces. That macro could then randomly assign out those pieces to testers, trying to keep the workloads as balanced as possible. It was great having all of these tools to help make things we had to do on a daily basis much quicker, and the review macro really helped to ensure that our results were free from human error, allowing the developers to get good, reliable metrics.
Macros for Randomizing Testing
The largest macro I worked on was for randomizing sentences in our test templates. The macro let us replace certain words in the sentences with tags, and then my macro would go through and replace those tags with randomized words or phrases. For example, you could say "Call Alex." Alex could be randomized to any name. I set up the system in such a way that information could be put into the tags regarding what kind of information the contact needed to have, such as an office number or maybe two email addresses. My macro would create a table with all of the contacts it had to create while going through the template and give all of those contacts the information they needed in order to fulfill the test requirements. The C# tool I created for automating contact creation could then be used to create a vCard from that data. In just two clicks, we'd have an entirely new test template and the vCard we'd need in order to run the tests.
Various Tools for Making Tasks More Efficient
I also created a couple of smaller C# tools to help us with a few other miscellaneous tasks, such as listening to audio recordings from our tests. My tool would help organize the files, play them, and also copy file names to the clipboard to make it easy for us to paste those names into our templates.
At Disney, I worked on two projects, Club Penguin and an unannounced project. I worked as a scripter and level designer, using Lua and Metaplace. It was my first experience working in the gaming industry, and it was really great to be working on such fun projects. Here are some highlights of my work at Disney:
Level Import/Export Tool
I wrote a tool in Lua that would fetch JSON level files from the server and assemble the levels in the game. The levels could then be edited in the game engine, and my script also took care of saving those changes back to the JSON file. My system could also handle some randomization elements, such as randomizing a building or including defined probabilities for randomization.
While working on Club Penguin, I was tasked with writing the system that would interface between the game's sound engine and the gameplay. If music needed to play or a sound needed to go off, it went through my script. I had functions in there to allow for fading in and out, ambient sounds, music, and randomized playlists. It also handled stopping sounds as well as volume controls.
Bug Fixes and Various Scripting Tasks
I spent a good portion of my time fixing scripting bugs for Club Penguin, so I learned how to read other people's code. I learned the value of commenting, and that experience helped me become a conscientious code writer when I began to write my own scripts. I implemented a lot of quick scripts for the game, such as logic for the player to interact with objects in the game or for earning achievements.
During college, I worked at ProjectFUN as a summer job. It's a program that focuses on teaching kids things like video game programming or 3D modeling. I had actually attended the program myself while I was still in high school, so I was happy to help other kids learn how fun and challenging creating video games could be. It was a brief job taken during the summer, but I still had some great takeaways:
Pictures >= 1000 Words
Even in a field like programming, pictures are extremely useful. Drawing out coding concepts can really help get across abstract ideas, like classes and pointers, to people who have never programmed before. Also, a single screenshot can often cover what paragraphs of text can't.
Never Too Young to Learn
One thing that really surprised me was how young some of our students were. They were quick learners and created some of the best, most impressive projects throughout the course of the program. It was really encouraging to see kids at their age so excited about technology and already developing good skills.
bottom of page