Being a developer has its perks. I get to create amazing applications and tools using even more amazing applications and tools. I can whip up a completely functional webpage to help students buy books or for people to post annoying cat pictures in a day. It could have 99.99999% uptime and never have a security flaw and performance could be impeccable.
One of the many reasons I love programming is because I can create a tool that'll make peoples lives easier. If I ever leave this world alive & I make someones life better, it's been a succesful life.
But then along comes the user. In its natural habitat, the user can take a solid system and turn it into a mound of developer tears and man-hours.
While intelligence can be common, it has been known to completely ignore warnings and then complain that something happened. In my godly position as developer, I have even shown them mercy and gave them a chance to correct their mistake by asking them to confirm their choice, "Are you sure you want to do this?". And they still feel like it's a good idea to click it. If you are not sure of something, don't do it, call support or use the Internet. Sometimes we even don't even know everything and search for it ourselves. I am not saying try to do something you are not comfortable with, but give it a shot and if you're not sure, then ask us.
Every developer has thought at least one of these thoughts before. Users, we love you and your ideas, but sometimes you can be a doofus.
We actually do care about you.
I am not a frontline helpdesk person but some of the phone calls I have heard throughout my career could melt the Lich King's heart. Hearing users almost at the point of tears because of something not working breaks my heart. I hate hearing people saying that something isn't working and they need to get it done or that they lost all their work. No one wants to have to go through that, not only is it my job to help you, as a human I want to help you. You have to let us help you.
Nothing is worse than trying to use a system that doesn't work. It can be insanely infuriating and will drive you crazy.
Please remember that we triage the bugs. There are different levels of bugs to fix and I will get to yours as soon as possible. If I am in the middle of something or working on another important bug, there is a good chance that I won’t look at your bug until my current one is finished. I don't care if you don't like the color of your site, if a server is on fire, that's more important. If there are no other bugs after I fix the server, I will attack yours first.
We have our own rules to follow.
I haven't experienced the next one myself yet but I know it happens sometimes.
If you call in saying I am 'X' and I need to do 'Y', we need to verify who you are. Even if you say I am the VP of schmoozing and I need to do something, I'm not going to move forward until I can verify who you are. Most of the time it's a simple question of
Can you verify this for me or please answer this question.
When I ask you the questions you think are stupid or ask me 'Why on earth would you need to know what' or 'That won't do anything', it doesn't help us. There are some scripts that I have to go through to MAKE SURE that everything is set. I don't mean to call you stupid but, sometimes going through the scripts and asking you the 'stupid questions' may actually solve the problem.
We are human, we are not perfect, we may forget things and need to be reminded of them.
From what I've heard, this problem mostly leads to the next.
Yelling and attitude gets you nowhere
I understand you are frustrated, trust me, I do. I know exactly what you are going through, programs not working is one of the worst things ever. I have things I have/want to do to help you, but the second you start screaming and cursing at me...I AM DONE WITH YOU
After this happens, I will give you one shot to discontinue the behavior.
I'll admit it that I can sometimes personally have a short temper/patience for people who don't try to understand certain things or people who automatically go into Super Hades Mode. With time, I will get better at this. I am not purposely trying to screw you over . I'm doing my best to help you, but your yelling automatically turns me into this...
I don't care what your problem is after you talk to me or my co-workers like that.
Thankfully, I don't have to deal with this.
If I ever have to work with anyone at a HelpDesk type position and you (the caller) start to scream at my employees and belittle them and bring them down, I will give you one shot. If you don't apologize after that, I will say, "I cannot continue with this conversation as you are being too hostile. I will not put my workers through this. Please call back later" and hang up on you.
Just don't yell. It gets both of us nowhere and only serves to get nothing done.
There is no fooling us
We know when you are lying about doing something on your computer; we are familiar enough with the system to know what should be showing up. Just tell us the truth of what you are doing; it's easier for everyone.
I will go on the users side sometimes on this issue because the user could not just know what they are looking at. Just describe the situation as much as possible and I will try my best to solve it for you.
Most of the time when we ask you to describe something it is because in order to move forward, we need to know exactly what you're looking at.
Development isn't like a vending machine
If something is broken, I want to fix it as soon as possible. Once I find out about the bug, I will usually:
- Try to reproduce it
- Make a fix on my local dev system
- Test it on my local dev system
- Commit it and push it out to the production test system.
- Test it on there
- If it works through each of the above steps, it gets moved to production.
For some bugs, I can get this done in a few minutes. Other bugs can take hours or even days to even identify the problem and then fix it. A fix in one tool could possibly break another tool. Moments like this are why fixing and building code can take a long time.
Every once in a while we will have to put out an emergency hack or fix that actually fixes the problem but is not meant to be used in production for the long term.
Quality code can take a good amount of time to develop and get working. As long as you acknowledge this fact, we'll all be fine.
Learn to read
Every once in a while we will have a need to send out notices regarding a large number of issues. We will usually send out an email or put a message up where you can see it. PLEASE ACTUALLY READ THEM. If we put up a notice about a downtime 4 times and then you complain about the downtime because you weren't prepared for it...
The reason we send out these emails is because we want to let you know ASAP so that you can prepare for the downtime.
Just a side note- If it is known that you have to get something done by a certain date, just get it done.
I just want us to be friends
We just need to better our communication with each other. Users need to realize certain things and so do devs. I know not every user is going to be an expert at everything, but I do expect some knowledge and also wish/hope the user tries things on his or her own.
Some of the best moments were with users are when they show excitement about a new product, or figured out how to do something on their own or show happiness when you recover something for them. Those moments can brighten someones day.
The back and forth between a user is the most important time for developers. It can be the best of times, it can be the worst of times, it just matters how each party comes to the table.
If you can, please talk about your favorite user/dev stories in the comments.
It'll be fun to hear more stories and I can actually test the comments section out!