You can read a bit about me at LinkedIn, or look at my sometimes photoblog at robertprince.net.

Sometimes I'm on Slack at rubyonrails-link.slack.com or at kubernetes.slack.com, or at sbtechcoop.slack.com.

If it's like that, you can see my resume.

Robert Prince

github
linkedin

Hands on, process focused software architect, programmer, and manager with depth in software design and implementation, data modeling and database design, and internet infrastructure. I'm comfortable in all phases: system design, specification, and implementation; deployment, support and maintenance; strategy, business development, and team leadership.

STAFF SOFTWARE ENGINEER, INVOCA; SANTA BARBARA, CA - OCT 2020 PRESENT

SENIOR AUTOMATION AND RELEASE ENGINEER, ANCHORE; SANTA BARBARA, CA - MAY 2020 - OCT 2021
Responsible for product release and CI infrastructure. Implemented processes for coordinated manual testing. Implemented automated UI testing. Implemented automated end-to-end testing. Introduced and drove continuous process/documentation improvement via handbooks and playbooks. Coordinated and managed DoD-specific product release processes. Implemented load/throughput testing framework. Docker, Kubernetes, Python, CircleCI, GitHub Actions, Shell, Helm, Cypress

SENIOR DIRECTOR OF ENGINEERING, SHIPHAWK; SANTA BARBARA, CA - NOV 2018 - MAY 2020
Head of ShipHawk engineering. Manage engineering in Santa Barbara and Kiev. Transformed dysfunctional engineering organization into process driven team, enabling high value sales and processing of over 1 million customer shipments per month. Rolled out development and deployment processes, monitoring and alerting, cross time zone production support, internal customer success tools, documentation standards, requirements standards for professional services, and cross department SLAs and communication protocols.

ACTING HEAD OF PRODUCT, SHIPHAWK; SANTA BARBARA, CA - FEB 2019 - JUL 2019
Responsible for ShipHawk product roadmap and market strategy during search for new Head of Product.

SENIOR PRODUCTION SUPPORT ENGINEER, SHIPHAWK; SANTA BARBARA, CA - JUN 2018 - NOV 2018
Triage and delegation or implementation of critical, show stopper, and high priority issues for ShipHawk's cloud production systems. Programming, devops, QA, release, customer support, assist sales with RFPs. Hiring and managing engineering interns to help revitalize ShipHawk's intern program.

VP ENGINEERING, ACTIVERAIN/BRIVITY; SANTA BARBARA, CA/BELLINGHAM, WA - SEP 2017 - JUN 2018
Brivity is CRM for real estate agents. Individual contributor in application design and programming. Management of core development group including prioritization, scheduling, mentoring, and implementing a software engineering process tailored to the group's skills. Rolled out coordination processes between development, QA, and customer support groups. Enabled company's initial foray into machine learning. Ruby on Rails, PostgreSQL, AWS, 3rd party integrations.

ActiveRain is a blogging system made up of a 8+ year old Ruby on Rails codebase on AWS. Maintained key portions of blogging platform and SEO system.

FOUNDER/CTO, OPUS LOGICA, INC.; SANTA BARBARA, CA - JAN 2013 - OCT 2017
Company's primary programmer and team leader. Designed and developed applications for multiple of Opus Logica's clients, including:

SerImmune
Defined scope of work with SerImmune's biologists and bioinformatics engineers. Designed, implemented, and led team to implement a DNA analysis pipeline system using Ruby on Rails for state/pipeline management and Kubernetes for Docker container orchestration. Each stage in the pipeline carries out custom data processing, invoking various different data analysis software components and storing intermediate results in Google Cloud Storage for the next stage to access; each stage is run in one or more ephemeral Docker containers. Ruby 'agent' code runs on Docker containers to execute and report results. Hosted and run on GKE (Google Kubernetes Engine).

ActionWins
ActionWins is a referral management platform, allowing the addition of referral management to a site or application through a JavaScript plugin or via a web API. Designed and implemented the application, set up deployment and management on Digital Ocean. Ruby on Rails with PostgreSQL, and hosted on Ubuntu with Apache/Passenger. REST API for customers who wish to add referral management functionality but entirely control the user experience. Two kinds of JavaScript widgets for easily adding referral functionality: one that allows the customer's web stack to provide an end user's email, and one that works when the customer has no login system for their end users (e.g., WordPress).

Special Technologies Laboratory
A researcher at STL needed a visualization, modeling, and simulation system to analyze nuclear proliferation risk data. The goal is to vary specific parameters or relationships in the data and carry out simulations to determine how they affect the risk of nuclear technology spreading. Designed and built the prototype in Rails, which secured funding for the full project. I led a team to build the full system, which included a custom math execution engine, a simulation engine, a git-based storage system for results of simulations, and a reporting and data export system. Rails, node.js, PostgreSQL, git. On Ubuntu with Apache/Passenger.

TECHNOLOGY PARTNER, THE OKORI GROUP; SANTA BARBARA, CA - 2009-2012
Systems/software development, management, and operations supporting all of Okori's partners and customers.

