Sorting Object Keys


Chat GPT Can (and maybe should) Change the Way You Code


Dynamic SELECT and UPDATE statements with MuleSoft DataWeave


Working Smarter in RAML


Do You Want More Effective Training?

Do you need to create effective training for your customers, employees, others?

Have you found that students, after attending training, still struggle to perform?

If so, we have a solution for making your training more effective. Read On!

Many entities create very useful, and even cool products, focused on solving problems for their customers. Then they create training all about the product features, not about how to solve problems with their products. They create courses that iterate over their products features and how to use them, but never why to use them. Students walk away overwhelmed with a set of facts, but no context for when or why.

Excellent courses, like excellent products, focus on how to solve customers’ problems using one or more products / features. That is, the courses, in the famous words of Simon Sinek, start with a why.  If you want to make effective training, help customer, employees, others really learn well, start with a why, a motivation, what’s in it for them

Starting with a why in courses means starting with a why in instructional design:

  1. Start designing your courses with a list of skills students must master to perform in their jobs, to make their jobs / lives easier.
  2. Start content with questions asking if they have the problem that mastering the skill solves, for example:

Do you need to learn to program a lathe to get a better-paying job?

Do you need to create more interactive training to increase the effectiveness of your company’s training, making you more valuable to the team?

  • For each topic, list what students must already know in order to learn the skill(s) covered by topic. This list is your course’s prerequisites.
  • Focus your courses to  only cover the gap between the prerequisites and what they need to master (what you are attempting to teach them).

Frame every topic as something the learner must be able to do, for example:

  • Perform a procedure in order and correctly, for example creating a “hello world” program or a spreadsheet that sums numbers.
  • Recite facts, for example that an IPV4 address has 4 octets in the range of 0-255.
  • Identify correct and wrong instances of concepts, for example, identifying that is a valid IPV4 address and 300.0.0.0 is an invalid IPV4 address

For each topic, create tests that will identify whether the student has mastered the skill. From the above examples:

  • Test whether the student can perform the steps in the procedure in the right order and successfully.
  • Test whether a student can recite the properties of an IPV4 address, can recognize a valid and invalid IPV4 address

Write the tests before you write the content!  In software development this is known as Test-Driven Development (TDD). This approach is not new. For example NASA wrote the specifications for spacecraft components, and developed tests to evaluate compliance with the specifications, long before they received those components from their contractors.  It works as well for courses (also known as courseware) as it does for software and spacecraft parts.

Only after doing the above design, with need-to-master topics, are you ready to start developing content. Write the content to the test, filling the gap between prerequisites and the skill to be mastered.

Finally, test your course:

  1. Identify students that meet the prerequisite, but do not have the desired skills, and that you deem capable of mastering the skills (some people just can’t master certain skills no matter how good the training)
  2. Measure their mastery of the skills BEFORE they take the class so you have a before evaluation.
  3. Identify a target pass rate. Do you want 100% of your students to pass, 90%, etc.
  4. Have them take the course in a beta class.
  5. Evaluate the student’s mastery by having them take the tests you created. This is their current evaluation. Also evaluate their progress by comparing their before evaluation with their current evaluation.
  6. Evaluate the test results.
    1. For students that fail, try to determine why they failed?  Are there key facts or steps missing from the content?  Was the content unclear in some way?
    1. For students that pass, determine if there was some part that was harder to master than others.
    1. For any deficiencies in the content, revise the content and test again, until you meet your target pass rate.

If you follow these steps, and you were not before, your courses will be more effective. Your students, employees, others will learn more and retain the learning longer, because it impacts their lives.

About the author: Matthew Thurmaier is founder and principal of The Computer Classroom, Inc. with over 30 years of experience designing, developing, and delivering courses, and consulting in software development from device drivers to API and REST API design and development and everywhere in between, a full-stack software developer.  He is also the founder and president of The Big Thing for Humanity, Inc., a 501(c)(3), and volunteer board member at the local Habitat for Humanity affliliate


TCCI planning for onsite training return

There is hope in the air as we hear news of COVID-19 vaccines. We are hoping for a return to meeting our families and friends face-to-face again, and for most a return to at least some trips to the office to meet with colleagues – our second families. Millions are also looking forward to their children heading back to brick-and-mortar classrooms.

