You’re Only as Good as Your Worst Day
fs.blog
fs.blog
The total output of advice in this article are the last two lines:
> Very few people plan or prepare for what they’ll do and how they’ll act during those times. Those who do might well end up turning their worst day into their best.
My suggestion for not failing miserably when something goes wrong is to manage one's stress levels. A therapist once said to me "everyone has their breaking point". Her suggestion was don't allow others to place or allocate their stresses on you, especially when you may venerable to taking on other's stresses through codependent behaviors.
It puts it into perspective for me. Mind you I don't work in anything mission critical where lives are at stake, so this wouldn't work for everybody.
I'm reading this as if well, perhaps the day didn't go wrong enough? There's SO many other ways to spin a story like that, and understanding that everyone has a breaking point is indeed a very important one.
There's something very different between having clarity of mind and hyper focus under fire (the crisis situation at work), and handling multiple life stresses (e.g. family+work conflicts+++) at the same time. I mean, personally I can get a bit of a kick out of the first part - state of flow etc, whereas grinding family demands etc combined with other events that stack up in a cumulative manner is something completely different. To be better at the latter I hit the weights on a regular basis, which helps but does not make one immune.
This seems like yet another thinly veiled attempt to make overwork the new norm.
Yes, there are places where it becomes routine to pull heroic hours. But that's not most places.
Yea, I've noticed that too. I attribute it to most devs are not assertive, then add in the fetishization of anxiety, victim of micro aggressions and regular social awkwardness, they literally lack the ability to fight out of a wet paper bag of basic work dynamics. A majority dont know that you negotiate your salary when you get a job offer, you dont accept the first, obvious low ball offer. If your boss tells you to do something outside of your written job responsibilities, you have every right to say no. Same with if you say yes, you can negotiate for extra compensation. Plus, not everything glitters is gold. Its amazing when you can get if you negotiate with non-monetary requests. In the US we have laws to protect employees that are rather extensive even though the media likes telling us we are all slaves. No, you're just uneducated in your rights and legal mechanisms along with generally being an overall coward to stand up to someone. Like, it's one thing to be a coward to someone with a gun to your head. It's a whole other level when you're scared of someone with zero malicious, then in turn victimize yourself in the process.
That's myopia, really. The world is not full of psychopaths to exploit developers. It's just unreasonably well stocked up with psychopaths. And they do what they do best: exploit everyone around them.
Those with their hands on purse strings simply reward them.
> When a program stops working, do you face a baffling error message with no further guidance or clear instructions for how to get help?
Error handling is incredibly important to me.
Not just trapping errors, but also presenting them to the end-user. Masking technical details is quite important. Most engineers won't ever be informed that the error happened, so there's no reason to provide a core dump to the user. They just need to know that the program has encountered an anomaly, and how that affects the end user, at that moment. They need to be informed of the consequences of the error, and any possible mitigation.
Helping to remove the "emotional sting" from an error message is important. There was this excellent comedy routine, in the early 'oughts, called "Welcome to the Internet Help Desk"[0]. In it, the support rep encounters a user that breaks down in tears, when confronted by a fairly standard Microsoft error message.
I've found that the best way to resolve errors, is to not encounter them. This is accomplished by a combination of good programming, and good usability. Doing things like disabling or hiding paths that could lead to errors, developing a carefully-worded product glossary, etc.
It is not the worst day that matters to most people but what you do after that worst day.
I try to make things right. My friends know who I am at my heart. They know my episodes are beyond my control. As a result, most of them stick by me because I will take responsibility for the damage my actions and words have caused.
I also plan in depth for episodes. My friends have my permission to intervene, even if I try to push them away or refuse to accept help. Most of these measures have never been used but they are there.
My friends trust me because of this.
I like OP's post but would love to get some empirical data.
> If I’m “hyper-productive” and “focused” on my “worst day”, it obviously wasn’t my worst day?
Good q, I could also have asked: What's your system to overcome set-backs which usually distract you and turn an ok day into a bad day. Or just, how to turn a lazy or bad started day into a good day.
(1) Separate work from life, be able to walk away for a bit when work isn't going well. And do walk away if things aren't going well. If you haven't been able to write any code for the past few hours, odds are you won't be able to write any in the next few hours.
(2) Focus on process over results. IE have a good process to minimize the amount of time you spend thinking about what you should be doing, whether you did the right thing, etc. What honestly helps in these cases is just having a task list of "I need to get XYZ done today" and then blasting through it without leaving room for thinking about things too much. I like Getting Things Done (ie https://www.amazon.com/Getting-Things-Done-Stress-Free-Produ...) because it helps separate work from life.
(3) Take the long view of your life/career. The truth is that you are going to make mistakes, bugs will get into prod, you're going to get burned out, etc, so you need to accept that you will have "bad" days (or days, weeks, moths where you just don't care about what you're doing in which case it is obviously going to be crap) and focus on the process for improving them to minimize them over the long run. I think the important question here isn't "did I make mistakes" but rather "is my process resulting in a slower rate of mistakes/less severe mistakes.
(4) Never forget to eat, sleep, drink water, and exercise. Especially sleep. when things are bad we tend to sacrifice sleep, that almost always makes it worse.
Most of it I think is summarized as having a process you can trust so that when things do go poorly you can focus on the process in those moments. The process will get you out.
There is no reason to "stay hyper-productive and focused" every single day. Just as the work ebbs and flows, a person's energy ebbs and flows.
The key is to develop _habits_ which serve you well on "off" days. Put forth the effort to do things like wake up at the same time, log in and do certain "ceremonies" of work, always do SOMEthing productive every day.
It's the exact same thing as forcing yourself to go to the gym every day no matter what. You don't have to set new personal records every time. But if you go and put in at least SOME level of effort, push yourself at least somewhat, then on the "bad" days you can just put yourself on autopilot and still put in a good (not GREAT, not superb, not fantastic, just GOOD) performance. And that's what matters.
> forcing yourself to go to the gym every day
This also never worked for me. While going to the gym is super effective, I found it the most boring and brain-deadening activity ever—I degenerate there even more than browsing Reddit for two hours. In contrast, I don't have a problem to motivate myself to go and play Tennis, without any habit-forming voodoo.
The key to my productivity? Just working a little every day. I don’t do sprinting. It burns me out.