The First Time Your Code Meets Real Users
The day you step in the field of software development, you have one thing in your mind: “To Build”. To achieve this purpose, you start or participate in projects. But the question arises: “What happens when the project is completed?” Well, you guessed it right, if it is not a personal project (like a calculator 🙂), you give it to real users. Yes! From “It works on my machine” to “Now other people will use it”. But believe me, the first time your application is actually used by real users, it isn’t a great experience. I will tell you why.
When you test your code in your machine, the environment is perfectly ready and configured according to your needs so you almost never face any failure in development and testing of your application. But the thing is when you move your app to production, you might miss some configuration of your environment like not setting up the frontend or backend or your database correctly. Or maybe many users use that same feature at the same time. As a result, the same code that was working on your amazing device fails to work on the platform you host (it’s not a platform problem 😕).
Get Rayyan Arif’s stories in your inbox
Join Medium for free to get updates from this writer.
The most amazing part or I should not say amazing but rather a frustrating part of this experience: You test your application, use it like a normal user, test every edge cases and think “I have tested every possible edge case, this app would not fail” but BOOM 💥, “application crashed for the user”. Why? Because the user took some path you never even imagined and sometimes you start to feel rage towards the user and not the actual problem, like “Why did the user do this? Can’t he use the app normally?”
Now I am not here to tell you the solution of this problem because the thing is: A software is never perfect, no matter how hard you try to make it 100% error free, issues will arrive and you will continue fixing it until no more issues come (for a while 🙂) but that doesn’t mean that it’s over, anytime, any issue can come. So your goal is not to build a perfect software that will have no bugs, but instead build something functional for everyone and then fix the issues as they arrive. Don’t worry, it’s all normal in software development and it’s a part of your journey. Believe me, the satisfaction when that issue (the one users were facing) is solved can’t be explained in words.
(I have written all this based on my personal experience and I am not exaggerating 🙂.)





