01/01/2023

EP1: Tales from the Trenches

Death march to victory

Join us in our first episode where hosts Christopher and Jessy reminisce with Mark about an IT project heading for disaster and how they managed to turn it around.
applepodcasts-badgerss-badgespotify-badge
teal-star

Everything that could have gone wrong, went wrong. On all levels.

Show Notes

Mark van Velthoven recounts the challenges he encountered during one of his earliest roles as a junior software developer at a large organization. Assigned to a complex project with tight deadlines and run in a traditional manner, Mark quickly found himself in at the deep end. Determined to succeed and despite a lack of experience he threw himself into the project. However, it became increasingly clear that the technical challenges were far greater than he had anticipated. Moreover, organizational issues such as poor communication, understaffing and unrealistic expectations made it difficult to keep the project on track. When the lead developer quit abruptly, something had to change as the entire project was in jeopardy. Mark's managers brought in Jessy and Christopher to help rescue it. Mark recounts how it unfolded.

  • Mark makes it clear he had never built a web application before in a professional setting and outlines the size of the project team.
  • Lead project developer quits.
  • How they managed to turn things around once Chris and Jessy joined the porject.
  • Stories of office politics and power struggles that didn''t make things any easier.
  • The office party that the developers were strangely left off the invite list.

Transcript


[00:00:00] Mark:

Before it all came to a collapse. Six, must be maybe a year, but I don't know, somewhere around that time. Well, everything what could have went wrong, went wrong on all, on all levels. So like I said, I just came out of school. I did. Yeah. Java eight. And but I didn't really made a company software online. It was all like desktop app was proof of concept. Nothing was really on the line until then. But yeah, they thought we did a good job. So they wanted to continue it and basically make that standalone application into a full fledged web app. Yeah, with like all kind of criteria like 100% of time, all that stuff. But I will touch on that later. So I was put into a team with one or two others and a lot of promises were made up front. Like, okay, if you start this project, you will get artifact server, a fully working like a pipeline.


[00:01:09] Christopher:

Build and deploy.


[00:01:10] Mark:

Yeah, build, deploy, testing, Linting, whatever, everything is there in place. You can just use the modules you need and you can get going. So day one we get there and there's basically nothing is empty, but we also want to make the best of it. So we just get started programming. So the one supervising, he made what you can call an architecture, but it was just on a whiteboard and it was there maybe for some weeks and I stared it multiple times, but I couldn't get it in. And then we moved to another building and the whiteboard was gone and so was our architecture.


[00:01:57] Christopher:

I remember that architecture and I'd never seen anything like that before. It was new concepts, CQRS events. There were like multiple databases, java, Enterprise edition servers, containers. I mean there was no Mickey Mouse architecture. Actually. It wasn't looking back, it wasn't a bad choice. It's just that given the maturity of the team and the fact that you need some experience with that stuff so.


[00:02:30] Mark:

We get going and the big brains behind the idea and how it should be done was also very occupied with another project. So when we did those reviews it was like, yeah, okay, maybe you need to work on this and this and then we continue it. And we also had a tech lead back then. It was very nice, but he was maybe a bit social awkward or at least he worked I think with the manager before and they couldn't get along quite well. So there was already like some tension in the project.


[00:02:59] Christopher:

There was a project manager, of course.


[00:03:00] Mark:

Yeah, exactly. We had two, actually.


[00:03:05] Christopher:

Two? How many devs?


[00:03:08] Mark:

Two, and the tech lead and the architecture. So I didn't make never a web app before. The other Java dev who also was get on the project never made a fully fledged web app. The tech lead did, but he was occupied with keeping the managers happy and out of, I don't know, the 40 hours we had each week, I could maybe sit together with him for 6 hours. So that just went on for weeks, months. He went on vacation, obviously, because you're vacationed. And then I was asked, okay, can you help with the sprint planning? Although it was maybe my second or third year in the industry, but actually back then, if I look back to it, I gave them the real story, like, okay, we can maybe do these three tickets if we want to do an Ambrite with testing, like finishing them properly. But he said, no, this is the list we need to have done by the end of the sprint. I said, but yeah, that's not feasible, but we need to do it. Okay, then put him on the list. And I can only commit to those three, but we do our best.


