To be the Dumbest Person in the Room
July 7, 2017
I want to work with intelligent, opinionated people who can make the world a little better. Then iterate.
I’m the CTO of PacerPro. If you’re looking for a software developer job, then you’ve come to the right place; read on, my friend. If you’re not looking, yet, now, or never, but you know of someone who might be interested in this, please pass this on to them. You never know how things work out.
What is PacerPro and why should I care? PacerPro searches for, and collects documents from, PACER.govPACER (acronym for Public Access to Court Electronic Records) is an electronic public access service of United States federal court documents. It looks like it was written using 1990’s era FrontPage. It has lots of problems. , then distributes them to our clients. We strive to have the most accurate, up-to-date, and complete set of “facts on the ground.” The company has been in business since 2012, we have paying customers, many of them in the Am Law 100. I’ve been involved with PacerPro since 2013 when I was anchoring the project at Pivotal Labs. Gavin McGrane is a very straightforward CEO, no drama. He believes in his vision and knows the business because he (and his family) are lawyers. The company has an interesting, albeit work-a-day, future. I believe that PacerPro solves a terrible productivity problem with US Courts system.
WANTED: Jaguar Priest
1. To impersonate and invoke the deity
2. To offer food and drink to the idols
3. To effect the drawing of the pebbles and regulate the calendar
4. To read weather and other omens in the clouds
5. To study the night sky and interpret the appearance of the celestial bodies
6. To determine the lucky and unlucky days for various mundane activities by the casting of lots
7. To perform the numerous rituals of the cup, plate, etc.
8. To work miracles
9. To concoct medicinal herbs into ceremonial drinks
10. To predict the future
11. To announce the times for various agricultural and other activities
12. To insure adequate rainfall
13. To avert or bring to a timely end famine, drought, epidemics, plagues of ants and locusts, earthquakes
14. To distribute food to the hungry in time of need
15. To cut the honey from the hives
16. To determine the compensation to be placed on the crossroad altars
17. To read from the sacred scriptures the future road of the katun [calendar round]
18. To design and supervise the carving of stelae [stone monuments], the manufacture of word and clay idols, and the construction of temples
19. To construct tables of eclipses and heliacal risings of planets [such as are found in the Dresden Codex]
–Makemson, M.W. The Book of the Jaguar Priest, a translation of the Book of Chilam Balam of Tizimin, with commentary. Henry Schuman, New York, 1951, p. 141. Our mission is to make PACER documents more accessible, with less friction and lower costs. If you’ve heard of Aaron Swartz’s efforts or the RECAP project, we’re in a similar space, except that we’re trying to do it in a way that is financially profitable (in the long run, anyway, that’s the plan). Most of the documents from PACER are behind a “paywall,” even though they are public records, but once they are downloaded from PACER, we can give them away without charge. The other big product that we’re building is an analytics platform that sips off of this data stream to give law firms a tactical advantage in their marketplace.
I’m looking for my next “senior” engineer. (I’d like to hire a pair, but, you know, budget.) What makes for an interesting candidate? It’s not a degree, or n years of experience. PacerPro’s founders are practicing lawyers. They know their stuff. I probably have the fewest number of degrees compared to everyone else in the company. I’m looking at the following qualities: You understand our business, or, if you don’t, you have a genuine curiosity and ability to learn it. You are able to have conversations with our customers and stakeholders. You know how to research a problem. You know when to ask for help. You can think beyond the current story and consider ROI. You’ve shipped a real product before that you can show me. You have hands-on experience with our technology stack. I hear that “full stack” has become a dirty word, but we all do pretty much everything around here. Expect to handle Zendesk tickets from lawyers about one day out of the week. I’m not expecting you to be an expert in everything, but competence or the ability to spin up without too much inertia is a requirement. You are an eternal student and teacher. You want to bring us all to the next level, as do we for you. You want to work using our methodologies. We are an Agile shop in a mostly XP style; we have a daily stand-up (and evening round-up), pair-programming is our default stance; we need a good reason not to pair. Test-Driven-Development is how we grow code. Clear, understandable code is more valuable than clever tricks. We do code reviews on pull requests. Our backlog is in Pivotal Tracker, groomed by myself and the product manager, Arthur Law. We have automated continuous integration tests. We have continuous code quality testing. We can deploy at any time with one command line:
rake production deploy.
A big chunk of our code is navigating the PACER system without a human operator, i.e., HTML screen scraping. We’re building an API for our clients to use to integrate with their internal systems that are often client-confidential. We want to build NLP/deep/machine learning that will identify documents as they pass through our platform so that our clients can act on them in a timely manner. We want to expand our search capabilities into our PDF repository.
We’re not even close to huge, but we’re not a small project any more, either.
site status Our operations are hosted by Heroku. We run into scaling issues now and then, which is a good thing. We’re pretty good at handling them, too, which is another good thing. Our PostgreSQL database has grown to about 200GB, the S3 store has over 1.8 million documents, and, at peak, we get 500-750 requests per minute. We send out 500,000 transactional emails per month. Our web server is written in Ruby on Rails 4.2.x, with a smidgen of Node Express. Our front end is mostly written in ReactJS 0.14.x, our newer code uses Redux, with a bunch of legacy Backbone code. Yep, we got ourselves some technical debt. We know where it is (mostly) and how to fix it, given time and eyeballs. That’s where you’d help out.
PacerPro is a small, distributed team. There is no physical office (at the time of this writing; we have tentative plans, fall 2017, to establish a space near the CalTrain station at 4th & King). We live in an always-on virtual space of SoCoCo and Screenhero. If you need something to be productive, we’ll reimburse you for it. Because we pair a lot, we have to work during a common, scheduled, time slot, 9:30-5:30, Pacific Time. I’ll do my best to accommodate some time shifting. Since pairing is as intense as it is productive, we work a reasonable work day. After hours and weekends are the very rare exception, only when it can’t be avoided.
Interested? Reach out to me.