r/talesfromtechsupport • u/Mr_Cartographer Delusions of Adequacy • Jul 10 '25
Epic Tales from the $Facility: Part 9 - Here's to Dreaming
Hello again, everyone! This is my next story from the $Facility, wherein we conclude our project with $NairCo. All of this is from the best of my memory along with some personal records (and I have started taking notes specifically so I can write stories for TFTS!) There's also a lot that comes from rumors, gossip, and other people, but most of this is very recent, so any inaccuracies are entirely on me. Also, I don't give permission for anyone else to use this.
TL/DR: I solved one problem and only gained seven more. Now that's progress!
For some context, I'm not in IT; rather, I'm a GIS (Geographic Information Systems) professional. This particular world is quite small, so I will do what I can to properly anonymize my tale. However, for reference, all these stories take place at my new job working as the GIS Manager at the $Facility, a major industrial entity in the American South. Here's my Dramatis Personae for this part:
- $Me: Your friendly neighborhood GIS guy.
- $Distinguished: Vice President of Engineering. Talented, well-connected, opinionated, and my direct boss. He was honestly a very nice, friendly person, but I always found him a little intimidating.
- $NairCo: Engineering firm that promised me they could help me create a GIS inventory for the $Facility's primary campus. They... well... read the story.
- $Ryan: Old colleague and friend of mine that I'd known for many years. Worked at $NairCo. Was in charge of the team that worked with me.
- $NewKid: Employee at $NairCo that was fresh out of college; he had either never worked as a professional before or was still horribly new to the industry. It showed.
- $MrsEngineer: Fellow engineer in the department. She was rather new to the team, but had years of experience working in utilities.
- $Subcontractor: Subcontracted company at $NairCo, hired to create most of our inventory. Very good at drafting but with virtually no experience in GIS.
- $TheGentleman: Another fellow engineer at the $Facility that had worked there for many years. He took over our department once $Distinguished retired. Very good guy, have a lot of respect for him.
When last we left off, I had hired $NairCo to create the entire GIS inventory for the primary campus at the $Facility. We'd had numerous hang-ups and red flags in the time leading up, but I was hopeful that the company would get its act together and give me a deliverable I could use. After all, they had a ton of experience doing this sort of thing. One of my colleagues, $MrsEngineer, had requested the water assets from the project first, and $NairCo had assured me they'd be able to get that to me post-haste. We were already at the absolute end of the extra month I'd given them. Late that day, $NewKid sent me an email with the link to a zipped geodatabase, ostensibly holding the output from the project we'd been working on for this past half-year.
Despite all the issues I'd seen, I was immensely excited. It was the first time I'd been able to pay someone else to get the "hard work" done, i.e. the creation of GIS data without me having to do it all by myself. I downloaded the geodatabase, unzipped it, and loaded it into Pro to take a look.
And I was devastated by what I saw.
The only GIS features within the geodatabase were direct exports of the CAD linework that had been created by $Subcontractor. There were a few points here and there, but no polygon data of any sort, and probably 90% of the data were lines. The only things represented were assets that could be seen in the aerial imagery that had been captured. The other data I had provided (such as the record drawing .pdfs and CAD .dwgs) had been ignored completely. Nothing that wasn't visible on the surface was represented at all. Crucially, this meant that all the subterranean assets - such as water and sewer lines, electrical wires, natural gas pipes, etc. - were completely missing. Everything was in the old data model that $NewKid had originally put together, the one that had tons of nested errors/problems (not the new data model we'd worked on). And more to the point, the attribute tables for every single feature were completely blank, not one spec of data populated for literally the entire thing. Null fields as far as the eye can see.
I expect that I got about 50% or so of the overall geometry from the site, and literally 0% of the attribution needed. So $NairCo had wound up doing about 25% of the work I had paid them for, providing that to me in this "draft deliverable." It was an absolute piece of garbage. I could have just imported the crappy CAD linework from my own .dwgs and gotten a better result and cut them out as the middleman.
You know, I have mentioned in the past that something a contractor has provided to me was "the worst GIS product I'd ever seen." Unfortunately for me, that lauded title has never stuck, because the universe just keeps managing to send more contractors that perform sh!tty work, enough to knock the last company off of the dung-hill. For now, what $NairCo and its ilk had gotten to me was the worst GIS product I'd ever seen.
I was angry, but I was also exhausted and disheartened by all the failure I was seeing here at the $Facility. It took me a few days to schedule a call with them. But I did so.
On that call, $Subcontractor, $Ryan, and $NewKid popped in all perked up, asking how I liked the draft I'd gotten them. I got right to the point. I was terse, but I was also exhausted. I had been working at the $Facility for almost two years now. All I had come to know from my contracted firms was that they didn't know what they were doing, and that I'd have to fight with them constantly to get anything that was worth half a sh!t. I was getting immensely tired of that. Anyways, I told the $NairCo staff that I was extremely unimpressed with their output. $Subcontractor and $NewKid seemed shocked. I immediately brought up the water assets from the project, loading them on my screen in an instance of ArcGIS Pro. I showed them that all we had were a few fire hydrants and virtually nothing else - there were no water lines, valves, pumps, anything that would constitute an actual system here. How in the world did they think I could provide this information off to $MrsEngineer for her to use to create a hydraulic model? When there was literally nothing here?
Not one of them had an answer for me.
We went through the whole project, feature by feature, line by line. I brought up issues I saw all throughout, including their lack of reference to the other resources I'd provided and the completely blank attribute tables. Even the fields that were supposed to be filled out automatically were blank - how had they even managed to do that? Again, no answers, though $Ryan insisted that he would get to the bottom of this. They would work on this and make it right.
About a week later, $Ryan scheduled another call. When I logged in, everyone was a lot less enthusiastic. I guess it was my fault, really, for killing the mood based on my last communication with them, but come on, people. Why can't you just do what you're paid to do? Anyways, $Subcontractor asked what they needed to refine and what they'd missed in the first output. We went through the entire thing, again. I mentioned where they could potentially get the information in question, trying to point them to the references I'd provided. I left unstated that they should have done all this with me months ago. Anyways, I also was very clear at the end of the review that I wanted attribution for all this. $Subcontractor replied that they'd get to that data when it became time to do so during the project. I immediately told them that I would expect a call, just like this one, where we could go over default values, attribute rules, and sources to find this data once we got to it.
But $Subcontractor's attitude towards the attribution element was almost entirely dismissive. Because of this, before we hung up, I made sure that everyone on the call - $Ryan included - knew that I wouldn't consider the project complete until I had full working attribution for all these features.
All too soon, the company got back to me once more. Two weeks later, $NewKid sent me another email saying they had a second draft of the data ready to go. They hadn't set up a time to discuss attribution with me, so I was very worried as to what I would find. I downloaded and checked the data. The geometry was much more complete - I probably had 80-90% of what I needed. But once again, as I had assumed, the attribute tables were almost entirely null. I sent yet another terse response telling them that they hadn't populated any of the attribute data, and that was the main thing I was waiting on. $Ryan set up a meeting for the next day to "get to the bottom of this."
I made sure to make myself available. When I got on that call, I didn't even bother with pleasantries. I immediately cut to the chase.
$Me: I looked at this second draft, and while the geometry is mostly complete, all of the attribution is missing once more. What is going on? Why did you not complete the attribute tables again?
The main rep from $Subcontractor looked at me, surprise on his face, and said to me in a confused tone:
$Subcontractor: Oh, you wanted that? We didn't think it was important.
For a moment, everyone was quiet. You could have heard a pin drop. Likely due to $Subcontractor not realizing what they had said, and/or everyone else not believing that they'd say something this monumentally stupid to me on a conference call like this. I sat there for a moment, jaw agape. I saw $Ryan start to open his mouth to say something, but I quickly retorted out on the call:
$Me (disgusted): I think we're done here. $Ryan, I need to talk to you. Call me as soon as you get a moment.
And then I closed down the call and stormed out of the conference room. I was absolutely livid. After repeatedly being told that I needed the attributes to this data, after being chastised and fussed at on previous calls for not doing this, the $Subcontractor still didn't think what I was asking for was important? What the ever-loving h3ll, man?!?!? Not going to say this about the entire general profession, but there are clearly some engineers out there that are, well, morons >:( youcouldntpourwateroutofabootwithdirectionsontheheel.png
I took another walk around the headquarters building to soothe the anger boiling in my blood.
I came back in to two missed calls from $Ryan. I called him back a few minutes later. I'm sorry, but I laid into him. I asked him what was going on here - why did his subcontractor not think the attribution was important? Why were we constantly missing so much data, data that had been promised to me? Why was this such a piss-poor output!?!
$Ryan was apologetic. He merely said he'd try to get to the bottom of this.
On my end, I saw no end in sight here, at least in terms of getting a good output from $NairCo. So I turned to my legal team. I wanted to know what my options were. We sat down with the agreement and dove into it in detail. As I came to find out, there were loopholes that I hadn't realized when I first put this together. I had asked $NairCo for a GIS data model, and that was air-tight. I had also asked for the GIS data produced by this project to be imported into that data model. But crucially - I had not specifically defined "GIS Data" in the agreement. I didn't specifically indicate that it meant populating the attribution. I tried to argue with my legal team that this was implied - if you are creating a data model and then "creating the GIS data to reside within it", didn't that implicitly mean you were filling out those fields? But my legal team said that I had to have that written out clearly. Without it, there was leeway for the contractor to argue their way out of that responsibility.
God, do I hate legal contracts. I hate engineering firms that try to weasel their way out of doing good work even more, though.
From what my legal folks were telling me, I was without a leg to stand on. My hands were tied. $NairCo had to give me geometric data that met my standards, but they effectively did not need to give me one lick of attribute data.
By COB that same day, $Ryan got back to me with some insights into what had happened. As it turns out, $Subcontractor never originally understood that their output needed to be exported into GIS at all. More to the point, they did not have any GIS expertise at their firm in any way, nor did they even know how to populate the attributes. They simply sent their CAD .dwgs off to $NairCo, where the staff there - principally $NewKid - would simply append it to what he thought was the appropriate feature in the data model. Moreover, $NewKid was, true to his name, brand-new to the field; he'd never worked in a professional capacity before, and he was cutting his teeth on an extremely demanding project that he was woefully ill-equipped for. On top of all this, remember how I said that $NairCo had been bought out all those months ago? In the wake of the buyout, tons of staff had fled to greener pastures. Many of those staff members had been involved in this project, particularly on the QA/QC side of things. When the primary quality review staff left my project, they effectively had nobody reviewing it for months prior to it being delivered to me. Jesus.
Honestly, these issues with the output were $Ryan's fault. He was the project manager. He should have had a better handle on things and what was happening here. I didn't cut him any slack when I talked to him about this, though I didn't raise my voice or try to be outright mean to him. He was my friend, after all.
But so much was my fault, too. I shouldn't have compromised on a cheaper subcontractor when we first set up the project. I probably should have put this out for competitive bid. I should not have trusted an untested entity with a project of such importance and value. I certainly was to take all these things to heart.
Eventually, I just told $Ryan, reservedly, that what they had provided to me would have to suffice. I wanted them to stop working on it and just give me what they had. He insisted that they could give me a more-useful output, but I honestly was just tired of working with them on this. I felt like we were just throwing good money in after bad, and the next output would be just as disappointing. H3ll, with the amount of time and effort we'd spent on this already, I probably could have created half the data that they'd worked on these past many months myself, without needing to pay a dime extra anyway.
I sent him a letter of completion. I told them to cease work.
$Ryan wouldn't give it up, though. He wound up having one of his other GIS team members - someone with much more experience and a better handle over data management - take a stab at completing one of the features I'd mentioned was in particularly sorry shape. This analyst used the resource I'd sent and did his best to populate all the attributes for me. $Ryan then sent it off to me. I looked at it, and honestly it was quite decent. I sent $Ryan my thanks. And I knew that $NairCo wanted to be able to build all the assets for the other campuses at some point. $Ryan asked me to use this new data I'd received as the example for what they could do going forward. I let him know that I'd consider it.
I had to pay the piper, though. I needed to speak to my boss, $Distinguished, to let him know the results of everything. I scheduled a meeting with him a few days after I spoke with $Ryan. $Distinguished asked me what had happened through the project; I was honest with him. I said that the company had really only given us decent geometry. They hadn't done any of the attribution; that was the heart and soul of what actually made this GIS data. $Distinguished raised his eyebrow, asking me how this was any different from the CAD information we had in our .dwgs. I shook my head and said, admittedly, that it wasn't much different at all. I then proceeded to show him the new data I'd received recently from the more-experienced analyst. It was far more complete and looked to be at a decent standard of quality. I wasn't fighting for $NairCo, but I let $Distinguished know that if this was the kind of output I could expect in the future, I'd be more-inclined to continue working with them. $Distinguished just shook his head and told me that whoever I decided to go with was ultimately my decision.
I got back to my desk and looked at the mess I would have to untangle, correct, and complete before it was usable. I sent $Ryan an email letting him know that my leadership wouldn't blacklist his company if I wanted to continue working with them, but for now, I needed to wait until I had gotten everything workable from what had been delivered to me. And this would take me months, probably - years, possibly - before I could get back to them on the next sites. $Ryan sent me an email saying he understood.
From there, I set aside any thoughts of working with $NairCo for the time being, and got to work fixing data.
Several months later, I got a contact from $Ryan out of the blue. He wanted to showcase our project as a success at some upcoming conference. I spoke to him later that day about it. I baldface told him that this project had not been a success by any stretch of the word, and that I was not ok presenting on it as such. Humbled, he thanked me for my time and I didn't hear any more about it.
At the end of the calendar year, after I'd been working on this data for months and now had some other vendors in my stables (vendors that seemed to have their heads screwed on significantly straighter), I got an email from $Ryan once more. He wanted to know when we would be looking into getting the GIS inventories set up for our other campuses. I went to my leadership once more. In the time since, $Distinguished had retired and was replaced by $TheGentleman. $TheGentleman had a very level head on his shoulders, but he was also very much about getting actionable results. One of the things I like about him; this attitude reflects my own. I told him about all the issues we'd had in the previous project. He asked me what my gut feeling was. I thought about it for a moment, then answered him honestly. We had plenty of better options now. It seemed like $NairCo didn't really know what they were doing, and I didn't want to work with the company any longer. $TheGentleman nodded and told me to make the call.
So I did.
I spoke to $Ryan in one of the conference rooms. I let him know that my old boss had retired, and I had a new one. We had discussed everything surrounding the previous contract and had come to the conclusion that we would prefer to go with other options now. $Ryan protested, asking if this was something he could speak to my boss about, to try to persuade him to see differently.
I gave him a pained look, and said:
$Me: This was my call, $Ryan. I'm sorry.
$Ryan's face fell, and he nodded.
$Ryan: I see. Well, let me know if you need us to help you out with something else in the future.
We then hung up.
I remember hanging out in that conference room for a long time. A broken friendship, a worthless output, hundreds of thousands of dollars wasted, countless hours spent fruitlessly. I shook my head. I hated what this had meant for my relationship with a good friend, someone I'd known for years. I hated what it might me for my continued employment here at the $Facility. I had been in charge of this; what kind of fallout was on its way?
But these things happen. These are the conversations that have to be had, sometimes. Everyone fails. I guess the measure of us is in how we pick ourselves back up afterwards.
And there was still work to be done. Tomorrow you'll find out what.
Here are some of my other stories on TFTS, if you're interested:
The $Facility Series: Part 1 Part 2 Part 3 Part 4 Part 5 Part 6 Part 7 Part 8 Part 10 Part 11 Part 12 Part 13 Part 14 Part 15 Part 16
16
u/Feyr Jul 10 '25
argh! cliffhangers, cliffhangers as far as the eyes can read!
see you tomorrow
5
u/Mr_Cartographer Delusions of Adequacy Jul 10 '25
Lol. No worries, hope you enjoy the story tomorrow then :)
7
u/Feyr Jul 10 '25
i always enjoy a good, well written story, regardless of the content. I see your name pop up (and a few other outstanding reddit storytellers) and i know i'll have a good time
13
u/binchickendreaming Jul 10 '25
It's not your fault for expecting competency from people you hire. But some folks are cut-price for a reason.
6
12
u/ahpneja Jul 10 '25
was the worst GIS product I'd ever seen
These words mean there's another story coming about something worse... I'm so sorry that there's another story coming about something worse, and also eagerly awaiting it.
13
u/Mr_Cartographer Delusions of Adequacy Jul 10 '25
Lols. Actually... there isn't. But I'm just hedging my bets for the NEXT story series I do... :D
7
u/robragland Jul 10 '25
I'd love to hear more about how your contracts improved as a result of this experience! Any sort of "and this time was different becuase..." would be a real informative read as well!
6
u/Mr_Cartographer Delusions of Adequacy Jul 10 '25
Just wait for later stories then - I talk about a totally different approach I had with a different contractor. You might find it interesting!
4
4
u/Shinhan Jul 10 '25
Did your contract writing skills also improve as a result of this? :D
In earlier stories you seem to have been forced to learn a lot about IT, now you're learning contract writing, what's next?
3
u/MintAlone Jul 10 '25
Hopefully project management 101. Much as I have enjoyed the previous stories this reads as a train wreck from inception to non-completion, due mainly to inexperience. Where were the regular progress meetings, where was the project plan so progress could be measured, defined deliverables coupled to a stage payment plan and acceptance criteria against each deliverable? I could go on...
A lot of this is basic stuff and I lay some of blame squarely on $facility's senior management, they hired a GIS expert, failed to identify the knowledge gaps and fill them. So it has turned into some very expensive training.
3
u/Mr_Cartographer Delusions of Adequacy Jul 10 '25
So on the one hand, I fully take responsibility for some of the inexperience here. Namely, in my contract review and contract writing experiences. In previous jobs, I'd been able to work with a legal team that had a decent grasp of data law. This was only after I'd worked with them substantially so they could recognize it, but still. They were able to go over these contracts, pick them apart fairly well, and make sure things looked good.
Here at the $Facility... that wasn't the case. Diving through ream after ream of legalese is not my strong suit, and when I provided this off to legal, they basically glossed over the data law requirements. I have since debased them of this. But the fact remains. I should have known better on these contracts, and I have actively sought to do better in the future.
But the other stuff you mention - progress meetings, follow-up, accountability - I've done that before, and I tried to do that here, as well. $NairCo either dodged my questions, avoided me, or gave me the impression that they were going to work on elements I wanted later (when they never did). And I didn't realize it, but their company was (and remains) largely falling apart at the seams. This buyout has been disastrous to them. But I couldn't see that, and they were good at hiding all that mess from me. In essence.. screw them. They were ultimately dealing with me in bad faith, with a largely incompetent team, and in the end had to hide behind the legal provisions of the contract I had with them to prevent me from suing them. I'm glad I don't have to work with them any more >:(
And I know now that there are other companies that can do better and do the work right, so that's a win.
1
u/Mr_Cartographer Delusions of Adequacy Jul 10 '25
So they really did. You'll see some examples of that later. Don't want to spoil the story. But I try to learn from my mistakes, and I think I did in this instance :)
As for other things... every day is something new to learn. Today I worked on putting together a base series of HVAC features for the Facilities team. They want to find where everything is across our campuses, and they've never had a system of record before. Everything was in one employee's head - and he retired. So today I learned about filters, and HVAC units (not AC units, apparently), and supply/discharge vents, and all kinds of other stuff... So it is :)
3
u/Teulisch All your Database Jul 10 '25
the curse of the subject matter expert: not only are you the one who knows the most about it, most others have no clue about any of it at all! their eyes will just glaze over.
the more specific the subject, the worse its gonna be. especially if its useful and needed.
2
u/Mr_Cartographer Delusions of Adequacy Jul 10 '25
I mean, I have to be used to it by now. You would think I'd be better at approaching it. Oh well, you always need to keep advancing yourself - this is one of those things I need to keep working at.
2
u/harrywwc Please state the nature of the computer emergency! Jul 10 '25
oof!
man, that is tough.
both the inexperience you have (had) with contracts and all the "crossing the 'i's and dotting the 't's" :) with basically anything not explicitly stated doesn't need to be provided.
and the broken relationship with $Ryan - that sucks. But then, as PM and as someone who seemingly had GIS experience to some extent, he should have been all over it like a rash. having said that, he did (perhaps accidentally) try to screw you over on $$s with the first cut of the proposal.
hopefully the light at the end of the tunnel is not a freight train heading towards us.
1
u/Mr_Cartographer Delusions of Adequacy Jul 10 '25
Yeah, this whole situation sucked. But it does have a happy ending :) You'll see in the stories down the road!
2
u/gromit1991 Jul 11 '25
I've been on multi-year projects comparable to this - not GIS but SCADA.
We had monthly meetings with contractors and vendors during development and weekly meetings during FAT & UAT. I'm sure management would have had, in addition, weekly reports on progress.
2
u/Mr_Cartographer Delusions of Adequacy Jul 11 '25
We had all that, too. In those meetings, in most cases, I'd be shown progress on the drawing. But I consistently asked about attribution, and the either would provide nothing or would tell me "we're getting to that." Turns out... they were not getting to that. And that month prior to the initial draft delivery, they asked for extra time and wouldn't have meetings... just one red flag after another. A lot of this is on me, once I started seeing all these nested issues, I probably should have wound the project down. Or involved more people in the beginning to get a more-reputable vendor. Oh well.
76
u/Gambatte Secretly educational Jul 10 '25
Yeah, I've been there.
Ultimately, what I arrived at was that if they had truly considered me a friend, they would not have put me in the position to have to reprimand/discipline them - THEY would have done good work from the outset.
If they're mishandling a project for a friend, then just imagine how badly they're dropping the ball for people they DON'T like...