People often write to me, call me as if I were their tech support. I know a few programming languages, but I don't know how to do x with program `y'. Most probably, I have never seen, heard or used the technology they have trouble with. The fact is that besides the notepad and a web browser, I don't use anything that most people use. Maybe Zoom, Skype now and then. Otherwise, I'm in my custom environment inside the command line. Yeah, I might be in the tech world 10h a day but in a slightly different one.
β‘ IT support
A few days ago, my dad sent me an email on how to do something on his Mac. How he has an issue that he can't fix. He sent a link to the forum with possible solutions, and I replied which part from the forums answers he should try out.He went nuts ...I'm still waiting for him to cool off ...What pisses me off is that people become angry with me when I can't help them out or don't have the time to help out.For my friends and family, I'm often the go-to person when something doesn't work. How do I do x with blah, blah? How the fuck should I know? You have Google at your fingertips. Use it:One of the primary reasons I learned how to code was to figure things out on my own and not beg others for help.In the process, I somehow learned how to deal with the frustration of not knowing.
β‘ I have no clue what I'm doing.
Here's the thing. 99% of the time, I have no clue what I'm doing. I throw shit against the wall until something sticks. Am I frustrated? Yes, sometimes, but I learned to accept the fact that the majority of the time I'll be lost. And not knowing doesn't mean I'm an idiot. No, it means that the problems I'm working on aren't completely trivial.Dealing with frustration is a significant part of the journey of every software developer. As a technology novice, you're more frustrated because you didn't build the skill of not knowing just yet.
β‘ What do I mean with frustration?
My grandmother is a prime example. Every time we talk, she complains how she has trouble with technology. Good, we all do. But out of curiosity, I decided to ask here why? Why does she get so worked up about not knowing?Her: I get pissed because I keep forgetting things and don't remember how to do something.What's interesting to me is that I forget things every day. All the time. That's why I've been taking down systematic notes for years now (more on it here . I try not to get worked up. I don't even try to remember everything I learn, come across. I write it down to put my mind at ease.Sure, it makes sense that we get frustrated when stuff doesn't work and we don't know why. Technology is complicated, after all. But if we don't manage the frustration, it can become pretty ugly ...
β‘ Why is technology so complicated?
Or better yet why is it so unintuitive sometimes?On December 12th, 2020, the majority of Google services went down for an hour. They had a system-wide outage. Just to illustrate:This is the number of Gmail user error reports vs time on that day.How can that happen?Google employs some of the smartest most talented on the planet. Engineers that knew how to code before they could walk (OK since age 5+) but people that play with technology all day long and for fun. And they still mess things up every now and then. Sometimes stuff doesn't workβbig deal. Don't lose your shit over it. Remember, people who work with technology for a living mess things up and struggle every day. If you're a regular user, you'll probably struggle to π
β‘ What can you do to be less frustrated?
Meditate. No really:π§π» π§π»ββοΈSoftware developers, engineers, scientists are people that thrive in solving puzzles. But why would anyone want to be frustrated all time long? Well because once you crack the puzzle, a short burst of joy goes through you and this jolt of joy is addictive. The pleasure you get from cracking the problem is pretty cool. And there's no shortage of problems and puzzles to solve in engineering. Some engineers go as far as say that solving the technical issues is like having a series of mini orgasms.How come that people in tech enjoy the whole process much more than novices and other non-experts? Because when you work with software day in day out you learn that 99% of the time you have no clue what's going on.You learn over time that you will be clueless for the majority of the time. You learn to deal with frustration better, and you faster admit that you don't know what's going on.Sure having a larger pool of knowledge can help you identify the real issues faster, but if you can't learn how to deal with frustration. Bye, bye ...With this detail in mind, I'm not that surprised that the engineers, physicists, mathematicians, coders are all so zen. They had to learn how to calm down and master the frustration of not knowing. They are accepting that at the moment they don't get it. Experience helps because you know that at some point, the puzzles will click into place. But until you gain the confidence that things will work out eventually, it can become pretty frustrating.So don't lose your shit for no reason. You might not be in the right place just yet, or it might not be your fault after all π
β‘ Effect of this post
I'm pretty curious how my audience and friends will respond to this piece π Let's call it a social experiment. Maybe the rate of tech support questions will drop π€.