[00:04:25] Christopher:

Most people, at least nowadays, they have some idea of agile. And you're not really supposed to do that.


[00:04:31] Mark:

He didn't believe in agile.


[00:04:33] Christopher:

Okay.


[00:04:34] Mark:

I think he even spoke about project manager. Yeah, project manager. I think he even said, and he wasn't too shy about it, he just said, I don't believe in working agile. I mean, he even said that every month or every so many weeks he had to go to upper. I mean, he even called it like that. Upper management or senior, I don't know. He gave it also like a very expensive naming to sound a bit beneficial. Yeah. But official. And he said, yeah, I need to explain why everything is being where all the money is. Yeah, where all the money is going and it's taking so long.


[00:05:10] Christopher:

And it is funny what commitments are made of the chain that you don't.


[00:05:15] Mark:

Even know, but you let it go.


[00:05:17] Christopher:

On for six months like this.


[00:05:22] Mark:

I believe then the tech leads just collapsed. I think in a meeting, I think the Uncountable meeting about why we're not delivering or whatever, so we're all explaining and then this guy just he had enough of it and he just he said, I'm going home, I call in sick. I remember there was just another wow moment that I had. A manager said, don't forget to call in sick. Everyone was just amazed in the situation. You should have had some sympathy for the guy.


[00:06:05] Christopher:

But he just fit in your timesheet, correct?


[00:06:07] Mark:

Yeah, exactly. I don't know.


[00:06:10] Christopher:

It was that moment that we all came together and Jesse came as well. And right away at the same time, right away. I don't remember the sequence of events, but I had a strong urge to get us out of that open plan office. We were sitting in there with the current architect who was the project managers behind us. Yeah, a bunch of other people in the room, maybe requirements analysts, database guy. And you couldn't talk freely, is what I felt. You couldn't really be honest and get to the bottom of what was going on here. So I had this instinctive urge just to get out. And that's what we did. We went to another room that was unoccupied there.


[00:06:50] Mark:

Yeah, exactly. So at this point, we actually had a decent amount of line of coat, I think.


[00:06:57] Christopher:

Yeah, there was no changing and starting again.


[00:07:00] Mark:

No, there was no greenfielding, but just certain concepts weren't laid out correctly or just over engineered and therefore not working or not working stable enough. And I remember me being behind the computer, the laptop, and so I think then you two and also the other colleague so it's being four at that time, I think yeah, explain the set.


[00:07:30] Christopher:

Up a little bit.


[00:07:31] Mark:

What we did, we hooked up my laptop with the beamer and basically presented the code editor and then went through something, some feature which didn't work. And then just the manager needed to know how much time it would cost to get it to like an MVP or to a working thing. And then I think we took one or two weeks to get all in this room every day. And it just gets you too up to speed, but also to get to a conclusive answer, to say, okay, this will take another six months to get it somewhere where everyone is happy that's I think we did what we did the first one or two weeks.


[00:08:17] Christopher:

Yeah, because of your typing and you were really fast, we would all just sit behind you in a way or stand behind you while you projected the code and just started typing. And we were literally saying, change this, change that.


[00:08:33] Mark:

You were just changing the metal shift on course.


[00:08:38] Christopher:

Yeah, but it was really a great way to code. I experienced it like that and I thought it was very intense. I mean, you don't want to be doing that every for 8 hours a day, every day. But it's such a nice interface to have someone who can who can code. And you will like autocomplete almost as well because very quickly I figured, you know what I'm going to say and you're just typing it out.


[00:08:58] Mark:

I think that the biggest failure or input you gave is that just not per se the technical stuff, like, okay, use this stream operation instead of this one, or use, I don't know, a hash map instead of a list or whatever. But also you came in new and just taking a step back and just looking at that, like logical and just talk it through and okay, how should it work? Is this logical? That came also from my autocomplete. So when you were talking, I was like, okay, then probably this needs to be like this. And then everyone joined that conversation and so everyone was talking. I was just on the fly, just weaving in everyone's idea, everyone IDs.


