🎙 Develpreneur Podcast Episode

Audio + transcript

Errors, mistakes, missteps, and lessons learned

Rob shares a personal story of a project gone wrong, where he was left unpaid and had to deal with a mismanaged client. He reflects on the lessons he learned from the experience and how it has shaped his approach to project management and communication.

2022-07-30 •Season 0 • Episode 587 •Errors, mistakes, missteps, and lessons learned •Podcast

Summary

Rob shares a personal story of a project gone wrong, where he was left unpaid and had to deal with a mismanaged client. He reflects on the lessons he learned from the experience and how it has shaped his approach to project management and communication.

Detailed Notes

Rob shares a personal story of a project he worked on, where he was hired to rebuild an application for a client. However, things went sour when the client failed to pay their consulting company, and Rob was left unpaid. He reflects on the lessons he learned from the experience, including the importance of regular status updates, paper trails, and version control. He also emphasizes the value of learning from mistakes and experiences.

Highlights

  • The importance of communication and follow-up in project management
  • The value of regular status updates and paper trails
  • The dangers of unchecked account receivables
  • The benefits of regular version control and access
  • The importance of learning from mistakes and experiences

Key Takeaways

  • Effective communication and follow-up are crucial in project management.
  • Regular status updates and paper trails can help prevent misunderstandings and disputes.
  • Unchecked account receivables can lead to financial losses and damage to reputation.
  • Regular version control and access can provide transparency and accountability.
  • Learning from mistakes and experiences is essential for growth and improvement.

Practical Lessons

  • Establish clear communication channels and expectations with clients.
  • Regularly update clients on project progress and timelines.
  • Maintain accurate records and paper trails to prevent disputes.
  • Use version control to track changes and collaborate with team members.
  • Follow up with clients and team members to ensure tasks are completed.

Strong Lines

  • Regularly doing status updates and having a paper trail helps you certify that work is being done.
  • Just a little bit of effort every day adds up to great momentum and great success.

Blog Post Angles

  • The importance of effective communication in project management
  • The value of regular status updates and paper trails
  • The dangers of unchecked account receivables
  • The benefits of regular version control and access
  • The importance of learning from mistakes and experiences

Keywords

  • project management
  • communication
  • follow-up
  • version control
  • account receivables
