Tales from the jar side: Teaching Experts, Being Treated Unfairly, and Fictional Jobs
I'm starting to think I may never rise to command my own starship, but I haven't quite given up yet
Welcome to Tales from the jar side, the Kousen IT newsletter, for the week of October 18 - 25, 2020. This week I taught a Spring MVC course on the O’Reilly Learning Platform and did a highly unusual private course on Kotlin for Android Developers.
Kotlin for Android for Students Who Already Know Both Kotlin and Android
When I say the class was unusual, I mean that over half the students attending could have taught it just fine without me. They were highly experienced Android developers who had already made the transition to Kotlin, and were mostly there to evaluate the materials — and no doubt the instructor — so they could recommend changes before the next three times I’m giving the course in the next three weeks (!), which will be for students who actually need to learn the material.
These students came from an architecture group, which can be a pretty loaded term. It always makes me think of this scene from The Matrix Reloaded:
I was the only person in the theater who heard that line and immediately burst out laughing. “Wow, me too,” I said to my wife. “That explains so much.” She told me to be quiet and watch the movie.
In the IT world, the architects are the ones who design the systems from a large-scale point of view. They determine what infrastructure needs to be built, and help provide services to the rest of the development team. The problem is, there are good architects and bad architects, and because they have so much influence inside the company, bad architects can do a lot of damage. I often distinguish the good ones from the bad ones by saying that the good ones, if necessary, could code all of their recommendations themselves.
These attendees were good architects. They knew exactly what they were talking about, and they knew both the coding aspects of Kotlin and what worked best in Android. I also got the impression that while several other students weren’t saying much, they knew all this stuff, too.
In other words, the class was as intimidating as hell. In his classic book, Surely You’re Joking, Mr. Feynman!, the Nobel physicist Richard Feynman tells a story about a presentation he had to give at Princeton as a graduate student. He was nervous enough even before he discovered that the audience contained world-class researchers like Eugene Wigner, the brilliant Wolfgang Pauli, and the inimitable John von Neumann (who later invented most of computer science), and then who should walk in late but … Albert Einstein himself. Yikes.
(Unrelated, but my favorite Einstein quote is: “To punish me for my contempt for authority, fate made me an authority myself.”)
(For a more detailed account of that event, which was actually Feynman’s first lecture, see this link. I’ll also admit that in the past few years I’ve learned that Feynman’s treatment of women was problematic, to put it mildly. Still, the story fits.)
The closest I’ve ever come to something like that was a few years ago when I gave a talk called Advanced Groovy Programming at a conference when Paul King, the de facto head of the Groovy language and a personal hero of mine, walked in and sat down. Every time I answered a question during the talk I glanced his way to see if he was nodding or not. After the talk, he came up to me, said “good job,” and then proceeded to show me at least six things about Groovy I hadn’t known. He was warm and friendly about it, too, as usual. As I said, he’s a personal hero. :)
Of course, I had no such assurances this week. In fact, I was rather dreading the class, knowing that if I made any missteps I could wind up paying for them. Also, I knew the timing was going to be completely off, because again they already understood what I was telling them, so there was a chance I’d run out of topics to talk about.
So how did it go?
Remember Sir Ben Kingsley as The Mandarin / Trevor Slattery from Iron Man 3? Tony Stark called him Sir Lawrence Oblivi-ay, which was awesome
The class went well enough, though I must admit I haven’t actually seen the evals yet. If they had been bad, though, I’m sure I would have heard something — most architects are not shy about expressing their opinions. The class was not up to my own personal, highly unrealistic standards, which is to be able to answer every question ever asked of me, immediately. Still, we got where we were going.
I used my standard line when I described the situation to my wife: “In the hands of a lesser instructor, that class might have been a problem.” She laughed, as she always does. My wife’s a peach.
I’ll just say the preparation took a lot of work generating the materials, and I’ll have to do some clean up and add a few exercises before we do it for real this week. I’m also not sure about the timings, because I don’t know how long “real” students will need to do the coding. Still, the class went about as well as it could have. Plus I got to ask them some Android questions that had been bothering me, so that was also useful.
Are You Being Treated Fairly?
As I’ve mentioned over the last couple of newsletters, my Managing Your Manager draft went out to a series of reviewers, and the reviews have slowly trickled back in. I don’t begrudge anybody that, by the way. It’s amazing anybody is able to be productive at all right now, and that’s just going to get worse until at least November 3.
One reviewer made a very interesting point. One of my strongest recommendations is that you avoid criticizing your boss in any public forum. That’s partly because you’re gambling your boss will never heard about it (and good luck with that), and partly because the very act of criticizing someone changes your relationship with them. The reviewer made the point, however, that in many cases you need to be able to find out if the way you’re being treated is consistent with others in the group, and that may require talking about your boss to others.
I did a bit of research and found this article, which describes some ways to tell if you’re being treated unfairly at work. Here’s a summary:
Being bullied. Well, duh. I try to make the point that all of my advice is irrelevant if actual abuse is going on, which is never acceptable. The problem is that often a manager’s behavior ranges along a continuum from “normal” (whatever that means) to really bad, and with enough gaslighting on their part it can be hard to stand up for yourself.
Not having the same opportunities as others. More about that below.
Acts of reprimand without reason or explanation. Yikes. Time to leave.
Excessive criticism, micromanagement, or negative attention. That would drive me crazy. I address micromanaging in my Special Topics chapter, but that chapter wasn’t included in the draft went sent. Maybe I’ll discuss that in a future newsletter.
Those principles sound good, but there’s a trap for me in them, regarding the “missing out on opportunities” question. One of my own problem areas I have to watch is a tendency toward professional jealousy. It’s all too easy for me to perceive missing out on an opportunity (a raise, a promotion, even something as simple as the chance to speak at an event or write a featured article) as something deliberate or unfair, when most of the time my name never even came up. Since my recommended strategy for dealing with your manager, based on a solution to the Iterated Prisoner’s Dilemma problem, requires pushing back when you’re not happy, I sometimes wonder when I’m overlooked if I’m actually the victim of passive aggressive retaliation.
In the end, I have to force myself to let those feelings go, at least until situations like that becomes a pattern. Of course, it helps that I’m an older white male, so I’m not likely to face issues of bias, unconscious or otherwise. For women or underrepresented minorities, the threshold where missing out becomes a problem is a lot lower.
I’ve had one boss in particular who makes a point of negotiating with each employee individually, thinking he’s being very clever by doing so, because he assumes we all don’t talk to each other. It’s very frustrating, and when we all get together and compare notes, a lot of venting about him happens. I try not to do it, but one year he really crossed a line with me, and I couldn’t help expressing it to the others.
That’s a risk, and I know it’s a mistake, but just because I know the principles doesn’t make them easy to follow. I guess the real point is that it’s important to understand that there are consequences when you criticize a manager in any public forum, and they can be serious. I’m going to update my recommendation so I don’t say not to do it. Instead, I’ll just remind you that there is always a cost, and if you’re going to say anything, be prepared for negative consequences.
(Admittedly, that’s pretty vague, but complaining about a past manager in this newsletter would violate the same principle, which I’m trying hard not to do.)
I expect a few more reviews to arrive in the next couple of days. I hope if nothing else that this discussion demonstrates I’m taking them all seriously and thinking about any issues they raise.
Jobs I Never Had
On the sillier side, the following tweet showed up in my timeline:
Normally I don’t respond to prompts like that, but I couldn’t resist temptation. Here are my responses, with captions to identify the movies or TV series they came from.
That’s Babylon 5, Galaxy Quest, and, of course, Dune
Robocop, Star Wars (the first, good one), and Buckaroo Banzai
The Expanse (new season coming in December), Jurassic Park, and Star Trek: Deep Space 9
Alien / Aliens / etc (and yes, I meant Weyland-Yutani; sorry about the typo), Terminator, and Spaceballs (“I’m surrounded by assholes!”)
Avatar, Starship Troopers, The Mandalorian
I think you can guess those.
I know what you’re thinking: Don’t give up my day job.
Last week:
Spring MVC on the O’Reilly Learning Platform
Kotlin for Android Developers, private class
This week:
Mockito and the Hamcrest Matchers, on the O’Reilly Learning Platform
Functional Modern Java, an NFJS Virtual Workshop
Kotlin for Android Developers, private class (for real this time)