How Great Candidates Get Missed by Hiring Managers

YouTube shorts are my guilty pleasure for when I am feeling too lazy to focus on anything for more than two minutes. I ran across the one at the bottom of this post the other day, which I found really inspirational given that I treat a lot of information the same way. Specifically, I don’t spend time committing information to long-term memory that is easily looked up.

I have, at times, committed information temporarily to long-term memory for the purpose of receiving certifications that are helpful in credentialing myself in the eyes of others, I seldom maintain full recall for more than a couple of months past the exam (unless I am currently using it on a regular basis). There are some scripting languages that I have learned multiple times because they fall into disuse between very long term projects.

Before the Einstein quote, I had heard about Henry Ford suing for slander after being called ‘ignorant’. His court testimony was along the lines of “…tell me why I should clutter up my mind with general knowledge, for the purpose of being able to answer questions, when I have men around me who can supply any knowledge I require?” (see Ignorance Is Not Knowing Everything: Henry Ford Model for a good read about this…though I heard about it back when Internet was still capitalized and one had to hear tortured US Robotics™ scream before it could be accessed by most).

In researching the Einstein quote, I ran across a few others on a site I won’t link to because of the nature of the ads they show. Suffice to say, it is a commonly-held sentiment among those considered to be educated, intelligent, and/or innovative.

The point I wish to make, in my frequently-meandering way, is that these quotes and attitudes are all pre-www and even more relevant in light of both the internet as readily available source and the accelerated speed of change it fosters. Memorizing information pertinent to solving technology issues is detrimental to being highly productive both because it requires a narrower range of knowledge, and it often results in relying on outdated information rather than refreshing one’s understanding (which has most likely evolved for the topic since memorized).

Dennis Miller used to close his monologues (which he called rants) with  “But that’s just my opinion. I could be wrong.”, and I used to quote that in my email signature (back when quotes in email signatures was a thing). In this case, I believe if I look it up now, I won’t be (wrong, that is, which I add because even I found that sentence confusing…but still like the Miller-esque structure of it).

Facebooktwitterredditlinkedinmail
© Scott S. Nelson
Freepik rendering of the prompt 6 cats in a line one whispering to the next playing the telephone game

Realizing Agile’s Efficiency

(Feature image by Freepik)
TL;DR: Fostering a culture of trust that leads to calm collaboration up front will yield the benefits that Agile principles promise.
Preface: While agile is in the title of this post, no claim is made that the post is about how to do agile or how SAFe is or is not agile. It is about how the Manifesto for Agile Software Development is self-clarifying in that it concludes with “while there is value in the items on the right, we value the items on the left more.” (italics mine), and how the value of the items on either side should be measured by their effectiveness in a given organization and the organizations influence on the “self-organizing teams” referenced in the Principles behind the Agile Manifesto. That said…
The value of architecture, documentation, and design reviews in SAFe was illustrated in a scenario that played out over several weeks.
The situation started with the discovery that a particular value coming from SAP had two sources. Well, not a particular value from the perspective of the source. The value had the same name, was constrained to the same list of options, but could and did have different values depending on the source, both of which were related to the same physical asset. For numerous reasons not uncommon to SAP implementations that have evolved for over a decade, it was much more prudent to fetch these values from SAP in batches and store them locally.
The issue of the incorrect source was identified by someone outside the development team when it was found to be commonly missing from the source selected for work prioritization. For various reasons that will be common across a variety of applications that support human workflow, this was considered something that needed to be addressed urgently.
The developer who had implemented the fetch to the correct source was tapped to come up with a solution. Now, one thing about this particular application is that it was a rewrite of a previous version where the value of “Working software over comprehensive documentation” was adhered to without considering the contextual reality that the team developing release one would neither be the team working on the inevitable enhancements nor ever meet that team. The re-write came about when the system was on its third generation of developers and every enhancement was slowed because there was no way to regression test all of the undocumented parts. Unsurprisingly, the organizational context that resulted in the first version missing documentation also resulted in some tables schemas being copied wholesale from the original application and not reviewed because requirements were late, resources were late, and the timeline was unchanged. So, with no understanding of why not to, the developer provided a temporary solution of copying the data from one table to the other because it had only been communicated that the data from one source was the correct data for the prioritization filter. Users were able to get their correctly prioritized assignments and  the long-term fix went to the backlog.
As luck and timing would have it, when the design phase of the long term fix was picked up by the architect, the developer was on vacation. Further, while this particular developer had often made time to document his designs, the particular service the long-term fix depended on was one of the few that were not documented. Still further, it had been re-design as another service had been discovered to obtain the same data more reliably. But all of the data currently loaded was from the previous version, so even the attempt of reverse engineering the service to get sample data for evaluation was not possible. These kinds of issues can lead to frustration, which in turn dampens creative thinking, which is to say that had the architect looked at the data instead of following the assumption from the story that the data wasn’t yet readily available, he would have discovered that it was already present.
Eventually the source of the correct value was identified and a design created that would favor the correct value over the incorrect value but use the incorrect value if the correct one was not available to allow for the assignments to continue because sometimes the two actual values were the same (which is inspiration about a future post discussing the value of MDM). The design also included updating to the correct value if it became available after the initial values were set. The architect, being thorough, noted in the design a concern about what should be done when the correct value came into the system after the record that was prioritized based on that value has been assigned and processed by a user. After much back and forth, it was finally communicated that while the data was retrieved from the same system and labeled with the same name, the two values were not different because one was incorrect but because they were in fact to separate values meant for two different viewpoints. Which means that the design of attempting to choose and store a single correct value in both tables was invalid and that the records altered for the work-around were now (potentially) invalid. This made the correct solution a (relatively) simple change to the sorting query.
With the full 20/20 vision of hindsight, it is now clear that if the team did not feel that ever issue needed to be treated as an emergency and all of the product, design, and development stakeholders had discussed the issue prior to taking action, about 80 hours of work would have been reduced to 4 hours. Yes, there were other factors that impacted the need of 80 hours to deal with what is a fairly minor flaw, but those factors would not have come in to play had the questions been asked up front and clarity reached through collaboration.
Facebooktwitterredditlinkedinmail
© Scott S. Nelson

