You can read a bit about me at The Robert Prince At Work HowTo, or at LinkedIn, or look at my sometimes photoblog at robertprince.[net, org].

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.

The Robert Prince At Work Howto

This document attempts to give the reader a quick-and-dirty view into what I'm like as an engineer and as a manager. It's meant to help quickly understand some of my quirks, expectations, behavior, and personal philosophy. It's partially inspired by this article.

As an individual contributor, programmer, engineer, systems wrangler, whatnot

My defaults as an engineer

For better or worse, my identity is tied up in what I do

That means sometimes I can't separate my ideas or opinions from my identity. I've gotten much better about it, but once in a while I'm stubborn about something just because I didn't think of it. Point this out to me and I'll get over it.

I need to care about what I do, and feel that it is meaningful

I can usually find something fun, interesting, or otherwise compelling about it. But if I can't, it's going to be really hard for me to be good at it. If an organization is morally or ethically challenged, it's going to be really hard for me to function well within it.

I'm irreverent and I like to joke around

I like to joke around. I use obscenity. Get over it, we're adults. If I offend you please tell me - I do not want to offend you or hurt your feelings. I want to make you laugh.

Informality in culture, except when it comes to doing work

I'm rather casual when it comes to dress (this does not mean being casual about personal hygiene). If you conflate casual dress (shorts, tshirts, etc.) with professionalism and seriousness about work, we are not on the same page.

I'm direct

I value directness and forthrightness over obliqueness and vagueness. I consider clear communication critically important to success. I may ask you to disambiguate your communication, and this may seem aggressive. It's not meant that way, and it doesn't mean I don't care about your feelings. When asked, I will happily disambiguate my own communication. I probably won't actually use the phrase 'disambiguate your communication'.

I like and need to work with people

I like to be part of a team. My work is more satisfying to me when I'm part of a team, whether it's local or distributed. I've been an army of one and I don't much care for it.

Half-assing things annoys me

If you like to cut corners, I will want to discuss that with you. The corner you cut today will cut you tomorrow.

I like to help people

It makes me feel good when I help. That might mean mentoring, pairing in code or design, helping to troubleshoot, helping to triage bad situations, creative collaboration or brainstorming, or any number of other things. If I think I can't or shouldn't, I will tell you why.

I have strong opinions

I am, however, open to having my mind changed.

I like being asked and dislike being told

I may have authority issues.

I like designing systems/software

In addition to the joy of coding, conceiving and planning systems (groups of components that work together to accomplish a goal) is lots of fun.

I like UNIX

I consider *nix and *nix-like systems to be preferable in many situations. At its most basic, human-computer interaction is about manipulating text. *nix-like systems and tools are built on that idea, and I (mostly) find them to be "better". I understand that this opinion is not shared by all people, and I try not to proselytize.

In general I'm very responsive, but I hate Slack

I dislike most messaging systems other than email and IRC. I'll use them, but not on my phone. If you need to reach me right now, call me. That's why you have my phone number. If you need to reach me soon but it's not an emergency, email me or if you must, text me. I'm pretty responsive with email and text. Why do I "hate" Slack? I don't actually hate it. It engenders an expectation of always on, instant responsiveness; the subtext is that if you're not highly responsive in Slack, you're not a "team player". That's horseshit.

What I expect from colleagues

I strive to treat you with respect; please treat me and others with respect

If someone is a bully or a jerk in their default communication style, there's a decent chance I won't get along with them. If I see a teammate or peer getting bullied, I may say something about it.

I expect that you try

It's no fun to work with people who are phoning it in.

I expect to learn from you

I don't think I know all the things. Part of the fun of working together is learning from each other.

I expect you to learn from me

Sometimes, even if I'm not the smartest person in the room, I have something good to share.

I expect feedback

I can probably get better at whatever it is, but you have to tell me about it. I will listen to you.

I expect that you can listen to feedback

If you can't or won't, it sucks to work with you. Seriously. Piss off.

What I expect from my managers

Truth and clarity

Garbage in, garbage out. Tell me what you know; don't obfuscate or compartmentalize unless you're legally obligated to.

Shield me from politics

Politics and infighting are unfortunate truths of being human. Your job is to protect me from as much of it as you can.

I expect feedback

I want to know how you (and the larger organization) thinks I'm doing.

I expect that you can listen to feedback

You want to know how I think you're doing, don't you?

I expect that you have advice for me

I hope you have context that I lack, and that this guides you in guiding me.

I expect that you can listen to advice

Sometimes I have a better take on a specific topic than you do. It's in your best interest to have an open mind.

As a manager, executive, team lead, what have you

My defaults as a manager

One of my most important responsibilities is to provide you the space and context to do your job

See above where I expect my manager to protect me from politics. Crap rolls down hill, but it should stop at me.

I can't help but care about you

If you're on my team, you're part of my crew. I'm fiercely protective of my crew.

What I expect from colleagues

See above.

We'll do 1-on-1s every week(ish), more if you want

It's your time, and it doesn't have to be about tech or your job. It's not a status update. You might have questions for me, or I might have questions for you. It might be about keeping up on what's happening around the company, it might be about professional development/learning/etc. I expect that you'll have things you want to talk about, because I might not always have things I want to talk about.

1-on-1s are not the only time to talk - anytime you need to talk to me, talk to me

I'll try my best to make it happen.

Sometimes tasks are vague

We often have to make decisions without all the info we need. If you think a project, task, work unit, etc. is too vague, tell me. I'll probably agree. We'll talk about it.

I will try to ask you instead of telling you

If I'm not doing that well, please tell me. If something isn't clear, ask me. It's ok if we disagree, but if it's my ass ultimately on the line, I may choose my way instead of your way. If your way is superior, I'll probably go with your way. I might not though, and the reason might not be technical, but I will tell you what it is. The best technology doesn't always win.

I want to know what you're doing

One of the things my boss wants to know is what everyone on my crew is doing. Please make it easy for me to tell them.

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