Tales from the jar side, week of Jan 27 - Feb 3, 2019
Welcome to the latest edition of "Tales from the jar side", the Kousen IT newsletter!
This has been a challenging week for me. Don't worry. Everyone is healthy and happy, or at least not actively unhappy, which is a level I'm willing to accept. It's more that I worked too many hours for too many days in a row, and finally had to deal with the physical and mental consequences.
I know I've only written a handful of newsletters, but it may be clear to readers that I try to stay pretty busy. That might just be a generous way of saying I tend to over-commit, but never mind that now. Unless I'm in class, my work hours are somewhat erratic, so I'm as likely to be cranking away on a project late at night or early in the morning as during "normal" working hours. Even when I'm not doing anything specific I'm thinking about all the projects I currently have in progress, new technologies I have to learn, and so on. I imagine that's not unusual for people who work remotely or alone, as well as for people working on creative projects. For me, weekends are mostly just regular days, and if I don't at least accomplish something every day I feel guilty about it.
Online classes and fatigue
This week I taught four consecutive days on Safari, after doing the same last week. This time, on Monday and Tuesday I delivered my Functional Java class, which is mostly a Java 8+ upgrade class focusing on the functional features of the language (streams, lambdas, method references) added in Java 8. Wednesday I did my Reactive Spring class, which is about the webflux module and the reactive streams support added in Spring 5 and Spring Boot 2. Then on Thursday I had my Managing Your Manager class again.
Classes on Safari are only four hours long. The O'Reilly people prefer single day classes, since their metrics note a typical drop off in student attendance between days one and two of two-day classes. I personally feel I hold an audience as well as anyone, but a lot of the decisions about what to offer and when are based on that counting metric averaged across the entire platform.
(I have expressed my opinion that they're optimizing on the wrong metric, and that just because something is easy to measure doesn't mean you should make decisions based on it, but that's a topic for another day.)
I've been teaching training classes onsite for years, and normal classes generally run three to five full days. So doing an online class in only half a day feels like it should be easy. That, as they say, turns out not to be the case. Online classes require a lot of energy in order to keep everyone engaged and deal with all the questions and comments that come up. Plus, even though four hours sounds like a lot when you're the student, it's precious little time when you're teaching it. I often feel during class like I'm watching helplessly as the minutes pour like water out of a glass.
That reminds me of a joke I told my son, who actually improved it in his response. Some time ago I texted him the following one-liner "Dad joke", because of course I did:
> A skeleton walks into a bar and says to the bartender, "I need a beer and a mop."
Ha ha. I sat there smugly waiting for a (virtual) groan. Instead, less than two minutes later he replied:
> More like a beer and a bucket. Then he doesn't have to pay for any more beers. Death Hack
My boy can be wicked smaht, when he's not being a goofball.
The proposal process for a new training class is always an eye-roller for me, because they want you to cover a ton of material (meaning the outline has to include a lot of topics in order to compete with similar outlines), but still leave time for exercises and questions and breaks.
I try not to laugh when they say that, because they don't realize how funny that is. I do wonder whether any of the people evaluating the proposals have ever tried to teach a complicated subject to over 100 people in just a few hours. If anyone in the class has trouble (and with that many students, somebody inevitably will) you can get caught in a mode where all you're doing is fixing individual problems on their machines while you fall further and further behind the intended schedule. Not to mention that the people who do complete an exercise are getting bored and are waiting impatiently for more advanced topics.
As I like to say to my wife, "in the hands of a lesser instructor, that might be a problem," which she usually rewards with a laugh. In practice, the approach I use is to prepare a series of exercises which I make available to the students on a web page, and then use class time to walk through them, discussing the relevant topics and issues along the way. The students know that the exercises will remain available even after class, so they can code along with me or not, as they chose. When they run into problems, they can complete the exercises later and/or just heckle the instructor. :)
The bottom line is that while I'm comfortable teaching these large, online classes, they take a lot of energy and effort. That's fine, of course -- heck, it's my job -- but that doesn't leave as much time or energy for other work.
The previous week I taught classes from Tuesday through Friday, then spent the weekend working primarily on my Managing Your Manager and Kotlin Cookbook books, and then taught four consecutive days this week. Even though that still doesn't internally feel like a lot, between that and regular company-related work, I hit a wall. I got into one of those states where even though I had some time, I lacked the ability to do more work. I had planned to do a fair amount of writing on both books this week, but it didn't happen.
One of the ways I try to cope with being mentally tired like that is to connect with people. Fortunately, I got an unexpected opportunity this week to do that.
The Science Cafe at the End of the Universe
Last Sunday I saw a tweet by @AstroKatie, the twitter handle for the inestimable astrophysicist Katie Mack, who I've been following on Twitter for years. She tweeted that she would be giving a talk about the Death Of The Universe at some place called the SciTech Cafe, in Northampton, MA, on Monday.
Northampton is a bit over an hour drive for me, but I've wanted to meet her for a long time and I knew she's an excellent speaker, so I decided to send her a tweet as well:
"Wow, that's only about an hour away from me. If I can swing it, I'll see you there. I'd love to hear you in person after following you all this time online.
Also, it would be nice to learn how the universe will end :-)"
She actually replied. "I'll try to make it worth the drive," she said.
Now I had to go. As preparation, I listened to the Fauré Requiem on the drive up.
The talk was excellent, as expected, and very well attended. Just before the start, the woman next time said, "I've never seen this many people here. Is it because of the professor?"
"Yes," I said. "She's good, and she's well-known online."
"Really?"
"She's got 300,000 followers on Twitter."
"Oh my."
Katie talked for about an hour. Without going into details (see the Wikipedia page on the Ultimate Fate of the Universe if you want a summary), she discussed the Big Crunch, the Big Rip, vacuum decay, and the heat death of the universe.
I sat near the front, and since meeting her was my real goal anyway, as soon as she was done I managed to introduce myself. I told her I'd been following her for years and that I'd sent her email at one point that she actually replied to, but of course she didn't remember me. That's fine. I did convince her to let me get a picture with her.
I then tweeted (along with the attached pictures):
"Learned about the Death Of The Universe from @AstroKatie at SciTech Cafe tonight.
Happy to report that she is as clever and charming in person as she is online, despite the possibility of phantom dark energy or vacuum decay"
So the whole experience was fun, even with the Mozart Requiem on the ride home. If you're at all interested in astrophysics, I recommend following her on Twitter at the link above.
The Rest Is Just Scribbling
I didn't write a lot this week, but I have been thinking a lot about how my Managing Your Manager book is evolving as I write it. The process is revealing themes that I've intended all along but never stated explicitly.
For example, I now realize the advice I give falls into three categories which I'm tentatively calling "what to do," "what not to do", and "what to try". Unlike my technical books, there's no guarantee what I'm suggesting will work. Most people in an unpleasant situation with a manager feel that their only recourse is to leave. I can frame a lot of my suggestions as "what to try" to repair the relationship and make your manager your ally. The goal is to get what you need when you need it, and the purpose of the book is to give you a path to that goal. It may not work, but at least this way you'll know that if you do have to leave, at least you will have done everything you can. Plus, it may actually work. :)
One of the main approaches comes from an examination of the "Tit for Tat" solution to the Iterated Prisoner's Dilemma problem, which I'll discuss in detail in a future newsletter. The basic idea is to start off cooperating, but then echo your opponent's move each time afterwards. That means pushing back when they do something you don't like, but then cooperating again when they go back to cooperating. It's an easily diagnosed strategy, which is part of the reason it's so effective, but it also helps train your opponent that if they do something against you, they're going to hear about it. The key when using that strategy with a manager is to do the retaliation in a way that does not threaten the constructive loyalty relationship, but still gets the message across.
Much more about that coming soon.
Last week:
Taught Functional Java on Safari
Taught Reactive Spring on Safari
Taught Managing Your Manager on Safari
Next week:
Teaching my old Groovy and Grails class (1 day of Groovy followed by 3 days of Grails) at a private client in Pasadena, CA
Teaching Basic Android on Safari