[00:09:49] Christopher:

And then we did overtime. Do you remember that?


[00:09:53] Mark:

I think it was leading up to a first release. I think, and we were on schedule.


[00:10:04] Jessy:

I remember at some point, the manager hire up in the chain, actually coming in for a meeting with us and asking us about it if we wanted to do overtime.


[00:10:13] Mark:

No, it wasn't in a meeting. Yeah.


[00:10:16] Jessy:

You were there as well.


[00:10:17] Mark:

I think so, yeah, everyone was.


[00:10:19] Christopher:

Yeah.


[00:10:20] Mark:

I knew that this hotshot came in, which in the end was the money mule, but never seen him before. But then there he was.


[00:10:35] Christopher:

Yes. And what did he say?


[00:10:38] Mark:

I don't know. First, a good weather story about how difficult times it was, but we were doing the all right thing and stuff like that. And then he just basically I think he asked if we were if we were okay. We're doing overtime, too, just for the extra mile, actually. It was a good laugh and a good experience.


[00:11:06] Jessy:

Intense period, but it was a good experience.


[00:11:08] Mark:

Yeah, exactly. Well, sometimes you have like, okay, like a year ago, I did this and that and it was a good experience. But actually, at that moment, it was a good experience.


[00:11:18] Christopher:

Even in the moment.


[00:11:19] Mark:

Yeah, exactly. One of the managers, because I don't know why, but they had a feeling that as we were doing, over time, they also had to be there to babysit. Basically. It felt like that. I wish they wouldn't be there, but that feeling, okay, we are a team, and me, as your direct manager, I need to be there. So they were sitting there and so on the time, like you said, I think he on that one night, I don't know, it was maybe nine, maybe close to 1010 o'clock in the evening, and he wanted to go home. He wanted to go home before that. So he was like, yeah, guys, should we maybe wrap it up and tomorrow there's a new day.


[00:12:05] Christopher:

But we were just now we're in the flood.


[00:12:07] Mark:

Yeah, we were there and also remembered that maybe the last I don't know if I remember it correctly, but I think it was the last day or evening we did overtime and the day after, or maybe that same week, there was like a big demo, too. Everyone was showing off to one of the managers, like, look what we did. We were really proud of it. So we were demoing really enthusiastic after all this struggling. And he just bluntly asks, so does it work? Are we good or are we set for tomorrow? And I remember looking at him, this.


[00:12:53] Christopher:

Is the project manager on the night.


[00:12:55] Mark:

Yeah. He said was that babysitting?


[00:12:58] Christopher:

And then he sat behind us for a little bit.


[00:13:00] Mark:

Yeah. And we demoed it to him, like, Whoa, we go to working.


[00:13:03] Christopher:

We were showing him detail, what's going on? And he clicked this, this happens. And his eyes had glazed over. And then he woke up with last minute. So does it work?


[00:13:13] Mark:

Exactly. And I looked at him and I said, oh, I made a joke, but he I probably didn't make any friends with a joke, but I said I can't see I didn't know what I said, but basically came down like he doesn't want to know what we did, he just wants to know if it was working. And it was just such a slap in the face.


[00:13:34] Christopher:

Like after talking about motivating.


[00:13:36] Mark:

Yeah, exactly. And then there's this guy just asking, does it work? Which is such an anti climax, basically, after such a good period and experience.


[00:13:47] Jessy:

But yeah, it's a real vibe killer.


[00:13:50] Christopher:

A very traditional project manager. I did get along quite well with him. I can work with a guy like that. He's not an inspirational leader or he's just a traditional project manager trying to hit deadlines, trying to spend the budget correctly. And also with him, he was a fiery character. Right. And if you're going to have a project manager, you at least want that person to be able to do something and that's usually okay. This other team would depending on them, they're not delivering. Can you see what you can do? And he would at least be able to execute on those things. He'd go there, he'd cause kick up of us and usually more often than not, he would get things done. And we've had experiences with managers who they can't even do that, so they can't motivate you, they don't know what you're doing and they can't get stuff.


[00:14:37] Mark:

Organizationally done, which is so much going on. So one of the project manager got replaced by someone else.


