Senior Web Executive, Technical Consultant, and Author
San Francisco, CA, USA (hometown) *
+44 (0) 2033 711 630 (UK Direct)
+44 (0) 7543 652 658 (UK Mobile)
I am a software engineer, author, and technical architect, and experienced executive leader in the digital media space. I have been creating web and internet-related applications professionally since 1995.
In recent years, I’ve come to specialize in managing international teams, developing high-profile e-commerce and multi-language websites, SOA, and in mobile application development and social network strategy. I’m a strong advocate of cloud computing, and use/recommend AWS and similar whenever possible.
Technical Architect (consulting) for China Fashion Project — March 2012 to present. Ongoing.
Working with a company in the USA to develop a revolutionary marketing/tracking application aimed at the luxury consumer market in China. The system will eventually extend to other markets. Technologies: .Net on a Cloud-based system, SOA.
Interim CTO (consulting) for expertinsight.com – Sept 2011 to March 2012.
Directly after leaving hoverState, I started consulting for expertinsight.com, a USA-based company which provides personal video interviews with experts and celebrities (Poker Champions, Business/Finance experts, etc). I managed the development process through the site’s 2.0 launch. The team was truly global, covering five countries. I improved the system architecture, developed a calendaring system based on google’s calendar API, guided my team in refactoring some less-than-optimal code and DB tables, and worked on an improved version of the video streaming system. Technlogies/Metholologies: SOA, bespoke E-Commerce system with complex calendaring, Custom PHP for Google APIs, CakePHP, Capistrano (Ruby), Flash Media Server, MySQL, Apache2, Zoho CRM integration.
After launch, I bowed out of full-time involvement to look for a position based from the UK. I’m still consulting intermittently for Expertinsight.
Director of Technology, hoverState 2.0 Inc Feb 2010-September 2011
My most recent position at hoverState let me use my first-wave, move-fast, next-cool-thing personality to create cutting-edge applications for an astonishing variety of markets, using an exciting range of technologies – from iPhone and Android applications, to nearly every CMS you can name. Our client list included several companies in the Fortune 100.
I managed a good handful of teams in multiple time zones (overall, about 100 people reported to me by the time I moved on, some under 4 highly skilled Lead Technologists). I hired and trained freelancers and trusted offshore vendors world-wide, and set up a top-notch QA center in the North of the UK. hoverState is well-known by their agency partners for bringing projects in on time and on budget, and the number of projects brought in just as successfully grew exponentially from the time I joined the company.
I was in charge of all Technology Projects at the agency. I was hands-on when I needed to be, and always up-to-date on current tech (every line of code that went out the door was ultimately my responsibility, and I was often very hands-on with bug-fixing and strategy), but I also interacted with clients (our key clients had my home phone number and personal skype ID, and knew they could ring me any time – including 4am UK time – if there was ever a problem or question), created proposals and budgets, reported to the Board, hired and managed senior technical people, developed a rapid and effective Performance Review template (which I still use), supervised the company website, SVN repo, and Wiki, and worked with Project Managers to track project profitability and perform rapid project postmortems, which helped increase profitability immensely, as well as alerting senior management to the state of resource utilization. I also worked on-site with key clients world-wide on time-critical or especially crucial projects.
Recent hands-on work includes: numerous E-Commerce systems, extensive use of cloud computing (usually Amazon Web Services), Drupal, Zend Framework, jQuery, Facebook Apps, Twitter Apps, High-Availability Scalable PHP, Memecached, Magento, Magento templating, some Ruby (mostly managing and debugging), iOS and Android (mostly managing and debugging), some Flex/Flash, Java/Spring, as well as .NET and other Microsoft tech. I was also responsible for technical architecture (SOA), establishing best practices, and hiring/retaining/inspiring the best people in the business, worldwide.
As Director of Technology for hoverState, I completed a sizeable project for my former employer Full Tilt Poker, using an international (mostly EU-based) team for a German-language venture. Since this was a complex ecommerce site, we looked at several Zend-compatible solutions in detail. My team and I chose Magento as the best option, and development was well underway when the gameplay DB lead let us know that we’d need to change plans for technical reasons having to do with their multiple complex databases.
We also released numerous Facebook, Twitter, and mobile (iOS, Android, and HTML5) apps, a sizeable number of E-Commerce sites, countless email campaigns and Flash microsites, and many rich-media sites for companies like Electronic Arts (hoverState is the Agency of Record for Electronic Arts).
Much as I loved the work at hoverState, I ultimately left to look for a position in the UK. Before I left, I found, hired, and trained my replacement, and wrapped up all outstanding projects directly in my purview.
Technical Lead/Manager: Full Tilt Poker Academy (academy.fulltiltpoker.com launched March 2009 – I stayed with them training the in-house team until late 2009 and was still contracting as needed until hoverState lured me from the freelance world. Full Tilt Poker Academy has hired my current employer, hoverState, for other work based on my successes with them.)
About the project: Seventeen languages, five teams, three continents. This was an exciting, high-profile contract. After the project was stable, I trained an in-house team who maintain the site in Dublin, Ireland. Tech: PHP, Zend Framework, MySQL, Brightcove, MS SQL Server & a number of proprietary frameworks and services using a complex and secure SOA system. I was in charge of all technical aspects of this multi-featured web application, which — as part of an established brand — needed to handle extremely high traffic from minute one, while still providing very high-quality video, flash, and graphics, and integrating via Web Services to the realtime game engine.
Lead Developer: mPulse Media (adult-oriented mobile photo-sharing and chat site, since closed)
From February 2008 until I was hired by Full Tilt Poker, I went back to longtime client mPulse Media to work on a photo-sharing and chat site, aimed at mobile devices in parts of the world where people were more likely to have phones than home computers. The site was highly successful in India and South America, and actually became a bit of an adult photo-sharing site. (Please remember, our largest user base was in India, where Bollywood stars still don’t kiss on screen. So this was extremely tame content.) Technologies: Perl and PHP, MySQL servers (mirrored), various SMS services, SOA, E-Commerce over Mobile. It has since been discontinued as the CEO of mPulse started gaining media attention for his more family-friendly ventures (see mpulsemedia.com for more).
Challenges included: Very high-traffic scaling. Custom tag engine using mirrored MySQL servers. Frequent rapid prototyping, A/B testing, google APIs, data mining. I worked partially with a team in Poland for this project, then trained my very talented American replacement, who was hired on and brought the project in-house while I went on to work for Full Tilt Poker (Pocket Kings) in Dublin.
Interesting side note on this job: Because the site was set up so that you could type any word and make an instant chat room, we were beset upon by a paedophile photo-sharing group in Europe (the UK spelling was not in our American banned-word dictionary), and we delighted to work with UK authorities to help shut them down for good.
Senior Developer: Community.Babycentre.co.uk (launched January 2008)
Working for BabyCenter.com in their San Francisco offices, I launched the UK community site as part of a team working on Babycenter community sites world-wide. Technology: PHP, Zend Framework, MySQL, Java, SOA, SSO. This work was later extended into a set of community sites for BabyCenter in countries world-wide.
Lead Developer: ClubCollective.com (launched Summer 2007)
Club Collective was a directory of nightclubs and events across Europe. This site launched in Spring 2007 with listings in three cities and three languages, with dozens of cities and languages to come. As tech lead, I was responsible for creating custom Drupal modules, training designers on Drupal theming, working with developers and content managers in Europe, and managing everything from internationalization to creating & customizing the site’s many user-centric features — from photo/video content to blogging and social networking. Tech: PHP, Drupal, MySQL, some Java.
Lead Developer: wapTAGS.com for mPulse Media (2005-2007, ongoing)
I’ve developed several applications for mPulse Media, including a group text-messaging app, a mobile RSS manager, and a collaborative mobile tagging site. This job lets me use my skills in rapid prototyping and agile coding in a fast-paced environment where there’s always something new in the pipeline. At various times, my projects have included team members from India, Poland, Hawaii, and Chicago. Tech: PHP, PostgreSQL, and some Perl.
Apple Computers – Lead and Team Developer (2003-2005)
The company I co-founded, The Madfish Group, developed a series of applications for the Corporate Events department at Apple. We’ve developed applications using PHP and PostgreSQL that help streamline communication and planning for corporate events. A few features include data sharing over XML, workflow management, and user- and group-based views on event data. I have alternated as lead programmer with one of my Madfish Group partners, depending on the particular deliverable and the other jobs we had underway at the time. Other technologies/methodologies: SOA, Java.
Arianna Huffington for CA Governor – Technical Lead (September 2003)
Although Arianna Huffington has since dropped out of the gubernatorial race, my company, The Madfish Group, was hired to write (and did write) an event creation/management tool for her campaign website. Although the site is already being re-purposed, I’m looking forward to the event-management code being re-used on similar sites in the future. I was the sole PHP/MySQL coder on this project, working with one of our talented HTML freelancers, Polina Grinbaum. Features included: User account management, proximity-based searching, personal event lists, various email functions, staff view/search/review functions, and realtime integration with third-party opt-in email system.
Idiom.net – Technical Lead (launched July 2002, maintenance ongoing)
The Madfish Group developed a complete system for Idiom.net, a Covad DSL reseller. The site was developed using HTML::Mason on FreeBSD, using PostgreSQL as the database back-end. The system allows Idiom staff and customers to manage their end users’ DSL circuits by communicating with Covad’s servers via XML over HTTPS. Other features include trouble ticket management, an access management system, and a fully featured billing and payment (E-Commerce) system. I acted as Lead Developer on this project.
HR Consulting & Code Reviews: The Realm (2001)
The Realm needed a team of skilled Java programmers for a major project on a tight deadline. I conducted resume reviews, phone interviews, and code reviews in order to help my client assemble a great team in good time.
designobject.com – Advice and Troubleshooting (2001-2003)
I helped this client evaluate and debug a complex, brittle, CGI-based system created by inexperienced outside programmers. This meant reading, understanding, and repairing dozens of scripts (containing thousands of lines of code) in a very short period of time. I also set up web and database servers, installed and customized E-Commerce tools, etc. Later, worked in real time to further optimize the system after the site launched and was unexpectedly (but happily) overwhelmed with traffic. Modified Perl scripts, server configuration, and OS parameters to keep the site up and running smoothly.
mastercard.visitnaj.com – Lead Programmer (launched 1/01, features added throughout the year)
This is an updated version of the North American Journeys site I worked on last year (see below). The new site was written to be co-branded with the MasterCard Travel web site. I wrote all the back-end code using HTML::Mason (server-side Perl), including session management, file uploading, and several different searches. Also worked closely with front-end coders on some pretty fancy database-driven DHTML. As usual, I advised my client on technical strategies, set up web and database servers, and implemented failover plans.
emindhealth.com – Lead Programmer (launched 8/00)
Responsibilities included writing much of the back-end code including session management, ecommerce, and search functionality. Also advised client on technical strategies, set up web and database servers, and implemented a failover plan for high-traffic periods. Two Perl/MySQL developers and two HTML coders launched this feature-rich directory site (including an E-Commerce component) in under two months – on time for an important industry conference, and on budget.
bTask (now InstantWork) – Lead Programmer (launched 6/00)
Responsible for all technical aspects of a complex job directory site incorporating search, chat, and instant messaging. Involved in every phase of development from Requirements-Gathering to Launch. Set up web, database, and chat servers, wrote the back-end code in Perl using HTML::Mason, and managed other programmers who were creating the front end and the instant messaging (IM) engine. Developed instant messaging prototype for client, which served as a proof-of-concept for investors. Helped client hire more programmers to implement IM system. Helped hire successors once the site was launched so the client could continue development on the East Coast. (I completed this project in San Francisco for a client in Virginia. We met in person exactly once. The team worked via email, IM, and telephone from both coasts.)
North American Journeys – Lead Back-End Programmer (launched 2/00)
bSource (now Niku) – Lead Programmer (launched in stages during late 1999)
Wrote new code and adapted legacy code to power this search-intensive database-driven site. Helped client evaluate technologies. Worked closely with HTML coders to create a templating system which allowed this site to be multiply co-branded with minimal effort. Designed complex weighted-match query system, with an interface to allow the client to change category weights at will. Created system to synchronize web server data (MySQL) with legacy back-office database (FileMaker).
Careguide – Lead Back-End Programmer (launched Spring 1999)
Ported legacy CGI system to mod_perl, while maintaining backwards compatibility with the client’s proprietary scripting language. Upgraded huge flat-file-based semi-static site to a more flexible database-driven system. Designed & optimized weighted-match searching on massive tables. Developed session management, state-based navigation, and cobranding systems. Trained client’s employees so they could continue development in house.
General Tech: Strong OOP, application architecture, SOA, design patterns. Experience with load balancing, server configuration, database optimization, Cloud Computing (AWS and some SalesForce custom development), security, log analysis, and years of experience with various E-Commerce systems – both retail and B2B. Extensive full-lifecycle experience: concept to launch to maintenance and beyond.
Human: Can communicate technical concepts in non-technical ways. Able to manage, mentor, and collaborate with other programmers effectively. Able to interact with clients at all levels. Great with deadlines. Specialize in working with international teams working across multiple time zones.
Some Older Projects Include:
Created internationalization intranet site for Sun Microsystems. Released code (desktop proxy server, written in Java) on CD published with The Net magazine. Wrote caching proxy server for Windows using C++/MFC for Seven Raven. Assisted with teaching Advanced Internet class at City College of San Francisco.
Technical Writing: Apple Computers, Wiley, Hungry Minds, Trans-City (2001-2007, ongoing)
During the past few years, I’ve written seven articles for Apple Computers’ Internet Developer Site. Subjects include Tomcat on OS X, J2EE with JBoss, Source Control with CVS, parsing iCalendar files, PostgreSQL, and Jakarta Struts. Many of my articles are still online and promoted by Apple to developers, years later.
In 2001 I contributed chapters to the book MySQL Weekend Crash Course, published by Hungry Minds. My chapters cover MySQL with Perl.
In 2003, I was the technical editor for the second edition of MySQL/PHP Database Applications, published by Wiley. I also contributed some text and code along the way. This new edition was the first published reference on PHP 5 — including PHP’s new object model and the many changes that came with the release of Zend Engine 2.
B.S. Cognitive Science (focus on Human-Computer Interaction) U.C. Berkeley.
Client references available immediately on request.
Brainbench certifications available on request. I’m certified in Perl (one of the top 10 scores in California, they said), Java, Web Development Concepts (one of the top 10 scores worldwide), HTML, Unix Programming, and Linux Admin.