Laws for the Practical Technician

By  
Mendy Green
July 5, 2024
20 min read
Share this post

Over the years of training and assisting various technicians, I've formed a set of guidelines that I've been known to drill constantly. The other day while talking to a newer technician and working with them I realized that I now have the time I didn't have before to actually write down what I've been ranting about for 14 years. I've dubbed them as the Laws for the Practical Technician.

  1. Keep an open mind when approaching the problem and avoid falling back into the "End User" mindset
  2. Read and explore everything on the screen! Pay attention to what's being done and what its telling you
  3. Understand the problem at least as well as the person asking you for help
  4. Be intentional in your troubleshooting, closing your eyes and throwing darts at the wall is not helpful
  5. Question everything you think you know and are being told
  6. Always have a way out, make sure you can undo anything you do

There's a lot of nuance in each "law" so now that we got the TLDR version out of the way let's dive into the specifics. Note for the purposes of this post, each law has been given a title.

1. The "Technician" Mindset

Keep an open mind when approaching the problem and avoid falling back into the "End User" mindset

If you run around with your eyes closed expecting nothing to get in your way, you're bound to smack into a wall (or something) and fall down.  If you keep your eyes open and aware of your surroundings you can navigate the obstacles and overcome them.

End users typically expect systems to work seamlessly and view issues as problems needing external help. Technicians, on the other hand, approach systems with the expectation that things might not work and are prepared to "figure it out" each time.

Key Points:

  • Expect Issues: Approach every situation with the mindset that things might not work as expected. This keeps it fresh in your mind and allows you to figure out what should or should not be happening each time, and usually during that process you'll identify the disconnect that's causing the issue.
  • Problem-Solving Approach: View issues as challenges to be solved rather than insurmountable problems. This proactive mindset helps in finding creative solutions.
  • Context Matters: The difference in mindset is less about the person and more about the context! Everyone (for the most part) handles their own problems for their personal lives daily. The moment it becomes a work or tech issue suddenly its hands-off. Be aware of the context you're in, this affects Clients escalating to IT and IT escalating to a higher tier! Don't fall into the trap.

Example: When dealing with a software bug, an end user might see it as "broken" and wait for a fix. A technician, however, will explore various angles—checking logs, considering recent changes, and testing different scenarios to identify the root cause, or find a viable workaround

2. Read the Entire Screen

Read and explore everything on the screen! Pay attention to what's being done and what its telling you