[00:14:47] Christopher:

The other project. Yeah, he was a completely different character.


[00:14:50] Mark:

Yeah, he was more of a people's, actually. I could have a laugh with him and a talk, but he was a bit if you want to do something to be done, then he would maybe try it once, twice, and then maybe we'll probably bleed and then that's it. But he was just a nice guy.


[00:15:12] Christopher:

Humble, exactly, trying to chat with us. He wasn't really into it, let's face it. No, he didn't care.


[00:15:19] Mark:

No, and not the It side of things. He was just a project manager, but not an It project manager. He had no use, but he had no affection with It technology and whatever.


[00:15:35] Christopher:

So he had no love for It and he couldn't get anything done. What was he doing?


[00:15:41] Mark:

So that's why you got replaced. And I remember so this other project manager comes in and was stretched very weirdly. There was two different departments working on the same project. And then this other project, Mello, comes in and he also of course thinks he's the hot shot and tries to get things his way. And he wants to get us moved to the main building because that's where his people, his department is sitting. So they get into this fight where we have to sit. And that just because I wanted to put a stamp on I don't know what he wanted to do. Like you said, we turned the ship, we had good atmosphere, things were going all right. And then this thing just out of nowhere at the big troubles. So the other podium manager then therefore decides to leave because he's also fed up with everything in this room. There were two people from two organizations or two different departments. So we have this 5 December treat like a speculas.


[00:17:03] Christopher:

Traditional.


[00:17:04] Mark:

Exactly.


[00:17:06] Christopher:

Celebration.


[00:17:07] Mark:

So this new manager comes in with a box of those cookies, and he goes out and out this stuff, just only to his department.


[00:17:17] Christopher:

Yeah.


[00:17:18] Mark:

So I'm sitting, well, not new at that point, but he did the UI. He was also just hired he was.


[00:17:28] Christopher:

In my same exactly.


[00:17:32] Mark:

Yeah, he was hired to do the UI.


[00:17:34] Christopher:

Same team.


[00:17:36] Mark:

Same team. Our team. Bert, indeed, hired to see our different apartments. So he sits next to me. I'm really having a good time with this guy. Really nice guy. So I get this cookie. He doesn't we look to each other, we're like, okay, WTF. Then you just have to cope with that nonsense just to set the stage where you have to deal with and just trying to do your job.


[00:18:02] Christopher:

And after two months, though, I do remember the project manager who eventually ran into this guy and left, he was very happy, but he was amazed. He could not believe that the whole project could do a 180.


[00:18:17] Mark:

So we had this dinner. We had this dinner to celebrate, like a milestone, like a release or I don't know what. So I come into the office and they ask, are you coming tomorrow? I said tomorrow. What's that? Tomorrow? So they invited everyone except the development team, which basically was doing all the well, not maybe all, but, like, the work. Let's say.


[00:18:44] Christopher:

Nothing would have been about right.


[00:18:47] Mark:

And then they just forget to invite the developers.


[00:18:50] Christopher:

How do you know they forgot?


[00:18:51] Mark:

Because someone else was just not on the to list the mailing list. Because someone else said, I got a mail. Okay, let's look who's on it. And so it was all these people, but it was likely not the developers.


[00:19:09] Christopher:

30, 40 long list of people.


[00:19:11] Mark:

Long. And then nobody went.


[00:19:13] Christopher:

And it wasn't a case of, we don't want to buy those guys. It was really we totally forgot about them.


[00:19:22] Mark:

But then in the end, nobody went because everyone was like, yeah, that's outrageous. God, make this up. We could have plenty to talk about.


[00:19:36] Christopher:

Thanks for coming and sharing your insights and stories about your time in the trenches.


[00:19:42] Mark:

Yeah, time in the trenches. Thanks.


[00:19:45] Christopher:

And, yeah, we'll do it again. Sure.


Listener comments

Want to know more about QuadCast?

Check out our about page

orange-arrow-to-bottomorange-arrow-to-rightorange-arrow-to-left

Get in touch

chrisjessy

If you have a story you'd like to share we'd be happy to hear it. Feedback on anything you've heard is also much appreciated.