SENIOR ARCHITECT, NEXTALARM.COM; SANTA BARBARA, CA - 2007-2010
Design, development, deployment and management of NextAlarm's systems on RackSpace and AWS. Team leadership/mentoring. Java, Ruby on Rails, Fedora/CentOS, Debian, PostgreSQL, MySQL.

SENIOR SOFTWARE ARCHITECT, BOSCH/ETAS GROUP; SANTA BARBARA, CA - 2005-2007
Design and implementation of automotive diagnostic development framework and runtime engine. Data analysis and modeling. Design of single-source database for vehicle diagnostic data. Consultant to ASAM's ODX/MCD-2D (ISO 22901-1) committee. Drove open source software and tools. Mentored junior engineers.

SOFTWARE ARCHITECT, NORTHROP GRUMMAN; SANTA BARBARA, CA - 2004-2005
Designed and led implementation of XML Schema and XSL tools and libraries. Led shift in software development methodology to modular, component-based designs. Drove development tools and engineering processes (process and tools subsequently adopted across division for R&D projects).

SOFTWARE ENGINEER, EXPERTCITY (CITRIX ONLINE); SANTA BARBARA, CA - 2002-2004
Database oriented development for industry leading remote access products; used Java, WebMacro, JDBC. Data analysis and reporting; used SQL, Oracle, Perl, Java, Apache, CGI.

LEAD ENGINEER, ELECTRON ECONOMY; CUPERTINO, CA - 1999-2001
Engineer #5 (of over 200 engineers). Designed, built, and led teams building supply chain integration applications. Design and development of XML messaging, routing, and translation software to integrate EDI/legacy and EAI applications. Led and spun out sysadmin and database groups into separate teams. Created build and test environment prior to QA team existing.

IT SPECIALIST, IBM; SAN JOSE, CA - 1998-1999
Developed middle and presentation tiers for Offering Information, and internal IBM sales search engine. Java design and development. Built multithreaded caching engine.

UNIVERSITY OF CALIFORNIA, SANTA BARBARA - BS COMPUTER SCIENCE - 1998
Awarded Parsons Foundation Undergraduate Research Fellowship. Published 'The design of an interactive online help desk in the Alexandria Digital Library'1. Graduate coursework. Work in Distributed Systems Research Lab.

US NAVY - 1986-1990
Flight Crew, P3C Orion Naval Patrol Aircraft
Patrol Squadron Four (VP-4), Barbers Point, Hawaii
Honorable discharge, highest retention rating

From: Prince, Robert
Sent: Monday, November 15, 2004 3:42 PM
To: All/The Kingdom
Subject: RE: server1 & server2 going down for move

Server1 and server2 are back up. sshd on server1 took me a while to get working... the story goes like this:

Once upon a time, CVS over SSH was very very slow. Nobody knew why it was slow. Nobody even knew that it was SSH that was causing the problem. They just swore and groaned whenever they had to do anything with CVS. The whole kingdom suffered.

Then, one day server2's hard disk got fragged. A new hard disk was put in (although the old/bad one was mounted also, and used as swap which caused problems, but that's a horror story for another day), and the latest TopHat distribution was installed. CVS over SSH was magically faster on server2! In fact, it was almost normal!

The handsome Prince (who was very clever) realized that the slowness of CVS was due to the specific version of SSH that was installed on server2 before. He suggested to the IT ogre that perhaps CVS on server1 could also be close to normal in terms of speed if a newer version of SSH was installed, and suggested to the IT ogre that the latest SSH source be compiled and tried on server1.

The IT ogre complained and wailed that things didn't work that way in the World of Magical Windoze. He evaded the Prince for two full days before downloading the SSH source and building it to try the Prince's suggestion. Lo, it worked! Using CVS over SSH on server1 was now almost normal!

However, the next time server1 rebooted, sshd would not start! The villagers surrounded the server room, armed with pitchforks and torches. It sucked. The Prince found that sshd was looking for a directory in a specific user account - the IT ogre's account! The Prince cast the following spell: 'strings /usr/sbin/sshd | grep ogre'

and the output was thus:

/home/ogre/sshd/etc/sshd_config
/home/ogre/sshd/etc/ssh_host_key
/home/ogre/sshd/etc/shosts.equiv
/home/ogre/sshd/etc/ssh_known_hosts
/home/ogre/sshd/etc/ssh_host_rsa_key
/home/ogre/sshd/etc/ssh_host_dsa_key
/usr/bin:/bin:/usr/sbin:/sbin:/home/ogre/sshd/bin
/home/ogre/sshd/etc/sshrc
/bin/sh /home/ogre/sshd/etc/sshrc
/home/ogre/sshd/etc/ssh_known_hosts2
/home/ogre/sshd/etc/moduli
/home/ogre/sshd/etc/primes

It seemed that the IT ogre had compiled SSH in his home directory, and that info had been compiled into the binary. The Prince's friend, the wise wizard, pointed out to him that the IT ogre must have explicitly cast his spell of making such that it used '/home/ogre/sshd' as its install path, since by default it would want to create itself in /usr/local/sbin.

The Prince, aghast at such a twisted use of black magic, cast a healing spell of making which purified sshd, and the kingdom rested easy. Everyone that used CVS over SSH was content.

So, you'll notice the next time you do anything w/SSH on server1, the host keys have changed. Sorry.

The end.