Similarly, training customers who prefer face-to-face training but have had to take virtual classes are looking forward resumption of face-to-face instructor-led training. But, what’s the plan? If you are an organization looking for training, what are your requirements for having an instructor show up on-site? If you are a training delivery organization, what requirements will you make of your customers before you are willing to send a valuable trainer to deliver face-to-face on-site training?

I addressed these questions with one of TCCI’s training customers, one for which we have delivered on-site training in the past. I am by no means a medical expert. But, I am a business person who values the health of myself, my employees and sub-contractors, and my customers and their customers. Just because a vaccine exists, doesn’t mean its automatically “safe to go back in the waters.” So what is your plan? Below is a list of TCCI’s policy for resuming on-site training. I present them here as a suggested starting point. If you find the list useful, great. If you have suggestions for additional requirements, feel free to leave them as a comment.

The policy:

This policy intends to help protect the health of individuals involved in a face-to-face on-site delivery of classes performed by instructors of The Computer Classroom, Inc. (TCCI), including instructor(s), students, or other staff (catering, cleaning, etc.) that participate in or support delivery of the class as the world recovers from the COVID-19 pandemic and starts more face-to-face contacts.

The underpinning principal is that all lives are precious and valued, and that a healthy life is more productive and satisfying to everyone. As such, while we know that we cannot eliminate all risk, TCCI does its best to mitigate risks to the health of our staff, contractors, and customers.

To that end, TCCI stopped delivering on-site training during the COVID-19 pandemic. As a COVID-19 vaccine is now in use, this policy details under what conditions TCCI will resume offering its customers on-site, face-to-face training delivery. TCCI requires that the following conditions be met in addition to any other contractual obligations for an on-site, face-to-face delivery:

  1. The instructor(s) and each student must have taken an approved vaccine within a period designated by applicable government authorities as the effective period of said vaccine.
  2. The instructor(s) tests negative for COVID-19 72 or less hours before travel is to begin. Booking reservations will not happen until this item is met.
  3. The students each test negative for COVID-19 72 hours before the start of the first day of class
  4. Each day of class, either on entry into the building or into the classroom, the instructor and each student have their body temperature taken and that it be within .3 degree Fahrenheit of that person’s normal body temperature, not to exceed 98.9.
  5. There is a mitigation plan for students that fail the initial or daily COVID-19 and temperature tests.
  6. There is a contact tracing plan in place should it become necessary during or after the class. This plan must include anyone (students, trainer, support staff, etc.) with whom students or instructors come into contact 10 days before, during, and 10 days after the class.

The mitigation plans must include the following items:

  1. If a student fails any test, the ability for the student to attend virtually and have the instructor deliver a blended-mode class, or reschedule their attendance at a later date should they become unable to participate in all or part of the intended face-to-face delivery.
  2. If the instructor fails the Covid test, we don’t book the tickets for THAT instructor and offer these possible mitigations:
    1. Re-staff – we can run the course with a different staff member, if one is available
    1. Re-schedule as soon as possible after the instructor tests negative and / or is finished quarantining. TCCI will pay any difference in airfare or cancelation fees. The client will reimburse the initial reservation amounts payed by TCCI as though the class had taken place.
    1. Deliver the class virtually at the price for the virtual class, with any appropriate change in fees.

Failure to follow this policy may result in the customer paying the full price of the class and the instructor being withdrawn immediately for their safety. Comments / suggestions welcome.


Ten reasons to outsource technical training

Technical training can present special challenges to companies which develop and market highly complex computer-based products and services.  Whether it’s for internal or external users, the cost and time of developing and delivering quality technical training can actually slow your business development.  While it’s tempting to keep every business function in-house, we’ve seen plenty of examples of companies that learned the hard way to go outside. 

Even if you already have an in-house training department, when’s the last time you did an ROI analysis of your investment?  Probably never.  Internal departments tend to take on a life of their own and grow like viruses, and provide huge challenges in even finding and keeping the right resources.

Here are some of the reasons that companies we’ve done work for have chosen to outsource some or all of their technical training

  1. Reduced Costs

Hiring a full-time staff in-house for training can be extremely expensive.  This can include the costs of purchasing and upgrading technology, and the time, money, and resources for recruiting talent.  And the fully loaded cost of the developers, deliverers, and department support infrastructure.  With outsourcing, you’re paying for deliverables only; no overhead.

