2022 in review and goals for 2023 : Work edition

This year has been my most professionally challenging year for at least the last decade and all in a good way.

Prior to this year, I fixed complex IT problems. I did project management to make things work when there was no good project manager allocated, I did business liaison as a specialist, again just to facilitate the work I was delivering, but this last year its all been very different.

This year each of the 3 core areas of work has been a deliverable in its own right and my competency held to a high standard.

Management: People management on a much larger multi region team with different levels and types of people with different challenges, multiple projects all going on at the same time and not projects in the contract way, where you keep them all separate, projects that merged together, projects dependent on each other. There was an awful lot of plates spinning, In this, delegation has been my biggest challenge the scale of deliverables required has truly meant I have had to “Work Smarter not Harder” 1.

Technical: The normal technical growth continues and technology keeps on changing at its insane pace, so it was all in all absolutely fabulous, a real challenge but one that has been my bread and butter for 2 decades so its just a case of fitting it in with the other learning needs.

Business: The main project I am working on weaves multiple areas of business together and to my knowledge has not been done like this before, so a lot of truly complex business challenges come up suddenly 2, thus I’m expanding my knowledge on a daily basis, indeed I put aside 7 hours a week on training to accelerate this, this is making things that I only saw in the distance before, snap into sharp focus.

2023: My only fear for the upcoming year is it won’t be as challenging, because I’m enjoying it hugely 3. I am learning far more about the people side of project management, dealing with people who are quite frankly not wanting to come onto the same page as you, something that you don’t tend to have with clients when you’re a contractor. From the business side, I am going solidly for my CII certification and full SOX certification, so can reach a point where I can argue with authority with an actuary or with compliance lawyers. The constant technology push I’ve always loved. It’ll just keep going through. I spend my time learning, I spend my time digging through things and having fun. It’s a joy. It’s a non stress part of my job, but thankfully I still have lots to learn.

Bring it on!

  1. Mark makes a retching sounding sound at using such a phrase[]
  2. Even with the best planning done by competent BA’s[]
  3. My Wife says that its the least unhappy she has seen me in a while[]

Corporate Terms: “Vendor” vs. “Partner”

These 2 words are often used interchangeably in the corporate world, with everybody wanting to be a Partner never a Vendor, but they actually have quite a strict difference:

A Vendor

This is someone that’s selling you stuff and just sends you an invoice for it. it doesn’t matter what it is, it doesn’t matter if they give you a discount or freebee stuff, or how large the invoice is, If they send you an invoice and you pay and it’s a simple process like that, then they are a Vendor.

A Partner

Now, a Partner on the other hand is a Vendor that takes on some of the financial load or some of the financial risk for a given project or work. for example, if you are wanting to accelerate a project faster than your current budget would allow but are sure you will get the budget in the next years allocation. Then a vendor might say “look, we’ll give you five extra people for six months. and we won’t be invoicing that until next financial year” then they become a Partner, they have accepted a modicum of risk in the project or given you something that is more than just freebies. e.g. solid internal training that actually costs them something to provide.

That’s it. You don’t call yourself a partner until you’ve actually exposed yourself to some form of limited risk or given the client something that they cannot currently get.

Personal Opinion Addendum

How long does partner status last for? Traditionally corporations are like angels in that they have no memory, but in this case I tend to see this last to the first financial period that the Client company does not owe the Vendor company anything, e.g. if a Vendor forwards a Client a bunch of free consultancy or training at the beginning of a project, but then invoices for that consultancy in the next financial period, they have just used up their partner status, They will still be called a partner but it is unwise for them to assume they can use it until they again show they are willing to resume their investment in the project.

Disclaimer: As always these posts are not aimed at anyone client or employer and are just my personal observations over a lifetime of dealing with both management and frontline associates.

 

Corporate Terms: “Real time” vs. “Near time” for data sync

Definition(s):

Real Time

Real Time data synchronization is the continual process of keeping a record identical between two or more systems. the timing for this is measured in milliseconds or single digit seconds and is controlled by triggering actions, e.g. “every time you write to a table you run the sync”.

Near Real Time or “Near Time”

Near Time data synchronization is measured in seconds or in single digit minutes, and is a fast Batch synchronization controlled by a schedule, e.g. every 2 mins.

Explanation and Considerations.

When you are talking about the data synchronization between systems, and requirements come up in initial project conversations, ALL business users and indeed most senior management will say “Real time” straight away, its a phrase they know, it is a speed they see on their phones and in a lot of social media. But when it comes to enterprise or legacy data exchange, it is something that requires significant changes or investment to get right.

Let me explain further. Real time is when an action is performed on one system, and it instantly alerts another system that a change has been made. That system can then pull or receive the data changes. It happens in real time, hence the name. Now, if you think about that, that requires a load of effort. There are lots of ways of doing this. You can buy fancy software that will watch the other system like a hawk. You can have transactional logs, which save an entry to a file every time a changes made. And then the other system can watch for those log changes and make the update, etc etc, all while the servers are trying to do their real job of supporting the users doing business, so to make this work you will either require lots of time, lots of resource, lot of money, or sometimes all three.

