Today I had another in a series of very unusual exchanges with a new guy at The Shop that was brought in to assist me in getting a few things finished up in time for an upcoming release. He was brought in - as I understood it - to be the heat shield for me to enable me to get a lot more done with someone cutting through the red-tape and such. It's not like this is Rocket Science, but it'd really help to have someone running interference for me, and then I'd be able to stay focused and writing code. But that's not how this first week has been turning out.
The guy is nice. I don't believe he's a mean or nasty person at all. I think he's got skills, talents, and drive - all good things. I think for a lot of people, this guy would be great. But for me... for this project, it's not really working out. Yet.
This project is supposed to be about getting something done. There are plans for longer-term solutions in the works, but they are going to take time to build and get up to production standards. If they were running now, there'd be no point in the work I'm doing - we'd get data from external sources, and simply throw it onto Kafka, and the Big Data Team would take care of it. It's a good solution.
If it were built.
But it's not.
So in order to meet timelines, I believe we agreed to have something more short-term that would hold off the need to rush the implementation and do a poor job. Everything I've heard reinforces that - save all the conversations with the new guy. To him, this is an opportunity to build a replacement for the Big Data - and do it at scale.
To me it's a classic Don't use a hand grenade to kill a mosquito - but to him, that's just a matter of opinion. And in truth, I suppose it is. Depends on the size of that mosquito.
He wants the problem broken down into different phases - services, and then different database tables, and all that would certainly work, but it's far too much and too complicated for what we need, and we have the time factor against us. The more complex we try to make this, the greater the risk we won't finish on time.
But that's not the odd part about this exchange today... No, today was about the order of building things. He wanted me to build all the acquirers and parsers and then worry about what to do with the data, where I have done enough of them to know that I don't need to do more, but the architecture I've picked might be wrong if I run into something I don't expect in the subsequent processing of the data. So I wanted to finish one or two of the sources all the way to completion, and then go back and finish the rest.
He disagreed. He said that he understood, but it's what He wanted that counted, and he wanted all the 'first stage' work done.
I tried to talk to him about my concerns of the risks to having to go back and re-work the code - as I'd already had to do for persisting the data to the filesystem, but he wasn't swayed. In the least.
He kept at it - asking me "Are you going to do it?" - seemingly waiting for me to say "No." I told him I didn't want to lie to him - to tell him I'm doing one thing when I'm not. And that I didn't feel at all comfortable with his plan - for this part of the project. He wasn't swayed.
In the end, I had to say "I can't."
I have no idea what the upshot of this is going to be. I worry it won't be good. But maybe it was a test? Maybe he wanted to see how I'd respond to a stressful situation? Maybe a lot of things. I just don't know.
I told my HR rep, as she has been up to date on this from the beginning. I don't expect anything from HR, but it's important to understand that when I was being insubordinate, there was a reason, and it was for the good of the company. I don't know if it'll make any difference. We'll have to wait and see.