Will UpNote replace Evernote?

(Post written in UpNote and feature image generated with Freepik)
I used Evernote free version for over a decade. I finally went to the paid version when I needed it on more than the supported free devices at the time. Later, the number of devices I needed it on went down and I dropped free. Shortly after that, they lowered the number of devices for free and I was forced to go back to premium. Then the price doubled. Then Bending Spoons acquired it and it doubled again. I started looking for an alternative after the first doubling, but wasn’t finding anything that worked for me. I looked even harder after the second doubling, and Obsidian was as close as I could get, but not quite what I want, and the premium version ain’t cheap. But still cheaper than BS (appropriate acronym for them given what they have done to Evernote) and I have had looking into an Obsidian migration in my Evernote To Do list (a feature that was part of the app even before there was a cloud edition). I recently read a good discussion of UpNote on Medium (Don’t Use Obsidian) that prompted me to try it again (I’m 90% positive I looked at it after the BS price hike) . It is very much like Evernote was when it first moved to the cloud.
So far, here are my comparisons:
  • Tags are case sensitive in UpNote.
  • Still will miss nesting them as in Evernote.
  • No reminders in UpNote, but that was a feature I rarely used in Evernote.
  • UpNote only pins notes, not tags.
    • But, Evernote is erratic about that feature, sometimes with sub tags and sometimes not
  • I do like how I can make notes narrow again in UpNote.
  • Evernote reduces the paragraphs spacing in lists, where UpNote provides fine-grained paragraph spacing but doesn’t differentiate with lists.
And here is what I intend to try:
  • Try exporting Evernote into this and then back to Evernote in case UpNote goes under.
If the above works well, I will probably switch. Unfortunately, I have to subscribe to do that. I can see where a monthly subscription to try and then a switch to lifetime might be worth it.
Facebooktwitterredditlinkedinmail
© Scott S. Nelson

AI as a mental crutch

(Feature image created with DALL-E, providing feedback on my image proompting skills)

Every couple of years I find myself building a new Linux virtual machine baseline for some project. Even though I’ve documented the process thoroughly the last few times there is always some quirk that has me starting mostly from scratch each time. This time I started off with setting the home page in Firefox to perplexity.ai and using it to find all of those mundane commands I forget three weeks after going back to Windows for my day to day work.

This time I hit a snag pretty early in that I was getting an error that made no sense to me (the specifics of which aren’t relevant to this train of thought). Perplexed, I asked Perplexity “wtf?” in my best prompt formatting (which, admittedly, is a WIP) and it gave me a few things to try. Some (not all) of them made perfect sense and I gave them a try. They failed.

I compared everything I was looking at against a similar appliance and didn’t see any obvious differences. I tried variations of prompts with Perplexity to get a more directly relevant response, which either resulted in what had already been suggested or even less relevant responses (I did mention my prompting skills need, work, right?).

I then tried ChatGPT, which gave me the same answers that differed only in their verbosity and longer pauses between response blocks.

Finally, I ran the same search I started with in Google, which returned the usual multiple links from our old friend Stack Overflow. I did like I did before using GPT backed by LLMs and narrowed the time frame down to the last year to eliminate answers 10 years out of date (and sometimes links to my own past explanations that are equally out of date) and found a summary that looked closer to my actual problem than the bulk of the answers (which were clearly the source of the responses from both GPT sources I had tried earlier).

And there was my answer. Not just to this one problem, but to the kind of sloppy approach I had fallen into using AI. The thread started with an exact description of the same problem, with lots of the same answers that had been of no help. And then the original poster replied to his own thread with the solution (a habit of frequent Stack Overflow contributors I have always admired and sometimes remember to emulate), along with how he wound up in the situation. Again, the specific error isn’t relevant to this tale, but the source is using the the first search result that seems to answer the question rather than reading it all the way through and seeing the subtle difference between what was needed and what was provided.

No AI response will tell you about the screw ups that caused the problem (are they embarrassed for their human creators or just don’t think it’s relevant?) and the path to realizing the mistake and then recovering (and learning). But real people will and that is how we learn from each other.

So having copilot proof your work is great and using promoting to get a start on something you’re stuck on is a great productivity boost. But relying solely on the technology to do all the work is how we wind up forgetting how to think and learn and build better technology to give us time to think and learn. In short, don’t trade the mental crutch for a creative wheelchair.

Facebooktwitterredditlinkedinmail
© Scott S. Nelson