Hey, this is Overpass Insights! My name is Eric and I make apps!
Now today, I want to talk about the first line,
second line and third line support in your client applications.
Okay, I have to point this out before the video starts that
it's a really windy day. I thought it would drive up here to the countryside
and film this video outside because it's beautiful outside, it's a sunny day,
although it is very, very windy. And so you may notice
during this video that there's a hair that comes into the -
into the camera lens from time to time which is from the microphone
which keeps the wind out of the microphone. I just wanted to let you, guys,
know that I saw it. I just I filmed the whole thing, I got back to the car and
I thought should I just chuck it all out. And I
thought, "No, I'll just explain it to you." So,
sorry about that. I know I'm gonna try to do better next time.
But if you do like the video and if it bothers you a lot, hit the thumbs down
I'll do it again, right? But if you liked the video please hit the thumbs up!
Hit the like button, if you haven't subscribed we'd love to have you as part
of the channel and that's it I hope you, guys, liked the video.
Okay, so today, I am coming to you from the Ridgeway
which is an old Roman road which runs through England
on this beautiful, although very windy autumn day. And today, I wanted to talk
a little bit about support, specifically supporting client projects.
And i've talked a little bit about this before but it's a very important topic
because next to scope creep, in my opinion, support is a thing that
could ruin a client project. And I mentioned this
before, when you do work for a client and for
those guys, you may never work for clients may be your apps are doing really
well, but some of you guys you're software developers,
you're waiting for your apps to take off or you need to make a little bit of
money to live while you're doing your own application,
and you're doing a bit of client work, support
is something you need to think about. And specifically,
when you release an app to a client, when they've signed off on him, when
everything is good, you need to specify at the beginning of
the project before you even agree to it, how long you plan to support that
project and what our operating system is actually going
to be on. So are you going to support it for a month?
Are you going to support it for a year? Are you going to charge to support it?
Are you going to support it for the rest of your life, right?
Sometimes and depending on the client if it's a corporate client, a lot of times
they kind of they know that you're not going to
support it forever. But sometimes the assumption just kind of there you
know you've had an app that you haven't heard from the client in two years and
they come back two years later saying, "Oh, we've got a problem with this
application, fix it." And you're like, "Well, that was a 30 day
warranty period and expired two years and 11 months ago, so yeah,
definitely, I'll have a look at it, but we need to charge for a support fee." Or
whatever like that. Or do you have like an ongoing support service contract
But other than that - other than the support, how long you're going to support
it, one thing to also make very, very clear
is a level of support that you're going to provide
.Now, once early on I had a client come to me
after the app was released, after they - after we tested it,
I tested it on all my devices, they tested on their devices, all their
friends tested it on their devices, right? It went through automated testing
it was - it was tested. It was good, right? It was signed off.
And then I get a call about a month later saying,
"Uh, I got a guy who says it's not working on Android."
And I go, "Okay, um well, we know that it's working on Android, so what specifically
is happening?"He said, "I don't know, it's just uh he says it's not working.
Here's his phone number could you give him a call and just find out?"
And I was like, "Uh, no. No, that is not my job." And this is where
we get to the different levels of support.
If you've never worked in a software house or a corporate environment, you may
not know these exist. But you have first level support,
second level support and third level support and you as a software developer
always want to be third-level support. So, let's go through the levels of
support really quickly. First level support is the person who
answers the first email or phone call so they're the
person who finds out what actually is a problem. Sometimes
first level support can solve it. Maybe they forgot their password,
maybe they didn't know how to download it, maybe they're using the wrong
application. Or maybe it's something that they've
answered, again and again, a known issue and they're able to just solve it right
then and there. First level support while it's
often seen as a low-level skill, is actually a very high-level skill.
First level support is very good with people skills, right? They're the
ones who say, you call up the first level support and say,
"Oh, my app isn't working. My software's not working." And they say,
"I'm so sorry to hear that. Let me find out what the details are. Can you
you walk me through how to use it?" You know, they'll find out
what the issue is, what operating system they are,
steps to reproduce it, you know, what's going on. They try to see if they can
solve it themselves and if they can't, they put it on to second level support.
Now, I have seen i mean one of the things you don't want is a software developer
being first-level support. I mean some of them
are pretty good at it but i've see i seriously i personally have seen
a software developer take a first take a support call
and they were very defensive like it was i could remember very vividly working in
this office uh this small little company i was there
as a contractor and somebody called up and they were
talking to the head of it who was like the main developer and he was kind of a
jerk to be honest with you he's very full of himself and i just
hear him on the phone say well we tested that so we know that that's
not the problem so what is it you're doing this
what is it you're doing wrong like this is like an end user says what are you
doing wrong and they immediately made the user wrong
the user got defensive it just got messy early so first level
support you definitely want somebody with good people skills
second level support have a little bit more technical skills in first level
support and they can handle a lot more issues a
lot of times if you have something that's a known bug
they might have a list of an faq a list of things to go through or even
just simple problem solving they could go through and do it right
they could say okay um let's check the test check the disk
space let's check the network connection let's check whatever
but they're not they're technical they're not the
developers of the project but they're technical
most of the time second level support can get get the all
the issues solved or if it's a bug in the application
they're the ones are going to be able to pinpoint it and point it out to you
as third level support
and that brings it to us the software developers
third level support third line support now if you're a junior developer and
you're working on a big team a lot of the times
you know they will put you on first line support i've done a lot of projects on
first line support when i was first getting started
and it you know it kind of sucks but at least you're you could like hand it up
to somebody else to get to the nitty gritty of it you
know just basically taking down notes and everything
but by the time it gets to you as third line support
most of the time if every first line and second line have done their jobs
what you get is an actual bug when something comes to me
and this is a thing like i said when you're doing a client project you need
to specify this when somebody brings you
a an issue or a bug you need to know ideally you need to know the steps to
reproduce that bug right if they can't reproduce it and you can't
reproduce it then how are you going to solve it
but if you can't and sometimes you can't sometimes it's so random
you need other bit of information like what is the operating system
uh what is the platform so i need to know
if it's android uh what version of android is it what type of phone
is it uh you know how much disk space what is the uh
what is the login of the user if it's something that has a login backend so i
can test everything out and can i get permission
from the user if necessary to log in as them and look
at their account right that's the only way as as third
line support you're gonna be able to solve these kind of things
otherwise you're doing everything yourself it should be up to you to go
find out what the problem is talk to the user find out that actually
they're not even using the right application they don't even have a login
they're confusing it with something else they called the company they called your
client for something else unrelated and they
and the person who answered the phone thought it must be app related and then
you end up talking to the uh the end user all of these things have
happened to me before
so i have this analogy when i try to explain first line support second line
support and third line support to my clients
which is of the police at least what i see
on cop shows right first line support is the beat cop they're the ones who go
and take the statement they find out all the details
they get everything ryan they take pictures of the crime scene they find
out what's going on uh and then you have second line support
which are the detectives they're going through they're trying to figure it out
they're trying to look through how things are going
right there they've been through all this kind of stuff before
they know you know they have really good problem solving skills they're able to
look at all the evidence and try to come up with a conclusion and
third line support i guess i don't know i guess we're like csi
right we're the ones who actually we know that we actually can see the
data we can actually look at it and find out exactly what's going on
as long as we have the data presented to us in the right way so that's the whole
thing when you're doing third line support
you're not the guy who calls up and and just find out what's going on
so that's really important when you're agreeing to a project first
you know straight out you need to find out you know what's going on
you know what level of support you're going to provide
and you need to make sure that is that your client knows unless you actually
agree that it is your job to do first line support if you have that kind
of arrangement with them the client needs to know that your job
you're the software developer and not the problem solver right you're
the one who goes through if there's a known issue
you tell them what that known issue is okay there is it okay you go back to
them as okay there is a bug in this certain operating system on the certain
version we on a certain type of phone where this
happens we're going to put a fix in place but in
the meantime let's make sure first line support knows
about let's make sure a second line support knows about it
so they can flag that as a known issue and there's a fix on the way.
Anyway, I know a lot of you guys know what this is. I know you know the
difference between first line, second line, and third line support
but I thought I'd bring this up for those of you guys who don't. For those
guys who are getting new into client work, new into software development, so you
know that actually exists. Anyway, I hope this video has been useful,
has been helpful, has been interesting. Uh, it's been
much more windy up here than i thought it was gonna be.
So, if it seems like I'm just getting blown around, I kind of am.
But for those of you guys who have made it all the way to the end of the
video, please hit the like button really
appreciate it and if you have not subscribed to the channel,
we would love to have you join our little group here, right? We do our live
streams every Friday night at 5 p.m UK time.
We put out a couple videos a week, we have thousands of videos out there,
and we would love it if you, guys, are joining Overpass Apps! So, my question to
you guys is, what kind of support have you guys
done in the past as software developers? And have you
always done third-line support? I've done first-line support
and it kind of, I mean, I would say it kind of sucked, but it was like a whole
different skill. I think I got better with my people skills
right? That empathy that you know so somebody calls, uh
my app's not working, this sucks. You're like dude, I'm so sorry to hear that and
you just calm them down. I love doing that.
I love that, I used to love that. I was reading all these books on NLP
and I was like trying to really just calm everybody down. Alright, but
what kind of levels of support have you done and what kind of -
and how do you like to do it? Anyway, that is it for today.
Oh, it's cold all of a sudden for today! I'll talk to you again next time!