So, I work at a smallish company as a full-stack web developer with several other people.
The guy who has worked here the longest ("Mark") has been here for six or eight years, and developed the initial database and system to maintain information related to advertising sales and the companies who advertise with us.
Another guy has worked here for about three years ("Jim"), and was put in charge of developing a database and system to manage subscribers to our company's publications.
Over time, Jim's system has kind of grown out of control and exceeded its scope. It has gotten to the point where it is partially duplicating data from Mark's system. Jim's system is the source of data for several different applications, and is growing more and more difficult to work with. It is affecting several people's ability to work on these "satellite" applications.
I work on a few of these applications. At a recent meeting, it was suggested that some of these applications should rely on Mark's database rather than Jim's, despite them currently working . I agree that logically, these applications should rely on Mark's database.
Unfortunately, our company has a very flat structure, where everyone works right under the president. There are no projects managers and no one has any authority to tell one another what to do. Thus, we're in a constant stalemate and it feels like tensions are rising between Mark and Jim. It doesn't help that Mark has grown to despise Jim for years because of Jim's project's encroachment on his system.
Again, I agree that many of these applications which rely on Jim's system should instead rely on Mark's, but that involves a coordinated effort of several people to switch over. I spent the last two months overhauling one of the applications, and now I may have to do it all over again.
While I agree with Mark in theory, he's getting kind of crazy in practice. He started secretly recording meetings so he could prove that the boss actually suggested the switch-over. He's telling me to start looking into switching over, despite him having no role power over me or the other people who would have to coordinate. He takes every opportunity to complain about Jim, and complains about even the nice things he does. Jim says hello to Mark in the mornings, and Mark ignores him and complains about it. It's getting personal and pathological. While he may be right, he's still losing it and getting emotional.
All in all, we have problems and I don't know what to do. This is not good for the company or us who work here. Jim's scope creep is, without a doubt, causing problems and making life harder for everyone. Mark's reaction will, at least in the short term, create more work, more headaches, possibly cause more tension, be unnecessary, and make several months worth of work moot.
Our boss, the president of the company, is essentially the manager of ~40 employees, and cannot possibly stay on top of all of this. I don't want to be in the middle of this. I'm currently working under contract, but they've extended me an offer to come aboard full-time. It's a great place to work, but you can see there are problems.
So, what do I do? Do I tell the boss about the tension between my coworkers? Should I suggest different roles, so we could actually have project managers? Do I just switch over to Mark's system? Do I confront Mark and Jim and make them sort it out? I feel trapped in a big pissing match.
Thank you for any advice you can give me.