At the end of March, I started work at
Performance Engineering Corp, or just PEC, with the title of “Principal
Member of the Technical Staff”. PEC was a small company of less
than hundred people that did mostly government contracts. PEC
focused mainly on highly technical, and thus high profit margin,
contracts with the government. PEC hired me for my image and
graphics experience but also because of my software development
experience. PEC had won a contract with the Alcohol, Tobacco, and
Firearms (ATF) to develop an image system for the scanning, storage and
searching of ATF case reports. They had won the contract a couple
of months before I started, and their technical lead had left so needed
someone to head the team to finish development and install the system.
I was brought on to head the team which had two full time and two part
time very junior level programmers.
PEC’s office was located just off I-66 in Fairfax, which was an easy
20-minute drive from Reston, one of the reasons I chose the job. The
imaging project I was hired for was about halfway done and installed in
lab at PEC. The system consisted of a Unix based server running a
database package, a document scanner, and several PC based user
workstations, but the integration of all the various components had not
been completed, that is what I was to lead the team to do.
I found the project interesting. Every year ATF investigates hundreds if
not thousands of cases not only relating to alcohol, tobacco and
firearms, but bombs, gangs, and all sorts of other such things. For each
case, agents file reports on their findings, with cases often going on
for months or years, there were lots of reports, all on paper. Part of
the ATF investigation process was to search the report archive for
anything that might relate to active cases, and they had a staff whose
job it was to do the searches. People’s names, license tags, make and
model of a car, firearm serial number, and many more such things. They
did have a computerized database that contained information for each
report that could be searched, but it only contained the basic key
information pulled from the reports such as names, places, license
numbers, firearm registration numbers, and so on. They had a dozen
or so women who would read each report and enter the information. For
any information not entered, which was most of the report, they would
have to go to the files and find the paper report.
The new system we were developing not only had the information their
current system had, but also contained the full text of the reports and
scanned images of the pages. With the new system you could not only
search for the basic information, but any text in the reports and then
pull up and view the actual image of the report.
The basic system was assembled in the PEC lab and had several
components: a Unix server that ran an Oracle database for the basic
report information, a separate database that stored the full text of the
reports which could be searched, a document scanner, and Optical
Character Recognition (OCR) software that would scan the document images
and save the text of the document. Then there were the end user PC base
workstations which users could search and display the reports.
While the basic system components were in place, the individual
components needed to be integrated together and the end user interface
software developed. Of the two “older guys”, perhaps 25 years old, one
handled the Unix parts of the system, the other the database and
software development. The two programmers were both 19 and worked part
time. They both were friends who had just completed home-schooled high
school together. All the team were very bright but didn’t have a lot of
experience.
The team worked well together, although very smart, the programmers were
not very disciplined. The end user interface was all being developed
using Microsoft Visual Basic. I had a schedule and a plan on what needed
to be developed and in what order. I would give them assignments,
portions of the system, to code then check on the later in the day and
find they decided to work on some other part of the system. When I
looked at the code they wrote I would cringe at how poorly it was
written. The two younger part time guys had also started college so as
their college workload increased, their hours at PEC decreased.
The other older, full-time programmer was sharp and a really good Visual
Basic programmer, again not all that disciplined, but he listed my
suggestions on how to improve his code, sometimes to the detriment of
the project. I remember one time he asked me to look at some portion of
the user interface he was having difficulty with, and I looked over what
he was doing and made some suggestions. I checked in with him at the end
of the day before I went home, and he said things were going well.
The next day he was late coming in, which was not all that unusual, he
often would come in at nine or nine thirty, but that day it was closer
to eleven. When I checked in with him, he said he had worked until two
in the morning and had re-written a major section of the user interface.
I was impressed and asked him to show it to me which he replied that it
wasn’t working yet, give him another few hours. The few hours tuned into
a couple of days, so much for my schedule. In the end it probably
was good that he re-wrote it as it did make it better but, in the
future, I talked to him in more detail about what needed to be done
before doing it. Lessons learned as a manager.
It was a nice place to work, the one thing that did bother me was my
office across from the coffee station which the secretary would make
fresh coffee first thing in the morning. Although I don’t drink coffee,
I liked the smell of fresh brew coffee in the morning as it brings back
memories of waking up to the smell of Dad making coffee in the morning.
At PEC they made hazelnut coffee which at first I thought was pleasant,
but it has a strong artificial hazelnut smell and after several months I
found it disgusting. To this day I can’t stand the smell of hazelnut
coffee.
Updated: 04-10-2024