Transcript Text
Welcome to Building Better Developers, the Develop and Work Podcast, where we work on getting better step by step, professionally and personally. Let's get started. Hello and welcome back. We continue our season, we're talking about errors, mistakes, missteps, and all kinds of good things like that, and how we have learned from them. Sort of on a little bit of a theme here, in a prior episode, we talked about some billing issues and lessons, and this is going to be another one. Now this one actually relates and actually was before the prior one, and actually got me started on statuses and being a little more vocal about status. It's a little different though, and it does have more to do with what somebody else sort of paid the price and me learning a lesson from what they did, or how they sort of suffered through it. Now in this particular case, I had a company I'd worked with that, well they were recruiters I'd worked with, and they had moved to a company and they needed developers. It was one of these like, you come in and you get some contract people, subcontract, go in, work a project, and basically hired me more or less on the spot. It was really, it was just me, I was one developer, I was going into this company and going to help them basically convert off of, I believe it was, yeah, it was an access app, it was an access application, and it was going to be rebuild essentially that entire thing and in Java, and at that point it was Java server pages and build them a nice high end enterprise type application as opposed to the access thing that they used before. So I went in and went into their office, and this was the customer, went in to see the customer and spent a day and talked to some people, worked with the manager, got everything going. Over the next couple of days they said, hey we don't have a whole lot of space here so we're really happy if you can work remote. This was a point many years ago when remote was rare, but I was very happy to do so. I said hey that's, I have everything I need, that's cool, or at least I have enough to get started and started working through some stuff. That first week passed back and forth a couple emails, sent them a couple things, they sent me some stuff, they sent me the entire access application so I was able to use that and it was basically, I said okay well you want me to walk through it, so basically I walked through the access application and the idea was I was just going to rebuild the windows in this Java stuff and started working on it. I'm trying to remember how long it went, but basically I'd go for the first week or two and I would send, because that's what I did, is I sent a timesheet in every, I believe it was every other week. I think it was every other week I'd send a timesheet in and I sent status at least as often, I think I even sent it once a week. I think I was sending status once a week and then I would send a full timesheet every other week and I would send it into the manager and I think the first time I sent it I got a very simple reply of something, I think I got something a little, it was something along the lines of hey have you looked at this, have you looked at that, because I also requested, I said hey it would be useful to schedule a time and we'd talked about it I think even on that first day, to schedule a time to work with and basically ride shotgun with the people that used that application for at least a half a day if not a day so I could get a really good feel for what they were doing, how they used it, really understand where we could make some improvements for them. Otherwise I was just sort of stuck with what existed currently. He gave me some sort of response of yeah there's a couple people who are trying to work some schedules out and things like that so I got a paragraph back or something like that and sent him something next week and usually the status is I got no response on but I just sent him anyways and then the next time I sent him a timesheet I got some pretty short response something along the lines of I don't even remember what it was, I think it was just basically like yeah hey got this or something like that. I was about it. It was also supposed and I think every time I did I included the, I did, every time I'd send those I include the account manager so if there was additional conversations going on I really didn't know, I was just there to do the work. So now we're a month into this and really have not, still have not been able to get back to the customer site, haven't been able to get them to schedule me some time to talk to the end users but I've been moving along and now by the time I get to fourth or fifth week my status is there's things like hey we're getting to a point where it would be really really helpful to have somebody that is, I can talk to. I don't remember, I don't think I was, because this was before you had like get and other things so I didn't have a distributed version control to give them work with or anything so they didn't have access to the code but I would send like you know some updates and I think even some screenshots or stuff like that like here's how it's going, this is what it looks like, you know blah blah blah. Because I wasn't really getting much response back and I think at one point it was basically very little other than you know thanks or something like that. It wasn't even, you know it was really no response and at some point probably even by the sixth or seventh week I think sometimes I wasn't even getting them. I would send stuff, you know send something to just say hey can you at least acknowledge that you got the status blah blah blah. I got into about the, I want to say we got to three months. I think we got solidly into this and I'd been getting, when I sent time sheets in and stuff like that it was you know it was essentially an invoice to the, well it wasn't an invoice, it was a time sheet to the customer and then with that I basically split it off and invoice the consulting company and they paid me and all was well. So you know and I've met with the account manager once or twice but now getting into this third month and I said hey you know I'm not getting anything back from this guy. I'm sort of getting to a point where I'm going to be just spinning my wheels and you know it's like we've got to press on this and turns out that the consulting company was not getting paid. They're not getting, none of their invoices have gotten paid yet so they said you know hey we need to figure this out. We're like you know paying Rob to do all this stuff and we're not getting paid what we're supposed to be billing out. So short story long, I'd say long story short but maybe a little too late for that. It turns out that the manager decided that he, well actually I guess he didn't say, it turns out the manager that we had talked to did not have the authority to bring somebody in even though you know there were all these agreements and stuff like that and I don't know what how much was signed and things like that but all these agreements were in place and he didn't have the authority to do so and I think he did. I think he signed a couple things and he basically turned around and said I was just a rogue developer that he hadn't asked for any of this stuff. They didn't know what I was doing and it became a mess because then the consulting company came in and said wait a minute you've been sending emails. I think we've seen those. Like yep we could verify it like yeah these this is all the stuff he got sent. These are all the things he got sent and he said well he just thought it was you know the manager said well he just thought that was just some you know junk mail or something like that. He just ignored it. Meanwhile you know the hours and the bills are piling up and as far as we could tell it ended up being something that the manager was hoping that he would just get us to do a lot of development or at least enough of it then he'd be able to take the code and then just learn how to code himself and finish it off. And it was it was not fun for the the contract the consulting company I worked for because they ended up CEOs from the two companies got together. We had a big meeting at one point. The all the code that I did and it was sad thing is that was probably the best code ever because it was just basically like do it right. So we had there was like I had all you know really nicely designed stuff and full unit tests and regression tests and all kinds of just goodness going on with this application. And they said well you know you didn't really spend that many hours on it. And so we ended up sending it off to you know some third party of people to assess it and they said oh wow we're amazed that that much got done and the hours you're talking about you know the billable hours and hour like in 200 hours or whatever it was it's probably probably like four or five hundred hours I guess by the time you're done. But they said oh yeah there's yeah that definitely had that level of effort into it. And so the CEOs went back and forth and tried to like the the company that was the client their owner CEO is like tried to turn everybody against everybody and finally just said OK and ended up I think he paid costs and maybe the consulting kind of I worked with made a little bit out of it but not much. But yeah it was one of those that they and we ended up turning over the you know the code and just said here you go and that was it. And it unfortunately I guess because it didn't really they got more than they paid for because it was fully documented it had tested it had everything somebody needed to take it and run with it. And it ended up being a it for me it ended up being OK because the consulting company I work with realized that I had you know I had turned in status I've been doing all of the things I was supposed to and they ended up you know it didn't cost me other than just you know I threw some free time in to help argue their case essentially and had very good you know strong goodwill with them forever. I haven't talked to them in years but for the longest time they were always somebody that was there were people there that could use references and everything. So it was a it turned out good for me but it was quite the learning experience for me because one of them was it helped me adjust how far I will allow account receivables to pile up. Especially with a new company if it's somebody even if they seem very reputable if you haven't worked with them before it's for me it's usually I'll give a certain amount of time or maybe a certain monetary value a little bit and say OK once we get to this point we need to be seeing invoices being paid or you know least checks in the mail or something like that or we're going to slow this stuff down or stop completely. The other thing was the status. Like I said you know later on I had a guy that worked for me that did not do statuses as often but I always did. And at this point I've got so I try to push like everybody that works for me even if they don't need to I try to get them in the habit do a weekly status send me some you know send me status and hours and expectations and all that kind of goodness so they're hopefully in the habit of doing it for situations like this. So there are situations here you know if you've got somebody that's not quite above board at least you're sending that you've got a paper trail you got something to point to. And then of course this got me. I didn't learn that I'm going to follow up and I have ever since you know follow up more aggressively with some of these things because sometimes status is just sort of like you know it's somebody that I'm just sending it and I'm talking to him enough that it doesn't matter or it's just sort of like that's a bonus icing on the cake. And if they don't really reply or respond that's OK. I don't really need them to really reply or respond because there are other ways that I'm communicating with them and they you know it's sort of that agreement that it is what it is you know that it's just it's something I'm sending and they can ignore it if they want. And sometimes I will eventually have to admit there are times where I will get to a point where it's been ignored long enough essentially and there are no questions and I'm talking with the person often enough that I may not need to send a status but like I said it's just a good habit to get into and it's it's not going to cost you a lot of minutes. So usually that's going to be your best bet. But this was a said this I don't know what this ended up costing. I mean I guess the customer the client the contracting company ended up a break even. So you know in a sense it didn't cost them money but there was you know there was profit that they should have had doing that. And I think and I can't remember how they worked it out because I'm not sure that they truly broke even. I think they did. So I think they got paid more than what they paid out to me because just getting paid what I was paid would not be break even because they still had like account accounts payable people. They had an account manager. They had recruiters. They had people that were involved in the saying there was time that was spent. And people that were paid to spend that time. So they you know they hopefully recouped all that and I didn't know all the details other than they told me at some point they said yeah we basically broke even on it which is cool. I mean I wish they'd earn more but at least if they broke over broke even they didn't at least they didn't lose too much. But you know it's still a loss because it's it's something that there was definitely egg on the face of a couple of people. And those those are things you just really don't want to have happen. You'd much rather have every project go well. Everybody gets paid what they're you know what they're supposed to. And the project gets done on time and it's all of that good stuff. But in this case it didn't. And it turned out to be a really valuable lesson for me to watch somebody else go through it even though I was dragged into it to some extent. But to you know to witness that and to also sort of sometimes confirming some of your habits and some of the things that you do is a great way to learn as well. You know where it's one of those things where you're like I just dodged that bullet because I did A B and C. In this case there were bullets dodged because I had that habit of doing you know regular C.Y.A. you know paperwork and all those other things that helped you know certify essentially and show that works being done. This is going on. I think I even gosh I want to say even it was even stuff like regularly committing to version control. I was able to give access to that library to people to see that like here's how the progression of things went. This is you know you can see where things were saved here and then things were added and changed so they could see the history of how that thing grew up and that you know that just added more credibility to the you know the hours that have been built along the way. And it wasn't just you know something just thrown together at the last minute. But that being said I think it's time to wrap this one up and let you get out there and worry about whatever you have to do whether throwing it together at the last minute or whether it is a well planned and well thought out day ahead. But in any case go out there and have yourself a great day a great week and we will talk to you next time. Thank you for listening to Building Better Developers the Develop-a-Nor podcast. You can subscribe on Apple Podcasts, Stitcher, Amazon, anywhere that you can find podcasts. We are there. And remember just a little bit of effort every day ends up adding into great momentum and great success. One more thing before you go. Develop-a-Nor podcast and site are a labor of love. We enjoy whatever we do trying to help developers become better. But if you've gotten some value out of this and you'd like to help us be great if you go out to developer.com slash donate and donate whatever feels good for you. If you get a lot of value a lot. If you don't get a lot of value even a little would be awesome. In any case we will thank you and maybe I'll make you feel just a little bit warmer as well. Now you can go back and have yourself a great day.