Trouble in Paradise
When I joined The Shop, I was expecting to work on something entirely different from what I'm actually doing. The change came on my first day when it was explained to me that they needed me to help with The Magic Schoolbus, which I've talked about already. After my first meeting about the state of the code and the architecture, I knew that the goals I'd been given initially: Rewrite it, were not going to be well-received. But hey, let's face it, it's a pretty simple concept: deliver price ticks from the exchange feeds to the clients in an efficient way, and make some provision for getting static data (index compositions, etc.) as well.
Face it: it's a price feed and a data service. That's it.
But the existing codebase makes this far far more complex than it needs to be. There is blanket copy-n-paste use at the application level which makes maintenance exceptionally hard, and there are code generators, etc. I've touched on a lot of this, and while I really did give it the 'ol college try to make changes within the existing codebase, I was always left with the realization that this was the wrong way to go about doing this.
What was needed was a complete re-write. A massive simplification of the problem and the tools. One message for price ticks - maybe two, but that's it. One message for "variable" (a.k.a. self-describing) data - that's it. There's so much that can be done when you eliminate all the complexity.
But at the same time, this stands as such a threat to the status quo that it wasn't surprising that when it came up, there was push-back. Even real anger, from the guys in the Team.
It wasn't my choice - it wasn't even my initial goal, but it was all that was left. They, of course, did not see it this way. I didn't want to tell them this - I had held off on talking to them about this until I had a really decent start on the system with a lot of headers written and even a few classes implemented to show where I was going, and that I was willing to put in the work to make it happen.
Didn't really turn out well. And even while I was in it, I had a feeling this wasn't going to go well. I just had a feeling.
Too often people that work on far too complex systems define themselves in terms of that project. "I'm the Magic Schoolbus Guy. We've seen it time and time again. When that position of power is threatened, it's not met with open arms. More like armed resistance.
I tried to point out that there are plenty of good ideas around the table - even where I'd used several folks ideas and gave them kudos for seeing the right solution. Didn't help. Still lots of hostility. I understand it, but it doesn't help. I've got a job to do, and this is just going to make it harder.
I guess I needed to be taught a lesson. That seems to be the way things are going for me these days.