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 project.
- 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 Java Eight, 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 all kind of criteria like 100% uptime, all that stuff. But I will touch on it later. So I was put into a team with one or two others and a lot of promises were made upfront. Like okay, if you start this project, you will get an artifact server, a fully working like a pipeline. Build and deploy. 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 starting 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 at 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:51] 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. 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 we get going.
[00:02:19] Mark:
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 continued. And we also had a tech lead back then he 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:46] Christopher:
There was a project manager, of course.
[00:02:48] Mark:
Yeah, exactly. We had two actually.
[00:02:51] Christopher:
Two? How many devs? Two.
[00:02:54] Mark:
Two and attack lead and architect. Yeah. So I didn't make never a web app before. The other Java dev 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 have vacationed. And then I was asked, okay, can you help with the sprint planning? Yeah. 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 them right 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 them on the list. And I can only commit to those three, but we do our best.
[00:03:59] Christopher:
Most people, at least nowadays, they have some idea of agile, and you're not really supposed to do that.
[00:04:06] Mark:
He didn't believe in agile.
[00:04:08] Christopher:
Okay.
[00:04:08] 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. And he said, yeah, I need to explain why everything is being where all the money yeah, where all the money is going and it's taking so long.
[00:04:37] Christopher:
It is funny what commitments are made, the chain that you don't even know, but you let it go on for six months like this, I believe.
[00:04:46] Mark:
Then the tech lead just collapsed. I think he 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 said, I'm going home. I'll call in sick. I remember there was just another wow moment that the manager said, don't forget to call in sick. And everyone was just amazed at the situation, and you should have had some sympathy for the guy, but just fill.
[00:05:25] Christopher:
In your timesheet correctly.
[00:05:26] Mark:
Yeah, exactly. I don't know.
[00:05:29] Christopher:
It was that moment that we all came together, and Jesse came as well. And 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, both the project managers behind us.
[00:05:45] Mark:
Yeah.
[00:05:46] Christopher:
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:05:59] Mark:
Yeah, exactly. So at this point, we actually had a decent amount of line of code, I think.
[00:06:07] Christopher:
Yeah. There was no changing and starting again.
[00:06:09] 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, I think, then you two and also the other colleague, so it must have been four at that time, I think. Yeah.
[00:06:36] Christopher:
Explain the setup a little bit.
[00:06:37] Mark:
What we did, we hooked up my laptop with the beamer, then basically presented the code editor and then went through something, some feature which didn't work. And then I think we took one or two weeks to get all in this room every day and then just get you two 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:07:10] Christopher:
Yeah, because of your typing. And they 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:07:25] Mark:
He was just changing the pedal shift on course.
[00:07:29] Christopher:
Yeah, but it was really a great way to code. I experienced it like that. I thought it was very intense. I mean, you don't want to be doing that for 8 hours a day, every day. But it's such a nice interface to have someone who can code. And you were 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:07:50] Mark:
I think that the biggest value or input you gave is just not per se the technical stuff, like, okay, use this stream operation instead of this one, or use, I don't know, an 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 logical and just talk it through and how should it work? Is this logical? I think, yeah, 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 and I was just on the fly, just weaving in everyone's ideas, everyone ideas.
[00:08:41] Christopher:
And then we did overtime. Do you remember that?
[00:08:44] Mark:
I think it was leading up to a first release, I think I remember.
[00:08:50] Jessy:
At some point a manager higher up in the chain actually coming in for a meeting with us and asking us about it if we wanted to do overtime.
[00:08:59] Mark:
It wasn't in a meeting.
[00:09:00] Christopher:
Yeah.
[00:09:00] Jessy:
You were there as well.
[00:09:01] Mark:
I think so, yeah, everyone was. Yeah. 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:09:18] Christopher:
And what did he say?
[00:09:19] 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 think he asked if we were if we were okay with doing overtime just for the extra mile. Actually, it was a good laugh and a good experience.
[00:09:43] Jessy:
Intense period, but it was a good experience.
[00:09:46] Mark:
Yeah, exactly. Well, sometimes you have like, okay, like a year ago, I did this and that and was a good experience. But actually, at that moment, it was a good experience.
[00:09:54] Christopher:
Even in the moment.
[00:09:55] Mark:
Yeah, exactly. One of the managers, because I don't know why, but they had a feeling that as we were doing overtime, they also had to be there to babysit. Yeah, basically, it felt like that. I wish they wouldn't be there, but they had a feeling, okay, we are a team, and me, as your direct manager, I need to be there. So they were sitting there and they saw on the time, like you said, I think he at 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:10:41] Christopher:
But we were just now we're in the flow.
[00:10:43] Mark:
Yeah, we were there. And I also remember that 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 to everyone who 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 asked, so does it work? Are we good or are we set for tomorrow? And I remember looking at him and.
[00:11:22] Christopher:
This was the project manager on the night.
[00:11:24] Mark:
Yeah. He said, Was there babysitting?
[00:11:26] Christopher:
And then he sat behind us for a little bit.
[00:11:28] Mark:
Yeah. And we demoed it to him, like, Whoa, we got it working. Really? We were showing him detail.
[00:11:32] Christopher:
This is what's going on. And you click this, this happens. And his eyes had glazed over and then he woke up at last minute. So how's it work?
[00:11:41] Mark:
Yeah, exactly. And I looked at him and I said, I made a joke, but I probably didn't make any friends with a joke. But I said, Chrissy, 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, like after talking about Motivating. Yeah, exactly. And then there's this guy just asking, does it work? Which is such an anticlimax, basically, after such a good period and experience.
[00:12:13] Jessy:
But, yeah, it's a real vibe killer.
[00:12:17] Christopher:
And after two months, though, I do remember he was very happy, but he was amazed. He could not believe that the whole project could do a 180.
[00:12:25] Mark:
So, like, you said we turned the ship. We had good atmosphere. Things were going all right. And then so one of the project manager got replaced.
[00:12:35] Christopher:
The other project.
[00:12:36] Mark:
Yeah.
[00:12:36] Christopher:
He was a completely different character.
[00:12:38] 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.
[00:12:55] Christopher:
Nice guy.
[00:12:56] Mark:
Humble. Exactly.
[00:12:57] Christopher:
Fine to chat with. He wasn't really into it, let's face it.
[00:13:00] 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:13:16] Christopher:
Yeah. So he had no love for It, and he couldn't get anything done.
[00:13:20] Mark:
Exactly.
[00:13:20] Christopher:
What was he doing?
[00:13:21] Mark:
So that's why he got replaced. And I remember so this other project manager comes in, and so we have this 5 December treat like a glass. Big glass.
[00:13:34] Christopher:
Traditional Dutch.
[00:13:35] Mark:
Exactly. Then this other project manager comes in and with a box of those cookies, and he goes out, hand out this stuff, just only to his department.
[00:13:45] Christopher:
Oh, yeah.
[00:13:46] Mark:
So I'm sitting well, not new at that point, but he did the UI. He was also just hired.
[00:13:54] Christopher:
Same team. Our team.
[00:13:56] Mark:
Same team. Our team. But indeed hired via a different apartment. So he's sitting 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 and then you just have to cope with that nonsense. 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 her, 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:14:41] Christopher:
Well, nothing would have been there.
[00:14:43] Mark:
No, exactly.
[00:14:44] Christopher:
Right.
[00:14:45] Mark:
And they just forget to invite the developers.
[00:14:48] Christopher:
How do you know they forgot?
[00:14:49] Mark:
Well, you can see well, it was just not on the two list in 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.
[00:15:00] Christopher:
And it wasn't a case of, we don't want to invite those guys. It was really we totally forgot about them.
[00:15:08] Mark:
But then in the end, nobody went because everyone was like, yeah, that's outrageous. We could have plenty to talk about.
[00:15:19] Christopher:
Thanks for coming and sharing your insights and stories about your time in the trenches. And we'll do it again. Sure.
Listener comments
Want to know more about QuadCast?
Check out our about page
Get in touch
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.