2. Greater Access to Talent

As technology changes, you may struggle to keep your training staff current.  Can your internal resources react quickly enough to match product development?  Can you hire fast enough?  Outsourcing gives you flexibility and access to new blood.  Outsourcers have access to the talent necessary to deliver training without compromise. And with outsourcing, your talent pool isn’t limited by geography.

3. High-Quality Content

While training may be a small part of your business, professional training companies spend all of their efforts on training and development. They are experts in the area and have a passion for providing successful training solutions. By outsourcing your training, you can access all of the resources of your training partner, ensuring quality Subject Matter Experts (SMEs) with industry experience.

4. Your Organizations Can Stay Focused

By outsourcing technical training, your organization will be able to focus on other key areas of running the business. Organizations then have the opportunity to focus on growing their business in other areas while still ensuring that your training will align with all other goals.

5. Leverage Available Technology

It is more cost-effective to license a Learning Management System (LMS) than designing and building it with your own team.  An experienced training partner can provide turn-key solutions that include access to LMS, best-in-class content development tools, virtual classrooms, and more.

6. Generate Revenue

You may own valuable intellectual property that experienced partners can sell and deliver, to gain access to a larger audience, to generate additional revenue for you.

7. Mitigate Risk

Quality and timely training helps prevent product failures and protects you from liabilities if the training is weak or late.  Partnering with a company who specializes in training could help prevent unnecessary risk and failure costs.

8. Improve Scalability of Resources

A full-time internal staff is a fixed resource, but training development and especially delivery are variable activities. Using an outsourcer allows you to flex the number of resources to deliver the training you need—when you need them. It allows you to scale up and down based on the demand of training

9. Speed Time to Market

Bringing a new product to market may be dependent on getting channel partners trained on how to sell or service your product. Using an outsourcer may allow you to get your product into a lot of customers’ hands much faster, without the challenge of scaling up internal resources.

10. Gain an Outsider’s Perspective

You may fall into bad habits when it comes to training. Routines become so established that it becomes difficult to change when new systems or initiatives are introduced. Bringing in an outside team is a way to overcome resistance to change in training programs and to ensure the behavior changes that are necessary to long-term success.


The number one reason why companies outsource training is to save money. Partnering with a professional training company like TCCI means that your company can stay nimble as projects fluctuate. You never pay for training developers or deliverers when you don’t need them. You get the most competitive rates on talent with the best matches of skills needed for each project.  We’re a proven resource, with years of success with companies both large and small.


The face of change

We watch how you learn and we listen when you tell us how you work. Both learning and working have changed dramatically since 2001 and it takes a lot more to keep with the pace of change in both areas.

As a worker, you’re on the move more often. You read and do your work more often on mobile devices. You work at all hours of the day with colleagues and partners scattered around the world. And when you want to learn new skills, you turn to YouTube and online tutorials much more often than you stop everything to enroll in traditional classes.

We’ve seen these changes and that’s why we created the TCCI Academy.

The learning you do will come from a combination of short demonstration and concept videos, exercises and reading assignments you’ll do, and discussions you’ll have with our faculty and with your fellow learners.

You’re finished with the days of sitting quietly in an orderly row of chairs while an “expert” fills the room with hot air. For you, learning is an active pursuit, and one that you demand in “right-sized” units. We hear you and that’s what we’re up to at TCCI!


How do you replace a training department?

You’ve lost your training dept, or significant training resources.  It can happen; it happened to me. It wasn’t fun but we recovered and so can you.

I was the head of product mgmt at a systems software developer.  Due to business circumstances, we cut nearly our entire curriculum development team, and our company’s delivery resources.  But with continuing product development and new products on the roadmap, we NEEDED new content. Our channel partners and end users expected continued world-class training.  But the problem was, no internal resources.

So, we approached a few of our existing training delivery partners to find those who could ramp up delivery, and more importantly, who could develop new curriculum.  A couple of them came through; and one of them, The Computer Classroom Inc. (TCCI), did the hardest new courses. Our new product launches were accompanied by world class training.  TCCI’s secret? Really smart education professionals whose DNA revolves around technology. In my experience, it’s a tough combination to find.

Today, years later, I’m privileged to serve as TCCI’s head of marketing.  If you need to replace some lost training resources, call us.