Computers and software are designed to be used, (it's actually the only way they make money!). Therefore, the information needed to operate or troubleshoot them is generally available on the screen or in logs, (although the language can be context-specific for the industry). To effectively identify and solve issues, it's crucial to explore the interface and ask questions. Thoroughly reading on-screen messages and prompts can provide insights into what might be wrong and how to address it.

When encountering an error message or unexpected behavior, don’t rush to conclusions, AND DO NOT SKIP IT! 

Instead, read all the details provided. Error codes, system messages, and even seemingly minor details can offer significant clues. For instance, a message that seems obscure at first glance might make sense when considered within the context of the application or system you're working on. Even comparing against a computer that is working, looking for differences in behavior, or order of operations, screen activity, and so on, can provide clues (for example an error that takes a while to appear is likely caused by a timeout, vs an error that appears immediately is likely caused by an immediate rejection).

Example: If a user reports an issue with a software application crashing, instead of just noting "application crashes," you should read any error messages, logs, or system prompts that appear when the crash occurs. These details can guide you towards understanding the root cause and potential fixes.

3. Understand the Problem

Understand the problem at least as well as the person asking you for help

To effectively troubleshoot, ensure you can recreate the problem and understand its significance. Start by asking the person reporting the issue why it's a problem and why it's important to solve it. Gather as much information as possible to understand all sides of the issue. You should be able to understand the problem at least as well as the person reporting it to you, otherwise how do you expect to fix it? Or even explain it to the next escalation point if you have to reach out for help?

Here are some ways you can work to understand the problem.

  • Recreate the Problem: Attempt to replicate the issue in your environment. This step is the best option because it allows you to see the problem firsthand and understand its nuances, at the same time as testing to see if its a problem with their computer only or a wider issue. You can also choose to recreate the problem on a different system, if it requires specific applications or files you don't have on your computer directly.
  • Understand the Impact: Determine why the issue is significant. Is it causing data loss, preventing critical operations, or just a minor inconvenience? Understanding the impact helps prioritize the issue and communicate its importance to others.
  • Gather Detailed Information: Ask the user detailed questions about the problem. When did it start? What were they doing when it occurred? Has anything changed recently (e.g., new software, updates, hardware changes)? What's normally supposed to happen?
  • Prepare for Escalation: If you cannot resolve the issue, you might need to escalate it to a vendor or higher-level support. Having detailed information and a clear understanding of the problem will make this process smoother and more effective.

Example: If a user cannot access a shared network drive, ask them about any recent changes to their system, any specific error messages they receive, and how critical this access is to their work. Look at what the shared drive is mapped to, and if other people have access to it that are working. Identify the network the user who is complaining about is on and if it has connectivity to the shared drive host. This comprehensive understanding allows you to troubleshoot more effectively and escalate if needed.

4. Be Intentional

Be intentional in your troubleshooting, closing your eyes and throwing darts at the wall is not helpful

Being intentional in your actions means making deliberate, thoughtful decisions rather than taking random stabs at fixing an issue. This approach prevents exacerbating the problem and leads to more efficient troubleshooting. Most technicians below Tier 3 will perform troubleshooting by way of "trying different thing to see what works", this is essentially closing your eyes and trying to pin the tail on the donkey, make sure you understand what is going on, and the logical reason why what you're attempting will affect (either negatively or positively) the current outcome so that you can make progress with every step.

Expand on This:

  • Map out the "Attack" Chain: Before diving into fixing an issue, outline the Chain that exists to allow the system you're troubleshooting to work during normal behavior. What are the potential areas for disconnect? What steps will you take to test that the chain is working throughout?
  • Progress is Progress (both good and bad): Any change in outcome is desired, as it'll help provide information about the underlying behavior that we don't have visibility into. Look for error messages, success messages, timers, lags and so on. No detail is too small.
  • Evaluate and Adjust: After each step, evaluate whether it has brought you closer to resolving the issue. Adjust your approach based on these evaluations.

Example: If a printer isn’t working, don’t randomly try different fixes like restarting the printer, reinstalling drivers, or changing settings. Instead, follow a logical sequence—check for error messages to help point you towards a connection issue or a driver issue.

5. Question Assumptions

Question everything you think you know and are being told.

Always be prepared to reassess what you know. Technology and systems evolve, and what was true yesterday might not hold today. Keeping an open mind and questioning assumptions can lead to discovering the true cause of an issue.

Expand on This:

  • Expect to be wrong all the time: When you're right about something there's no reason to go back and check because you know you're right. If you're wrong about something then you'll be looking to validate that you are wrong, or what the right answer is. This mindset helps keep your knowledge fresh and reminds you to double check everything you think you know or are being told.
  • Seek Out Information: Be proactive in seeking out new information and learning from others. Forums, user groups, and official documentation can offer insights you might not have considered. Often times all it takes to help find the answer is asking the question, not to the person next to you, but even to yourself! Use the Rubber Duck method if you need to.

Example: If a network issue arises, don’t assume it’s due to the same cause as last time. Reevaluate the situation - start the troubleshooting process from scratch everytime until you've identified the root cause to the be the same as last time.

6. Never Do Something You Can't Undo

Always have a way out, make sure you can undo anything you do

Always have a contingency plan before making changes. Ensure that any action you take can be reversed if it doesn’t resolve the issue or causes new problems.

Expand on This:

  • Backup First: Before making destructive changes, find a way to keep a good copy of what you're changing. This ensures that you can revert back if needed.
  • Test Changes: Where possible, test changes in a controlled environment before applying them to the live system.
  • Document Reversible Steps: Ensure that every action you take can be undone. Document the steps if necessary so you can revert configurations and settings.

Example: Before modifying a system registry, backup the registry or export the key in question. Rename something instead of deleting it, or cut/paste it somewhere else. This way, if the change has unintended consequences, you can easily revert to the previous state.

----

Edit 2024/11/13 | This article has been presented and recorded at The IT Nation Connect 2024 in Orlando, Florida! You can watch it here: https://youtu.be/ZJqhT48pnLU

Share this post
Mendy Green

I'm passionate about IT, driven by a dual love for solving complex problems and a commitment to transforming the stereotype of technical support into a positive and enjoyable user experience. For over 13 years, I've been deeply involved in the MSPGeek community, lending my expertise to various Managed Service Providers (MSPs), while also serving as the CTO at IntelliComp Technologies.

My journey in the tech world is fueled by a passion for teaching others. I find great satisfaction in imparting problem-solving and critical thinking skills, and offering practical guidance during the troubleshooting process. It's this enthusiasm for mentorship and improvement that led me to my current venture.

Today, as the founder of Rising Tide, I'm focusing on the MSP industry, dedicating my time to coaching and assisting both individuals and businesses. At Rising Tide, we're not just about providing solutions; we're about nurturing growth, fostering innovation, and building a community where everyone can rise together. Whether it's through hands-on problem solving or strategic planning, my goal is to make the IT experience not just efficient, but also empowering and enjoyable

See some more of our most recent posts...
February 5, 2026
8 min read

By the [run]Book: Episode 14

In Episode 14 of By the [run]Book, Mendy and Robbie wrap up v2.206 and break down v2.208, covering key workflow, billing, automation, and portal enhancements. From smarter qualification matching to better project–contract alignment and deeper portal customization, this episode helps MSPs tighten operations and improve control inside HaloPSA.
Read post

In Episode 14 of By the [run]Book, Mendy and Robbie wrap up v2.206 and dive into v2.208. Join us while they unpack a dense set of workflow, billing, automation, and self-service portal enhancements. Highlights include conditional workflow steps, improved qualification matching, project–contract alignment, and powerful new portal customization options. This episode is ideal for MSPs who want tighter operational control, cleaner billing, and more flexible automation inside HaloPSA.

The following features stand out as a few of the impactful changes:

On-call Notification Enhancements #422926

Halo introduced various enhancements to notifications to better support on-call workflows, and Mendy called out that this release note quietly included a massive underlying change. The key takeaway was that important platform-impacting updates can be buried in “notification” notes, so MSPs running on-call should review notification behavior closely after updating.

Assign Contract to Projects & Tasks Created from Sales Orders #1027598

Projects and tasks created from sales orders can now automatically inherit the contract created from that sales order, tightening the link between quoting, delivery, and billing. The hosts emphasized this as a practical fix for MSPs who see project time accidentally hitting the wrong agreement (and wrecking profitability reporting), especially when doing fixed-fee or prepaid project work.

Workflow Automations Using Client/Site/User Custom Fields #1022399

Workflow automations can now use client, site, or user custom fields directly as criteria, reducing the need for workaround runbooks that copy those values onto tickets. The hosts positioned this as a meaningful automation upgrade because it makes routing and logic cleaner, easier to maintain, and more scalable for MSPs with account-specific processes.

Watch Now: By the [run]Book: Episode 14
For easier tracking, check out haloreleases.remmy.dev to filter and search HaloPSA updates by ID, version, and keyword.

Full Feature List:


Added the ability to add Azure/Entra distribution groups as followers | v2.206 #770320 | 1:52

  • Allows Entra distribution groups to be added as followers on tickets
  • Reduces manual follower management as staff change
  • Useful for shared service desks or group-based visibility

Added an option in AI settings to generate an AI summary of the article based on the title, description and resolution Added an option in AI settings to use the AI-generated summary of an article to identify and flag potential duplicate articles before submission | v2.206 #767579 | 2:58

  • Automatically generates AI summaries for KB articles
  • Uses AI summaries to detect potential duplicate articles
  • Improves knowledge base quality and search accuracy

When tickets have a Teams chat open, if the ticket is closed, a closure message will be sent to all chats | v2.206 #635732 | 3:29

  • Sends an automated closure message into active Teams chats
  • Helps cleanly close collaboration threads
  • Reduces post-resolution confusion

Various enhancements to notifications to support on-call notifications | v2.206 #422926 | 4:02

  • Improves reliability of on-call notification handling
  • Important for MSPs running scheduled on-call rotations
  • Includes underlying workflow/notification behavior improvements

A setting has been added to Sales Order Configuration so that a specific Status can be set once all Items on the Sales Order are consigned | v2.208 #1034330 | 10:24

  • Automatically updates Sales Order status after consignment
  • Reduces manual order lifecycle management
  • Keeps order views accurate

The setting "Tickets with the default Organisation/Site must be moved before working on the Ticket" can now be overridden at Ticket Type level | v2.208 #1033540 | 12:51

  • Allows specific ticket types to bypass the default org/site restriction
  • Useful during intake and triage workflows
  • Prevents inconsistent admin vs engineer experience

"Do not disturb" mode for Halo notifications | v2.208 #1028655 | 16:04

  • Enables agents to temporarily suppress notifications
  • Requires global setting to allow toggle
  • Useful for focused work sessions

A setting "When creating Projects and Tasks assign the Contract created from the Sales Order" has been added to Configuration > Sales Orders > Processing Sales Order Lines that allocates Projects and Tasks created from Sales Orders to the Contract created from the Sales Order | v2.208 #1027598 | 17:27

  • Ensures project time is tied to the correct contract
  • Prevents agreement profitability distortion
  • Reduces manual reassignment after project creation

An Item property had been added to the Milestone so that the Invoice Item can be edited/set after creation of the Milestone. This Item will be used when creating an Invoice directly for the Milestone only | v2.208 #1027578 | 20:33

  • Allows invoice item changes after milestone creation
  • Improves billing flexibility
  • Applies when invoicing milestones directly

Added Canned Text Shortcuts for Chat | v2.208 #1024945 | 23:07

  • Adds keyboard shortcuts for canned text in chat
  • Speeds up repetitive internal communication
  • Configured at the canned text level

Additional data has been added to the Invoice Line object to store the Origin Sales Order Line that the associated Recurring Invoice was created from and to store the Occurrence Count for Recurring Invoices | v2.208 #1024614 | 28:23

  • Improves recurring invoice traceability
  • Tracks original Sales Order line
  • Stores occurrence count for reporting

Report display improvement when using customised table html | v2.208 #1024326 | 28:55

  • Improves horizontal scroll behavior
  • Reduces layout cutoff issues
  • Enhances report usability

Added Managed Identity via Azure Arc as an authentication option to the Microsoft Entra integration and Office 365 mailboxes | v2.208 #1024317 | 29:36

  • Provides a more secure authentication option
  • Reduces credential storage risk
  • Supports Azure-first environments

It is now possible to set a Tax Exemption reason for a Halo Customer on creation that will be pushed to Quickbooks when the Customer is not taxable | v2.208 #1024297 | 29:44

  • Syncs tax exemption reason to QuickBooks
  • Improves finance consistency
  • Reduces manual adjustments

A setting has been added to allow recurring invoice lines to be hidden by default when viewing the recurring invoice | v2.208 #1024067 | 29:57

  • Keeps recurring invoice views cleaner
  • Allows hidden lines to be revealed when required
  • Reduces confusion from legacy lines

Multiple changes to available $ variables | v2.208 #1023687 | 32:18

  • Expands formatting flexibility
  • Adds additional address/currency options
  • Reduces need for template workarounds

Added the setting 'Automatically create Change Advise Boards from Teams' to Approval Process settings | v2.208 #1023311 | 32:55

  • Syncs CAB boards with Teams membership
  • Reduces manual approval admin
  • Supports structured change management

A setting has been added to the QuickBooks Integrations setup so that a Closed Date can be entered. | v2.208 #1022558 | 33:16

  • Helps protect closed accounting periods
  • Prevents retroactive invoice sync edits

You can now use Client, Site or User Custom Fields for criteria on Workflow Automations | v2.208 #1022399 | 33:41

  • Enables cleaner automation logic
  • Removes need to copy custom field data onto tickets
  • Improves routing flexibility

The variable $ SERVICEID can be used in database lookups to obtain the ID of the Service linked to the Ticket | v2.208 #1021534 | 34:21

  • Enables service-aware database lookups
  • Improves reporting and automation precision

Custom Statistics Tables added | v2.208 #1019726 | 34:32

  • Allows scheduled SQL results to be stored over time
  • Enables trending metrics within Halo
  • Useful for backlog and performance tracking

Decimals are now allowed within the field "Tickets Opened/Closed within the last X days" in AI suggestions | v2.208 #1018082 | 37:42

  • Allows finer tuning of AI suggestion windows
  • Improves duplicate detection precision

Added a new Knowledge Base setting that allows you to hide FAQ tiles that have no results matching the current search in the Portal | v2.208 #1012783 | 37:50

  • Removes empty FAQ tiles during searches
  • Improves portal UX

Added a manufacturer field to the suppliers tab of assets | v2.208 #1009501 | 37:57

  • Improves asset detail and reporting
  • Enhances supplier tracking

Improvements to Qualification matching | v2.208 #1008143 | 38:01

  • Improves load balancing logic
  • Reduces tickets sticking with unqualified agents

Various improvements to the self-service portal | v2.208 #1007918 | 40:49

  • Navigation improvements
  • Quick access to My Tickets / My Approvals / My Assets
  • Cleaner layout

You can now use Client, Site, User and Organisation level $ variables in the Self Service Portal custom HTML Headers and Footer | v2.208 #1007759 | 43:43

  • Enables dynamic, client-specific portal content
  • Useful for escalation paths and account manager info

Enhancement to Client-Ticket Type restrictions | v2.208 #1006158 | 47:49

  • Updates restriction handling behavior
  • Important to review before enabling if already configured

Added a Chat Audit Area Added a new Chat Transcript style | v2.208 #1004851 | 48:34

  • Improves audit visibility
  • Enhances transcript formatting

You can now set feedback and survey links to be single use | v2.208 #1002898 | 48:41

  • Reduces automated survey submissions
  • Improves feedback accuracy

Added an Advanced Setting to alter the Tree menu width | v2.208 #999276 | 51:57

  • Improves navigation readability
  • Useful for long names

You can now make your custom hompage HTML in the End-User portal appear as a sticky banner across all portal pages | v2.208 #996323 | 52:48

  • Ideal for outage banners and announcements
  • Keeps messaging visible across pages

Added option to exclude non-invoiceable time from budget calculations | v2.208 #994004 | 56:01

  • Improves project budget accuracy
  • Separates invoiceable vs non-invoiceable effort

February 2, 2026
8 min read

Rising Tide Book Club: Think Naked - Week 2

In Chapter 2 of Think Naked, Marco Marsan argues that adults don’t lose creativity: they’re conditioned out of it. This Rising Tide book club discussion explores fear, conformity, unexamined rules, and why real learning requires play, safety, and curiosity in modern organizations.
Read post

About this Series

This discussion guide is part of Rising Tide’s Winter 2026 book club, where we’re reading Think Naked by Marco Marsan.

If you’re just joining us, here are a few pages you’ll likely benefit from:

Chapter Summary

“If you want to be more creative, stay in part a child, with the creativity and invention that characterizes children before they are deformed by adult society” - Jean Piaget

In Chapter 2, You Lost Your Marbles, Marco Marsan explores how people don’t simply “grow out” of creativity — they are systematically conditioned out of it. The chapter argues that over time, fear, rigid rules, institutional norms, and social conformity slowly strip away curiosity, playfulness, and experimentation.

Marsan frames this loss through several forces:

  • Fear: mistakes become costly as adults (financially, socially, professionally)
  • Senseless rules: norms persist long after their original context or usefulness
  • Institutionalized regurgitation: being rewarded for having the “right answer” rather than learning how to think
  • Tough-it-out culture: endurance replaces reflection
  • Numbness: accumulated stress and responsibility dull engagement

The chapter opens with a consulting story where a leader dismisses Marsan outright, using it as a framing device to explore how organizations often reject discomfort, challenge, and unconventional thinking — even when they claim to want innovation.

Discussion Questions

Use these open-ended prompts to guide reflection and conversation. Remember, there are no right answers!

  • What does “losing your marbles” mean to you — and what might you have lost that still matters?
    • 'Lose Your Marbles' Saying - Meaning & Context
    • Rather than meaning “you’ve gone crazy,” the group explored the older meaning: marbles as something valuable children possessed — and something adults may have lost, not gained, over time.
  • Where have fear or consequences made curiosity feel unsafe? How do power and authority shape how you show up creatively?
  • How often do you ask why a rule exists, rather than whether you’re allowed to challenge it?
  • Where have institutions (school, work, industry norms) rewarded compliance over thinking?
  • What would play look like in your work if you weren’t worried about being wrong?

Rising Tide Input for your Consideration

About Rising Tide and our Book Club

Rising Tide helps MSPs and service-focused teams build better systems: the kind that align people with purpose.

Every Friday at 9:30 AM ET, we host Rising Tide Fridays as an open conversation for MSP owners, consultants, and service professionals who want to grow both professionally, technically, and emotionally. In Winter/Spring 2026, we’re walking through Think Naked.

If that sounds like your kind of crowd, reach out to partners@risingtidegroup.net for the Teams link. Bring your coffee and curiosity…no prep required.

January 26, 2026
8 min read

Rising Tide Book Club: Think Naked - Week 1

In Rising Tide’s Winter 2026 Book Club, we explore Think Naked by Marco Marsan and challenge the idea that creativity fades with age. Instead, we examine how risk, labels, and permission shape curiosity — and what it looks like to think more like a kid in modern technical work.
Read post

About this Series

This discussion guide is part of Rising Tide’s Winter 2026 book club, where we’re reading Think Naked by Marco Marsan.

If you’re just joining us, here are a few pages you’ll likely benefit from:

Chapter Summary

In the introduction and first chapter, Marco Marsan proposes to the readers that creativity is not lost as we age — it is trained out of us. He cites research suggesting that young children test at very high “genius” or creative problem-solving levels, and that this capacity sharply declines by adulthood.

To return to this childlike, “genius” mindset, Marsan introduces five “rules” that mirror how children naturally engage with problems:

  1. Wear your cape (be fearless)
  2. Blockbuster (question defaults and conventions)
  3. Look at Your Neighbor’s Paper (learn by copying and remixing)
  4. Show-N-Tell (learn publicly and collaboratively)
  5. I’m the boss of me (take ownership and agency)

Discussion Questions

Use these open-ended prompts to guide reflection and conversation. Remember, there are no right answers!

  • What did you agree with in these chapters?
  • What did you disagree with in these chapters?
  • Do you agree that creativity declines because of conditioning rather than capability? Why or why not?
  • Who or what defines a genius?
  • Do any of the five lessons intrigue you more than the others? Which of the five principles feels most uncomfortable to you right now?
  • Where do you avoid experimentation because the cost of being wrong feels too high?
  • Where in your work do you default to “this is how it’s always been done”?
  • What would “thinking more like a kid” actually look like in one small, real decision this week?

Rising Tide Input for your Consideration

  • What causes us to lose our creativity?
    • The team proposed that people don’t lose creativity as they age, but rather they close off the permission rather than the capability because creativity becomes risky. As adults, mistakes have consequences: reputational, financial, professional. Most environments reward predictability over curiosity, so people adapt accordingly.
  • Are children actually ‘geniuses’?
    • Evidence that children become less creative over time (and how to fix it) - Idea to Value
    • As a team, we felt that the label “genius,” isn’t particularly useful. It’s poorly defined, and even more poorly measured. What matters is not intelligence labels, but how people approach problems: curiosity, iteration, and willingness to engage with uncertainty.
      • In fact, as a team we consistently seem to pushback on: Labels (“genius,” “best practice,” or “industry standard”), Claims without sources, and Metrics without definitions.
    • Children also don’t ask if they’re allowed to participate, they assume they are. Adults often operate transactionally, constantly checking for permission. That hesitation suppresses experimentation and ownership.
  • How does technology factor into creativity loss?
    • Convenience is a trade. Offloading is good if the saved energy is reinvested into higher-order problem-solving. As a result, technology can either dull skills or enable deeper thinking depending on how we use it as a tool.
    • Automation is welcomed after understanding exists. Technology should support people who know why, not replace them.

About Rising Tide and our Book Club

Rising Tide helps MSPs and service-focused teams build better systems: the kind that align people with purpose.

Every Friday at 9:30 AM ET, we host Rising Tide Fridays as an open conversation for MSP owners, consultants, and service professionals who want to grow both professionally, technically, and emotionally. In Winter/Spring 2026, we’re walking through Think Naked.

If that sounds like your kind of crowd, reach out to partners@risingtidegroup.net for the Teams link. Bring your coffee and curiosity…no prep required.