#KnowYourDev: How To Report a Bug to a Developer to Actually Get it Fixed
If you work, or have ever worked in the online and digital environment, you would know that bugs happen all the time. In fact, they are more frequent than you think! We chatted to Mario Eguiluz, our CTO at Wanted about how he prefers people to report bugs to him to get more insight on what information developers require from you to get a job done effectively and efficiently. Mario has more than 12 years experience in software development building apps, webs and platforms. He was a Senior Dev and Lead developer with extensive knowledge in Swift, Python, Kotlin, Go, ReactJs, Ruby on Rails, Objective-C and MEAN stack.
He has experience working in startups environments and as an entrepreneur. He worked on apps and webs with millions of active users. He is also the Co-author of the book “Swift Data Structure and Algorithms”. Below are the recommended ways that you should go about communicating with your developer.
Give Details About the Environment
The first thing he recommends is for the developer to be given the exact environment that the error took place. As much as you might not be completely IT savvy, but vague, general information simply makes the whole process drawn out and frustrating. Don’t simply say “It’s on the website”. but which browser were you using when the problem popped up?
Knowing whether you are using Explorer, Chrome or Firefox is vital, and the first information that the dev is going to need to tackle the task. He also recommends you going further for them and trying out exactly what you did in other browsers to see if the same thing happens there too. Providing them that information will fast-track the resolution of the problem.
List the Steps You Took
Remember that the devil is in the details. A simple “I couldn’t sign up” doesn’t really give the developer much to go on. Rather, backtrack the steps you took to get there before something went wrong. If you went into the website through Facebook, clicked on a call to action, then moved to a product page where you added a product and then got stuck at the cart, let them know that. There could be a break in a particular funnel that needs a simple fix.
Mario says that developers need to reproduce the whole process to identify where the problem lies, so the more defined the steps you took, the better.
Mario states that it is incredibly helpful for you to actually provide them with visual evidence of the problem that you are facing for them to diagnose the problem. A screenshot of the broken page or the error that pops up will assist in identifying why the system is throwing it out. If it is something that is very specific, it could be in the messaging in the error message.
To screenshot a page, simply press your print screen button at the top right of your keyboard and paste it on your communication. He also recommends Skyping or Zooming your developer, sharing your screen and recording the problem to them for a full diagnosis.
Re-Test the Process
Mario put a lot of emphasis on this stage of bug fixing. “Something great, it’s when a dev fixes a bug, to retest to make sure it's working. It’s important the same person does it, because sometimes a dev doesn’t understand all the specificities he may think its fixed but its not. So it's important to retest.”
So follow the exact process you followed before and see whether it flows. In a lot of cases, the developer has fixed part of the problem, but there could be something he missed. Once again here, try it in all of your browsers and even enlist another colleague to try on their side. The more tests the better.
Use the Proper Communication Channels
Face it, there is nothing more infuriating than a 50 long email thread. It is going to not only frustrate you and make you more snappy, but it is going to drive the developer insane and the process is simply going to take longer. Use an instant communication channel in which you can have a conversation over, however, do not presume that the developer is sitting around waiting to sort out bugs in the system. They will most likely have a list of tasks, with time set aside to tackle problems. “Sometimes you’re handling so many bugs or things at the same time that you forget about it, or lose track of the details to fix it,” Mario says.
Find out from your developer what their process is and work with their system. Logging a problem might be the first step in which they can create a task on a platform like Trello whereby the task can be created, recorded and monitored by all parties. You can also use instant chat platforms to communicate more details with the developer when they need the information. Proper channels like GitHub and JIRA are also great to communicate and track the issue.
Submit the Information to the Right Developer
“This is especially true in big projects, where there are a lot of people involved. Not so true in smaller projects because we can handle it, but it creates a lot of noise and can be very distracting if people come to us for bugs that are not ours”, says Mario.
Know who is front end, who is backend and who is full-stack. It is also helpful to know the person to report problems to. Usually there is a team lead who designates tasks to the relevant developers and going to them first will usually get the problem sorted quicker.
The last thing that you need to keep in mind is that developers are human and make mistakes, especially in reams and reams of coding. Keep your communication friendly, light and informative. “Sometimes people can be quite aggressive coming up to us saying ‘it’s not working’ or ‘I was expecting this result’.” Things do break online, it is totally normal, and there is no need to be aggressive or point blame at developers if there is a simple element missing out of the code.