Since 2007, I've been working as a software consultant. From my office in Seattle, I've carried out numerous projects with teams from across the US and as far flung as Delhi, Minsk, and Belfast. In 2011, I created b.fly to consolidate my offerings as a consultant and mobile developer.
I have twelve years of experience as a software engineer, primarily working on load & performance, web testing automation, and QA tool development.
I received my bachelors degree in computer science from Haverford College, and my masters degree in International Relations from UCSD with a focus on non-profit management and economic development in Latin America.
Ben came up to speed in a very short amount of time, built a highly complex test environment, and successfully benchmarked the system using several thousand concurrent virtual users. Ben's technical contribution is outstanding, as are his communication skills, sense of urgency, and organization.
-Aaron Perry, Director of Quality Assurance, Oracle Corporation
As mobile devices have grown more powerful and become more ubiquitous in their use, I've found the idea of developing for them increasingly appealing. In 2009, I created a novelty app called USAChant and have been doing on and off iPhone development since then.
Most recently I have been working with Brightcove on the AppCloud project, a platform for creating mobile applications to support a variety of mobile environments using a consolidated design environment.
In my free time, I've been experimenting with and learning HTML5 for my game Words in a Square (still in alpha) and currently have several iOS projects at various stages of development.
I have designed, implemented, run, and overseen load and performance testing projects at ATG (now Oracle), Nokia, and Brightcove. I developed such tools as a multi-process pure Java load testing framework, a tool for creating complex datasets across multiple interdependent Oracle database tables, and a mini-HTTP server written in Ruby to receive and process test results from a Jasmine test harness. I have set up and run scalability tests across multiple WebLogic servers running commerce applications. I have stress tested email delivery servers using HP's LoadRunner. I have directed a team of six performance engineers working on various projects both ensuring quality and delivering marketable data to the sales team.
I have found that I quickly pick up on new technologies and can be using a new testing tool or coding language within a short period of time when the need arises.
I am excited to also begin to offer my services to non-profits, particularly those with a focus on economic development in Latin America. While I certainly enjoy and have a proficiency in software development and testing, I realized a few years back that I would like to reach out and work with the non-profit world.
To develop a deeper understanding of this world, I attended the School of International Relations and Pacific Studies at UCSD. I have also traveled extensively in Latin America and speak Spanish at a high intermediate level. I realize that non-profits face a number of information technology hurdles as they pursue their goals and am looking forward to assisting in such efforts.
As I move from project to project, I often find myself needing to put one language or tool on the back burner as I learn another. I feel comfortable learning a new language for a job, but here is rough list of what I have used in the past.
Java. I've done more with Java than any other language over the past decade. A load testing framework with accompanying Swing UI and an application to create dummy data in a commerce catalog were the largest challenges and required writing multi-threading, file and database IO, and networking.
Ruby and Selenium / WebDriver. I've been using Ruby lately to write and run tests that use WebDriver to do automated application testing at build time. I've written a mini HTTP server to receive test results from mobile devices in Ruby.
Objective C. I wrote USAChant a few years ago and am currently working on an iOS game using Objective C.
UNIX shell programming. Almost all of the jobs I have done have required at least some UNIX shell programming (sh, bash, csh). Generally they get written to assist in running a series of OS commands during some fully or automated process. Recently I built some bash scripts that handle part of a Jenkins build process.
LoadRunner and JMeter: I have experience writing and running tests with these industry standard tools.
HtmlUnit: I've written a number of scripts in HtmlUnit to simulate users interacting with a site, making dynamic choices in their navigation.
C/C++. Virtually all my undergraduate programming was done in C++ and I've used C subsequently writing LoadRunner tests here and there.
Perl. Roughly once a year I need to write something in Perl and relearn the basics. Ages ago I wrote a hack for the mail server majordomo to integrate it more closely with a system alias list to prevent duplicate mailings, back when that was an issue.
BASIC. Need some Apple or Commodore BASIC written? I might remember how. I was a national semi-finalist in a middle school Apple programming contest when I was in fifth grade. That and my varsity letter in squash for being the eleventh guy on the ladder at my small liberal arts college are probably what convinced my fiancee that I was marriage material.
93 S Jackson St #13136, Seattle, WA 98104