Oct 20, 2004 21:19
So I've refused to read/write an LJ entry since they are either superficial or are totally depressing. But I'm tired of [some] my friends complaining, so here is the story of the past 4 months. Due to the length and complexity of the story, it may be missing some details.
Background
I work in research group that is a joint project between UC Berkeley (UCB) and Intel Research Berkeley (IRB). The UC Berkeley side of the project is called PIER1 which was started when I first arrived at Berkeley 3 years ago. During the past 3 years, I've been the chief architect and coder on the project.
A little over a year ago, one of my three advisors (Joe, my primary advisor) began a two-year term as director of IRB. This started collaboration between UCB and IRB. As part of the collaboration, IRB started a project called PHI2. The goal of PHI was to build on top of PIER. PHI is dependent on PIER (or a similar piece of software), while PIER is independent of PHI, but it becomes more influential given the PHI project. Since Joe was director of the lab, he felt it would proper if one of the full time staff at IRB would be the principal investigator instead of him. So Timothy Roscoe (aka Mothy) was selected as PI of the IRB side of the project, ostensibly Joe is still the boss.
The Problem
This story begins back in July, but I didn't know that then. I was working feverishly on a paper due the beginning of August. Because of this, I was kept out the loop of a discussion being held, primarily between Mothy and Joe. They decided it was time to rewrite PIER. I began hearing rumors of the rewrite shortly before I finished the paper, but did not think much of it since I thought there would be a group discussion.
While I was writing one paper, Mothy was spearheading a second paper for a workshop that was supposed to be a vision paper related to PHI. I read the paper a couple of times while writing mine, providing feedback, but the paper was still only an extended outline so there wasn't much to comment on.
After I finished my paper, I reread Mothy's paper, and was shocked. The paper alluded to a new version of PIER being written, and took some unfair (and factually incorrect) shots at the existing version of PIER. I politely complained about the description of the existing version of PIER, I was ignored. But that was not the worst part, the paper had become an experiences paper, discussing some of the lessons learned writing PIER. Recall, that I wrote PIER, so in a sense, I learned the lessons that were being written about. I was not included on the author list.
Soon after the paper was submitted, I expressed my displeasure to Joe. He said he understood my issues and told me not to worry, the paper would not get accepted. Two months later, it did get accepted.
A couple of weeks later (middle of August), when the PHI group finally met again, the agenda was focused on the proposal Mothy had to make to Intel regarding what the PHI project was, etc. It was the first time that the goal and deliverables of the PHI project were articulated. The first goal of the project was to improve PIER to include multi-query optimization. Interesting, that is my thesis topic. I questioned whether this was proper. Joe assured me that this was collaboration and was fine; I'd get the resources of Intel helping me with my thesis. I was leery of this, but let it go since I trusted Joe.
Over the next few weeks (late August, early September) the discussion changed from the proposal to what the next version of PIER would look like. What!?! There was no real discussion about whether or not to write a new version or not, the discussion was what the next version would look like! After some prodding I was given a list of grievances with the current version. The complaints included performance, correctness, and lack of a protocol.
During September I proved each of the complaints false. I ran detailed performance tests showing that system was at least decent. It is actually a hard complaint to deal with since there are no other systems to compare it to, so it is actually a very subjective measurement. Correctness was fixed when I found a bug in our network transport layer (code that I did not write). Finally, I drafted a document drafting the protocol that the system uses (it was not very difficult; it was copied out of the code).
After this, I was told, by Joe, that the real reason the codebase was being written was that it would help motivate the team. It is true the PHI project was not progressing very well, mainly because no one knew what to do. Rewriting PIER would give people something to do, so in that sense it would motivate people. However, upon further consideration, that too was a bad reason. Everyone except Mothy was making progress, they had all began to find their niche. In fact, one member had moved away of the PHI project since he did not see the research in rewriting PIER.
Meanwhile, the development of P2 (the name for the new version) was beginning. A meeting was scheduled, without my knowledge, for this past Monday at a time I could not attend. I complained and a minor attempt to reschedule was attempted, but in the end the original meeting time was kept. Instead the purpose of the meeting was altered to just divide work up and I was not considered to be vital member to attend since I have not yet agreed to actually write any code for the new version.
I asked when the weekly design meetings would be, since that meeting was not going to handle that. I was told, by Mothy, that there would not be design meetings. Instead the design would be handled by those writing the code and when needed ad-hoc meetings would be held. I expressed concern to the group that we should have weekly design meetings. I was told we would discuss that on Friday.
The Meeting
So for the past month I've been extremely frustrated and aggravated over this entire ordeal. I haven't been able to meet with Joe for the past month due to various reasons. Finally this past Tuesday we were able to meet. I vented.
We started with the workshop paper Mothy wrote that was unfair and left me off the author list. Joe bluntly said, that I was wronged, and he will get it fixed. He didn't give details, but I trust he'll do what he can.
The next issue was meetings and why they would be scheduled without input from everyone. Joe explained that Mothy was persistent about keeping non-coders out of meetings. I protested, I wrote the original version and therefore earned a seat at the table. Why would you prevent someone who has done this before from providing input? Joe agreed that I had a point and said he'll see what can be done.
Upon further consideration, the entire concept that people should be excluded from a meeting makes no sense, why would you want less input on a research project? We are all part of the same research group and we all have an interest in how things come out, how do you justify excluding input?
Next we moved on to the whole issue of the rewrite. I defended my position that there was no justification for a rewrite. Joe partially agreed, but hesitated to actually say I was right, but I could tell he knew I had a point. He reiterated his ‘excuse' that it will help motivate the troops. I explained that was not the case and may only be motivating a single troop, the general, who of all people should not need motivating.
Joe then adjusted his reasoning to the real issue. Mothy and I do not get along. Joe then carefully blamed the situation on me, saying it is difficult to work with me with regards to the code. Prepared for that reasoning (he had mentioned this before, but not in this context), I pointed out a number of successful examples of me working with others.
Joe then said he did not feel comfortable responding in too much detail at this point (we were getting into specifics about other people, so that was understandable). He said that he would be meeting with Mothy later and would discuss this issue. It is obvious to him that this is becoming a big problem and he must help the two of us work together. He said I'd have to compromise and things may not work out the way I want them to. My reply was that a compromise means both sides get something.
As we were wrapping up, Joe said he appreciated my candidness and would think about what I said and see what he can do. All I can do now is wait and see.
Perhaps the worst part of the whole situation is I have no control over what is happening and I absolutely hate that.
1 PIER (P2P Information Exchange and Retrieval) is a P2P query processor written in Java. It is designed to link millions of computers together and be able to query data located on any of the nodes.
2 PHI (Public Health for the Internet) was originally a vision on sharing data regarding network performance and security information in order to make people, even the common person, more aware of what is happening on the Internet.