Spilling coffee on a laptop taught me a lesson (but not the one you think)
I use my own laptop for "personal" projects, such as this blog, but for ones related to work, obviously I do them on the laptop provided by my employer. When I started my Python course, I used my work laptop, as it was newer and faster. I could finally install VSCode, which changed my life, kinda.
In a fit of excitement, I'd created a repository on GitHub I could specifically keep my course notes and code snippets in. However, before the Coffee Incident, I had not yet initialised it.
The reason for this was that I cringed at the idea of people seeing comments in my code for "basic" stuff, like they would then judge me and conclude that I wasn't good enough. Wasn't good enough to be a developer. My intent had been to look over my files again before committing them, remove any "stupid" comments and wrong answers, and then they'd be good to go. But who has time for that? There was some part of my mind that wanted to keep believing I had that time, even though the reality of everyday life constantly proved otherwise.
So I just kept putting it off until one day, a careless motion of the hand sent a half-full cup of coffee splattering onto the keyboard of my WORK LAPTOP. I shrieked (I deal with unexpected conflict really well). I turned it upside down, unplugged it, dashed into the kitchen to grab a tea-towel to dab it. The sound gradually faded, then the visuals, then the white Apple logo appeared on a black screen. Then there was nothing.
I turned the laptop upside down and laid it down on the sofa, tea towel underneath, while frantically googling what else could be done, but I feared the worst.
Needless to say, the notes I'd been making during class — not just that day, but in general — were gone. All the ways I'd explained concepts to myself in ways made sense to me were gone. I started spiralling; I was now going to fail the exam for sure, because even if I read the slides the tutor uploads after each class, that wasn't necessarily going to jog my memory about the specific way I remember certain things. What was the point in even carrying on learning programming?
Like I said, I'd set up a repo for these notes, but just never bothered to commit them because I was waiting for perfection. Yes, yes, you can make private repositories, but that wasn't the point; if I ever made it public, people would still be able to see the history (indeed, one could argue that is sort of the point of a repository). The thought of this was unbearable for me, because it hurts to fail or look foolish in front of others, even at times when it's really unlikely that anyone would actually give a shit. And as we can see from this example, this is a self-sabotaging habit.
Basically, it seems I liked the idea of having the code up there more (creating the repo) than actually having it there potentially up for scrutiny (putting off committing it).
This taught me a lesson I'll take with me into my career: that the most important thing is actually learning, not worrying about people's opinion of you while you're learning. By not uploading my code to GitHub, I missed a trick; not only in the potential loss of data, but also because I was depriving myself of the opportunity to look back in, say, a year, and see how much progress I'd made with my code.
Being unfocused — not just in terms of the location of my hand in relation to the coffee that was on the table, about 30 deadly centimetres from the laptop keyboard — was hindering me in my progress. I know that sounds obvious, but the specific way in which you're unfocused is often clear to everyone around you but not yourself.
In the end, I got off very lucky. After a few days, the login screen came up; I was just able to salvage some files before the battery ran out (and immediately committed them to a private repo, needless to say). My employer covered the costs of getting it looked at by a professional and, after it transpired that a repair would be more expensive than a new machine, provided me with another laptop.
Above all, I learnt that when accidents happen — and they do happen — I have to be gentle with myself. That also means I need to accept the possibility of not being perfect. It's one of the reasons why I started this blog, so I can document my journey to becoming a developer and expose this process, which can be very frustrating and humbling.
Something I haven't mentioned, though, is that on the whole, this blog is nowhere near the stage I want it to be at. I'm still struggling with implementing StreamFields, which is Wagtail's signature feature, so that I can display images and code blocks decently. I've spent whole afternoons and evenings trying to figure out the problem. I've had countless flashes of "genius" that turned out to be red herrings. And still, I keep on publishing posts here, even though the actual presentation of my blog is not exactly how I'd like it to be. Even though my first instinct is to just wait until I've sorted everything out.
It's not easy to admit this, really. But I consider the Coffee Incident a milestone in learning not to care how it looks and just getting on with it.