The real question is, does your business unit require that level of data synchronisation? The only way to truly know is to go and actually do a workflow assessment, work out how exactly they’re going to work with the data, that will give you your answer. Hopefully it will also give you an answer for exactly how long it is that the data can be in one system before it actually has to be in the other.

This is where Near Time comes in. Near Time is basically fast scheduling. You’ve got a schedule that’s looking for changes every few minutes. If it finds any changes, it’ll synchronise them, then repeat. It doesn’t require anything like as much special tooling or resources and very very rarely requires your to reconfigure or expand your existing systems. Nearly all data exchange systems will have this kind of thing built in. And so will be far cheaper and more reliable, and often be far nearer to what your business really needs.

Corporate IT phrase: “Babysitting”

Definition:

To sit and watch an automatic or long process, so you are on hand to instantly fix or restart it, should there be an issue.

Explanation:

‘Babysitting’ has been a term that has been around for ages and ages, I remember doing it with backups, back when tape drives would fail randomly for no reason. With the growth of serious remote working, it has taken on a slightly double edged meaning, traditionally, if you were babysitting something that meant that you sat with it, what ever it was, praying for it to not fail and watching it like a hawk to make sure that it completed and if there was any issues you were there to fix them. It was vitally important when you simply couldn’t afford for an unattended process to go wrong.

In modern times, particularly with a lot of the remote working there is a new use of the term babysitting.. and that’s if you’re babysitting a process that shouldn’t really be ‘babysat’, so you can skip work. The most common one now is sitting and watching a job run on your laptop when it should be running on a server, such jobs need 100% of your laptops effort so you can’t do anything else, its this decades version of “its compiling” but smarter, as all the monitoring software that is jammed on remote workers machines show that they’re active users who’s computers are going flat out.

Ultimately when people are doing this kind of thing, its rare that they are actually deliberately slacking off, and more likely they are suffering from “being managed” and are just pushing back to try and give them self some breathing room or deal with an infrastructure issue, so investigate first before having a melt down.

 

Disclaimer: As always these posts are not aimed at anyone client or employer and are just my personal observations over a lifetime of dealing with both management and frontline associates.

 

Real life moving tech from On-premise to Cloud

For a lot of the major companies, the quick wins of moving to the cloud, which really translates to making it easy to vertically scale some existing servers is over.

We are now getting into the area of integrating serious existing systems with cloud services and having to match the expectations of cloud services to everything else that exists in the company.

One of the big things I’ve seen now multiple times is that we are trying to match the “everything is instant” “everything is real-time” expectations of consumer level products that are built totally in the cloud with existing on premise infrastructure and platforms. “What is the problem?” I hear you cry, just upgrade everything, but it doesn’t quite work like that. Now you have a cloud system that has an expectation of receiving data from internal systems, and indeed can pull data from said systems at real time, but the source systems just can’t take that load, everything from database servers, to internal network, to app servers are not designed for such a load. Not only are they not designed for this stress in general terms, but they have not had to work out the capacitance planning for it. A perfect example of this is transactional logging. When you enable transactional logging on source systems so that they can feed these monster cloud systems, that introduces an additional load across the board and these have not been planned for, not only are these not being catered to at an IT level , but they are often ultimately driven from other business areas and the normal slow business growth planning of humans.

The points to be learned from such problems are:

  1. Communication, communication, communication: With all of your existing people. You will find you will have communication issues, but this is not down to them not wanting to grow or change. This is simply down to the speed that the internal systems is set to grow is not aligning with the cloud systems expectation. You have to work with people from all areas. You have to get them involved from the minute you’re starting to do this. Try and give them a heads up on what you’re going to do. They often have to plan their budget and how much they spend on infrastructure change and people hiring a year in advance, suddenly turning on your AWS servers and cranking them up to 11 does not help them.
  2. Expectations: Most of your customers for your systems are now expecting consumer level speeds. All of your social media plans are nearly real time. Now, all of a sudden you are expecting that from human and IT Systems that are buried deep under a whole raft of procedures that you have not changed for decades. You cannot provide real time updates to such things with only changes to IT systems, you need to bring along the business systems that are supporting them. Explain this to your cloud system consumers so they can set their expectations along real human lines.
  3. Fear: A little bit dramatic, but its a real statement, people fear change, if you do not work with people on this they will fear these changes. To gain proper improvements from cloud systems you have to work with everybody, introduce them to the advantages and their place in such a changed world, help them grow as you are helping the IT systems grow.

The best analogy I can think of to explain all this is from the image that is headlining this post, from “Appleseed” a famous comic by Masamune Shirow which confronts a lot of the issues of change in the world. One of the doctors in the comic states “You can’t give someone a Cyborg Leg Just like THAT, It’d tear out when they try to run”. Think of your move to cloud in thoese terms.