What?! My Work Got Deleted?! (A Week of Redoing Deleted Work)
In my day job, I have created some tables for the features that I've built to improve functionalities for the company's application. I already knew that they (the infrastructure team) were moving our development database into a new environment, splitting the database into two databases in order to be used for debugging and testing. However, without us (the development team) knowing they have deleted the development database. And what's worse for me, my tables that I have created for various functionalities were not ported to the new databases.
Great! I just have to recreate the tables that I need just by retracing what I have done in the weeks before. It will be tedious, but doable. I've done it before, I can do it again.
Whoops! What?! My previous improvements are not there?! Now seriously. I know that it sounded like it's my fault but the truth is, it's not. We are supposed to have a GIT repository that we store our work, but when it comes to this particular application, just because the manager responsible for the GIT repository hasn't had time to create the environment, we're told to work on, drum roll please, production environment itself. Now, every developer would chuckle to hear this just because it's one of the greatest sin that could ever be done by developers these days. For a single application that only need the simplest functions developed just by one developer, yes, this is very common. But at enterprise level .... Anyway, I am not paid for just sitting around and so I just got to work, doing all the requested functionalities until there were some events unknown to me that my files were somehow got corrupted or deleted (my guess is a little about some different developers working on my file, and got it corrupted or that they took an old backup copy and slapped it into the production environment, overriding the work that I've done).
Anyway, it's work and it got to be done. And so I just have to work on it again and get it done. Meanwhile, this also happened on my side project! (Hahaha, what a week!). I was told by my client to create an application with a database as a collection of data. However, it takes a while for me to design that database, creating the relationships between the data, validating the types of data that need to be stored, etc). Once I've got the design and testing done that I started creating the database and the needed tables. It took me about 3 hours to do it just because I want to make sure that the data that I'm capturing is correct in the point of views of various case scenarios.
It was still early in the morning when I got it done. I still have some hours before I am needed at the office so I took a little nap. When I woke up, I got the email from my client saying that he needed to recreate the virtual machine just because he felt there were some configurations that he did wrong and since he thought it's a new environment, he was sure nobody had done anything to it yet. Little did he know ....
That's IT I guess, and repetition, redoing things over and over again is going to make you be better at what you do, even if you feel otherwise.
Thanks for sharing that story, sounds like rough times. I am happy that you see also the beneficial effect of learning from it. :)
I had in my former company the enjoyment to have version control with SharePoint for my code, it was a nightmare and problems with the delivery was a standard. Even after multiple escalations, I was maybe to junior to convince the business at that time so I created a self-hosted (on my former laptop) git server to have at least a clone from there.
It is so crucial and still, a business can not always see the value of that.
Never host your own GIT or backup except if you have a dedicated professional team, it's too critical to miss something. In general also have a backup of your backup, although that usually happens (maybe blind trusted) through the provider that delivers you your GIT and backup services.