Hey! This is the Daily Overpass! My name is Eric and I make apps. Now today, I want
to talk about how sometimes working on client projects is just difficult.
Alright. So, a few weeks ago I talked about momentum. Like when you're
working on a project, you're coding away or or whatever, when you get
a bit of momentum with a project ,you don't want to stop. You don't want to
stop to go eat dinner, to go have lunch, to go to the bathroom, when things
are clicking. You just keep going, you know, everything goes great and it's
great. As a programmer, you start knocking things out and everything is
fantastic. I mean, it is such a bliss, right? The other side of that is friction.
So sometimes, you have a project we're just like, everything just seems to go
wrong. Now, my stress levels are a bit high this week and this is one of the
reasons I miss the last couple days of videos. Just because I just been sort of
just really stressed out. I mean, I've been stressed out by the fact that, like
I'll be doing the dishes at night, you know, just like angry- angrily
doing the dishes because my mind goes off to this project. It's a
one of our projects, it's not all of them, but just one project and I
was just getting angry. And then, everybody say, "Are you upset about
something?" I said, "Oh, no. No, sorry. it's something else. Something
work-related." So, they just think these things. I'm trying to be like-
okay, let me tell you what happened. So, basically we have this
project that is- it's a field project. We took over some existing code and we
just need to make a few small changes to it. I mean, nothing major.
So, rather than me do the changes myself, I outsourced it to some
developers and supervise everything to make sure that everything
is going well. We did this before. I went to California, it's like over a
month ago. So, they were working on that. And this project is different
because there's an app and then there's an API. I'm not going to
give too many details about this, by the way. So, there's an app and it connects to
an API. There's another company that's dealing with the API so that's not us.
We're just dealing with the app. You know, everything was kind of going well
before. I went to California and then we
got it released. But then, there was a one little issue. So, they went back and
fix that little issue. Then they found like four bugs. So, it was
like four bugs in the thing. So that was- you know, (sighs!) it was embarrassing.
You know, we'll fix those. You know, these kind of things
happen. Certain things were not as good as they should have been. And I was
not on my game as much as I should have been because I was in California.
I was trying to do that and I also had a few other issues on
other projects and then also was trying to enjoy the holiday. So anyway, when I
got back, we got back to it and then, once the developers started working
on these, you know, four little issues, then all of a sudden, the API
stops working or it starts being inconsistent, where we get inconsistent
results from the API. And then we did this thing, I don't know if you've ever
worked in a corporate environment, you see this a lot, where you have like is
usually when I was in investment bank, it was always-
there's always arguments between us the server team and the network team. Like
things weren't communicating or things weren't running properly. Some
people would say, it's the code, or you know, the developers would say, it's the
the server, the server team. I say, it's the network. So, it's always this
thing and everybody- nobody does any proper investigations because nobody has
proper analytics tools and everybody just says it's not me, it's you.
We kind of had this kind of issue here on this project, which was fine. So,
but there was nothing we could do. And a few weeks went by and
finally everything came back up and then by this time, the developer I was using
was no longer available. I was working with a development company and
I've worked with them many times before. They're really good, you know, I like the
quality of their code, but I know, it's working with an existing project,
sometimes it can be difficult. So, they said this developer is not available,
we'll give you a new developer who's really good too. I said, "Okay, are you
sure? It's a yes, so whatever. The new developer starts working on it and it
takes a bit longer than I think it should. And meanwhile, I got
the clients saying, "You know, we were a bit concerned that things are
taking a bit long.." and all this kind of stuff. So, you're kind of in the middle
there. You're checking how are things going- everything's going.
Oh, the server's gone down again, so then I have to go back to the
server. Then we have those kind of political things and just-
it's like having office politics without the office. And then you know,
finally- and then the strangest thing happens. I don't know if you,
guys, have you ever worked with developers. Sometimes, you'll get
something where I'll ask a question that doesn't make any sense. Just like
out of nowhere, you think everything's going fine. You were near the end and
it's like a question- like I don't know how to describe it, because I don't
want to say anything that's too technical because you might not get
it. Because it's related to the project, but it's kind of the equivalent of like
when a toddler asks you a question that like, "Why is blue? Why is blue?" You go
"Sorry? Why is blue? Why is- why is the sky blue? Why is blue a color? Sorry,
what do you mean? I don't know why is blue." And then you just sort of go back
this way, so I kind of had a question like this from the developer and it
scared the shit out of me. Alright, so I'm like, sorry I need to know more what
you're asking. He said, just ask the client. You know, why is blue?"
I said, "Sorry, I don't- you know, I need to know what the context is, I mean,
I'm looking at the code. I understand- you know, what- he was asking
something about the code, which he should have known the answer too
because he had access to the code. But he asked- insisted I ask the client and at
this point, it was like- either I could spend the next few hours trying
to drill down to what it was so I can just ask the client. So, I asked the
client and then the client says, "What do you mean why is blue? Why is what blue?"
And I said, "Hey, no never mind. Forget it. Sorry, I mean, let me go back."
It's gonna come back to the developer and then you know they said, "Okay,
never mind. I don't need to know why- why blue is. And I said,
"Okay, so how much longer is this gonna be?" And then we release a build and then it
was like, you know, it was still- there's still issues with it. So this- so, we're
trying to knock out those last few issues. This is like one of those
situations where I talk about friction in every good sense. When you do client
work, a lot of times it's not easy. You have clients to deal with, you
have- if you have, if you've hired developers, you have to deal with them. Even if you
develop something yourself, you have different issues on different platforms.
And sometimes, you just have friction all over the place and your hair just goes
gray. It's not nearly as simple as making your own apps and you just- if
the decision needs to be make, you just make it.
You know, that's where the friction comes in a lot of times, as people-
getting other people involved and everything like that. So anyway, this-
but this- the thing is this kind happens from time to time.
Not very often, but sometimes it does .So we're,you know, it might be- it may be the
case where I'm pulling a few all-nighters here, you know, this weekend
or early next week and just do it myself, which would be a huge- which would be a
huge mess or it's gonna be, you know, you sort that
stuff out with the developers. But it's one of these things when you
do when you're working with clients. It can be really
hard and for those of you who've done client work before, I know lots
of people who sworn off client work just because of these kind of issues
you've got. You know, you're dealing with lots of different moving parts and
trying to keep everybody moving. You could just be like, "Hey, I'm just gonna
code everything myself, which is the easiest way to do it, by the way. That is
the furthest- you know, if you're just going to say, "I'm just gonna code
everything myself, not deal with any other developers or designers or
anything like that." Just be a one-man band, that is the most efficient way to
do it. But it's the least scalable way to do it. You can only deal with one client
at a time, you put a hundred percent of your time into dealing with that client
and then when that project is over, then you have to go out and find another
client and have to deal with all that stuff. So, anyway, I'm kind of, you know, I
know I'm kind of just ranting on. But that's just been like, this week's
has been driving me crazy. So, I just want you, guys, out there to
know who are looking to do client work. It's not always easy. In fact, lots of
times, it's a little- it's really, really hard. Sometimes, it feels like pushing a
boulder up the hill and sometimes- sometimes it's easier and it could be
because of the client. Sometimes, some clients are difficult to work with.
Some are really easy to work with it. It could be working with developers, it
could be working with a technology, it could be, you know, it could be there's
loads of different things, but sometimes, some projects are just more
difficult than others. And when you're pricing, this goes back to the last
conversation we had a few days ago, when you're pricing, you can't expect that all
the lights are going to be green, that you can have momentum from day one and
you can't start saying, "Oh yeah, I could do this in like two hours." Because
sometimes, things just pop up. You've got disks baking, disk
space errors, you might have network errors, you might have the
client call you three times in the middle of those two hours, you know, lots
of things could creep up and you have to you have to code
appropriately for those kind of things. Anyway, (laughs) sorry to unload
all my dirty laundry on you, guys, today. Anyway, that's it for today. I'll
talk to you, guys, on Monday.