Some six months after I had moved into application
development I, essentially, had a clean slate. The two who had originally
developed the product were gone: one quit; one I fired. I had no database
manager and my frontend team had been reduced to one woman on maternity leave
and one mid-level programmer who had promised to deliver a bug-free database
loading program. I wrote bug-free code, so I thought it reasonable to expect
the same from other programmers. You define the goals of a routine and make sure
that those goals are achieved and nothing else. You do it by limiting the scope
of your variables and procedures to make certain that there are no unexpected
side effects. Yes, it is possible to
make a careless mistake, but that’s what testing is for—to catch those mistakes
before the code is put into production. I never understood the policy of
throwing hastily written code into production mode and expecting the paying
users to do the debugging for you. Well, that might work for Microsoft, but it
didn’t work for me in my little shop. The six-week bug-free special was not as
bug-free as one would hope, and, as debugging continued, the six weeks turned
into six months.
Meanwhile, I had a team to assemble. First, I hired a
database manager. I found a woman with twenty years’ experience as a database
developer and manager. In the interview she seemed well-grounded and
professional—just what I wanted. I was nervous, though, about her salary
expectations, thinking that with her background she’d be asking for a minimum
of $75,000 and possibly pushing into the $80,000 range. I could have jumped for
joy when she said firmly that she could not possibly consider anything less
than $50,000. I kept a poker face however, and told her gravely that I thought
we might be able to meet that.
The programming position was more difficult to fill in that
there were simply so many applicants who thought that they qualified. You can’t
fake data management experience, but, when it comes to writing code, anyone who
put two lines of code together without crashing the system thought they were
more than qualified. I received over two hundred applications. On my first
pass, I set aside all those who clearly did not meet the basic qualifications
in my ad. Those who said, in effect, “I know I’m not qualified, but I learn
fast.” That doesn’t work when you have more than a hundred applicants who do
meet the basic qualifications. I then winnowed out all the ones with glaring
spelling and grammatical errors from the remainder; a programmer has to pay
attention to details. If he can’t be bothered to spell-check his resume, then I
don’t want him on my team. That still left about 30 that I carefully reviewed.
Those I sorted into two piles: those I was definitely interested in talking to,
and those I would take a second look at. I gave the ones in the first pile to
the personnel manager and asked her to arrange for interviews.
Greg, who headed the CD development team, was interested as
he was keeping his eye open for possible talent as well. I listened to his
comments and considered them, but I kept in mind that it was my team I was
building, not his. One of the people I interviewed was a mathematician from
China. However, his accent was so thick that I could not understand a word he
said. Besides I was more interested in finding someone with more practical than
theoretical experience. Greg gave me a hard time about my rejection of that
candidate, pointing out that he had a PhD in math and would be able to develop
algorithms that could transform our product. Maybe he could, but how could I
work with someone I could not communicate with? One candidate talked himself
out of a position by stating up front that he expected to be earning $75,000
after six months with the company. Mid-level programmers, like him, were
earning in the $40,000 - $50,000 range at the time. As a senior programmer and
project manager I wasn’t making $75,000.
I finally narrowed my choice down to two people. One was a
recent emigrant from Russia with the equivalent of a Master’s degree in
engineering and had worked for the St. Petersburg water works for a couple of
years. Her English was very clear and understandable and she had just completed
a six month course in mid-level programming, especially in the languages I was
looking for: FoxPro and C. She presented
as a composed professional. The other also was just completing a six month
course similar to the one the Russian woman had followed. This one’s prior
experience was working in a car dealership, so she had some familiarity with the
material in our catalogues, giving her a leg up on other similarly qualified
candidates. I talked the situation over with Greg who suggested that I hire
both of them on an initial three-month trial basis at a much lower initial
salary than someone with their experience warranted, promising a salary review
at the conclusion of a successful three months. It turned out that both were
winners and were kept on with a substantial salary boast at the end of the
three months.
When my other programmer returned from maternity leave, my
team was complete. The fact that I had one male and four women working for me
caused comments in other quarters about “Ron’s harem,” but they were all
exceptional programmers. I set up a routine with a regular staff meeting every Friday
morning at which I supplied muffins and coffee. I would pass on any news or
directions I had and then we’d do a round table, reviewing each person’s
progress and discussing any problems they had encountered. I have worked in
some groups where competition between employees made such meetings unworkable,
but, with the group I had, it worked brilliantly. Everyone in the group was
anxious to help any other member experiencing difficulties. I would add a theme
to each meeting, such as bringing in the personnel director to speak about the
company’s vacation policies. One day I unexpectantly discovered that three of
them spoke fluent Russian; my database manager was Polish and the woman who had
been on maternity leave was from Bulgaria. So, now they could bond through
jokes and comments that were private to their group. They planned in their
secret language to surprise me with a Russian-style cake on my birthday. (Eastern European pastries have much less sugar content than their North American
counterparts; the cake was wonderful.)
One thing I did not tolerate was my lone male’s constant
harping on the subject of the CD development group. Greg had expanded his group
to five people. They acted as a group, always together. They arrived together
in the mornings, often not until 11:00 am and left together, rarely staying
past 2:00 pm. They spent their time closeted together in an office apparently
playing games. Their showed distain and contempt for everyone else in the
company. My approach was to let them hang themselves while my group carried
themselves like professionals and delivered results. Complaining about them was
not professional. I would listen patiently to my employee, but was careful to
neither agree nor disagree; nor to give him any encouragement.
A problem with my approach was that Greg was being fed a
constant stream of gossip about the fact that members of my team were
complaining about him. He asked me to meet with him and told me he wanted such
talk stopped. I assured him that it was only one disgruntled employee and that
I would speak to him. It did no good; the complaining and the gossip continued
and Greg held me responsible. I was not going to stoop to playing games with
him. I told him I had spoken to the person involved and that was as far as my
involvement was going to go and suggested that he should speak to his source
about getting her facts straight about who was saying what. We left it at that.
But, the divide between the two groups was apparent and when Greg’s group
delivered their long-promised CD, I silently cheered when Peter, the president,
furiously complained that it didn’t work and that the client was livid.
Next: The End
No comments:
Post a Comment