Saturday 11 December 2021

On "World-Class People", what a load of bollocks!

(11-Dec-21 clearing out old drafts cache 2012-2016, articles I didn't get round to finishing) 


Lately I've been thinking about our tendency to compare ourselves, our work, skills & knowledge using the term "world-class" as the benchmark, the bar (at least for us in Africa, this comparison is pretty much comes up frequently in boardroom conversations).

I myself have used this term on a few occasions, heck, the goal for my current job was to transform the engineering team & products we build, from being "ordinary" to "world-class", to build a "world-class" engineering team. Three years later, I now see what a whole load of bullshit that really was!! And instead of being used as a powerful motivator for change, it "world-class" carries far more negative connotations that positive...incidentally, I had stopped using the term less than a year into the role, I don't use it with my team anymore, although I have to deal with non-technical executives as well as key stakeholders across the business, who regularly challenge: Do you have world-class engineers? Are they A players or B players? We need champions league players...and so on.

For people coming from the western world into Africa, you will indeed be in for a surprise. Even myself, a returning African after working for decade in Europe, was initially flabbagastered ...

Why & How I did enter consulting?

(11-Dec-21 clearing out old drafts cache 2012-2016, articles I didn't get round to finishing) 
Another one penned but not published. 
I did experiment with my own consultancy for 4.5 years, created Africa Systems and Software Services and subcontracted with TPI Africa Computer Services.... So I did take the leap and go out on my own 🤷🏽‍♂️

I provide specialist Software and Systems Engineering Management Consulting in the following areas:
The sector I offer immediate and expert use is in the Digital TV sector, covering Set-Top-Box software & hardware, Headend systems - for TV services such as EPG (Electronic Program Guide), VOD (Video-on-Demand) and other OTT (Over-the-Top Internet) services. I have a detailed track record of successful engagements in this sector.

These skills, experiences and best practices are easily transferrable to other sectors that touch on Software/Systems Engineering, including Telco, Healthcare & Banking systems.

Telling my story...why I think I'm a Digital TV Expert...

(11-Dec-21 clearing out old drafts cache 2012-2016, articles I didn't get round to finishing) 

this one I penned I 2013 but didn't publish...
So much has changed in 7 years!!

At a recent training session with a life coach, I shared my current challenge of me/my ideas not being taken too seriously and an apparent misconception in the organisation that I'm largely theoretical & academic in nature - that there's this innate resistance from people to consider new approaches. I had spent a decade overseas, gained some solid experience and knowledge (working with the best companies in the Digital TV Software field), and have come back to my home country, South Africa - where I'm interacting with most of the same people that I'd left behind over 10 years ago, having grown and matured and reached accolades that most people (in SA) will have only dreamt about...I left as an Engineer-in-Training, returned as a Senior Manager, dealing with people who were originally (10 years ago) either my team leaders or managers...Although no one says it out aloud, I'm pretty certain that people think "This guy thinks he's a big shot, coming from overseas and trying to change our ways. There's nothing wrong with our way of working, it's worked for us all this time...This best practices spiel is all theory, he's not a person of action, he's a politician - more talk, very little action!". Alas, I am anything but academic, and this post will try to clarify this misconception!

As lame as this might sound, it is well-known fact that working with human beings is really difficult! The coach hit the nail on the head that a possible reason I was facing resistance is most likely due to a mistake by senior leadership of not communicating to the rest of the organisation what my role entailed, especially in the area of introducing changes or best practices. I was probably not introduced to the company as someone who has a lot of value to offer, my positioning and expectations were not clear from the senior leadership, hence people are not sure what to make of me. Indeed this is true since I was initially interviewed for Scrum Master role, but was instead offered a Project Manager role due to my experience; and then later on in a short time, having influenced many areas, especially after resetting the project back on track, the company realised I'm more than just a Project Manager - and so moved to a Senior Program Manager Role, positioned as a Strategic Planner. But there still wasn't a clear mandate from the upper echelons of leadership to say to listen to me...nor was there outright acceptance that most of the existing processes to date were somewhat flawed; and miles away from following best practices.

My experience covers a variety of areas: Software Development, Architecture, Technical Management, Technical Leadership, Systems Integration, Engineering Management, Software Product Management, Software Project Management, Delivery & Integration Management, Agile, Scrum, Software Engineering...

I am equally passionate in all these areas, so wearing the hat of "Strategic Planner" that creates direction for Programs and sets a high level project plan into motion, is somewhat limiting the value I bring to the organisation. I can contribute to many areas in the company, but run the risk of sticking my nose in where it doesn't belong, the corporate structures preventing cross-collaboration; and the tendency of people building empires makes it really difficult to influence change; unless direction comes from the top. Being the person I am, I can't sit still and see things being run inefficiently and somewhat mismanaged - surrendering doesn't sit well with me!

So this coach strongly recommended I must tell my story every chance I get (if I'm meeting new people, etc)...that I need to tell my story so people can understand where I'm coming from, what my insights are, and get people to acknowledge the value I can bring to the team or organisation...

...so this is my attempt at telling my story...How did I get here? What makes me think I have expert knowledge worth sharing with the professional world? Why do I feel I have a sound grasp of best practices? Why am I passionate about Software Engineering? Why do I think I'm Software Management Consultant material??

  • Embedded Engineer: Set-Top-Box Developer
  • Systems Software Engineer: Fault-tolerant Server-Side Computing
  • Entrepreneurial: Ideas to Products
  • Software Architecture: Architectural Insights
  • Software Testing Experiences
  • Software Manager: Project, Programme & Delivery Manager
  • Software Consulting: Development Processes, System Integration & General Management

Opinion: Cloud Services impact on TV

(11-Dec-21 clearing out old drafts cache 2012-2016, articles I didn't get round to finishing) 

What I expect from a STB Architect Role...

(11-Dec-21 clearing out old drafts cache 2012-2016, articles I didn't get round to finishing) 

One of my most well read and often-sited posts, and the post that steered much of the changes I got introduced into my project was my Overview of Architecture Roles in Digital TV Projects. I have yet to change my view on the demand and need of real architects on software projects, and since my focus is on software development in Digital TV Systems, I remain unconvinced that the role is either not required, or the expectation from the role remains purely a high-level technical co-ordination or problem-solving role. I also remain totally unconvinced that Agile/Scrum calls for less focus on up-front architecture activities either.

I have worked with Digital TV Software Projects throughout my professional career, some might call this expert knowledge (although I am thinking of branching out into Cloud-Services as an attempt to remain up-to-date & current) - I have seen traditional Waterfall projects, classic Agile/Scrum small-scale projects and also managed Large-Scale Distributed Projects implementing a mix of Structured & Agile. I have been on training courses on Agile/Scrum, read most of the popular books on the subject, and haven't found much evidence that speaks against following at least some rigour when it comes to Software/Systems Architecture. 

This post is about sharing some of the activities that I've come to expect from a STB Architect Role, by building on the high level requirements that I introduced in the original post on Architect Roles:

[RECAP typical STB Architecture Stack]

[HAL / CDI Layer - broad profile / review / etc]
[Basic STB Architecture building blocks:
- device memory map
- device hard disk partitioning
- device hard disk management
- component interfaces
- component communications
- interface patterns / protocols
- software classes / framework - base classes
- use cases: Product Use Case - System Use Case - Feature Use Case - Functional Component Use Case, etc
- tracking memory management
- tracking stability
- assisting in defect triage / classification
- security aspects - kernel hardening, etc
- open source knowledge
- co-ordinating technical discussions, not doing the technical debugging - but advising/co-ordinating
- managing vendor expectations
- future looking roadmap features
- works on multiple projects & activities at once
- excellent time management & documentation skills
- high level design - UML
- interface control definitions

Architecture Patterns: How to design an EPG?

(11-Dec-21 clearing out old drafts cache 2012-2016, articles I didn't get round to finishing) 

Managing Large-Scale Projects using Agile, Part 5 - Implementing a Large-Scale Architecture Model

(11-Dec-21 clearing out old drafts cache 2012-2016, articles I didn't get round to finishing) 

In this post, I'll discuss a Large-Scale Architectural Model we adopted, touching on the concepts and challenges we experienced. I have broken down this post into the following sub-topics:

  • Recap the project, STB Software Stack & Organisational Structure
  • Overview of the Organisational Structure around the Software Architecture
  • Breakdown of the Architecture Processes, key areas of maintaining architectural integrity
    • Requirements, Design & Implementation Model
    • Communication Challenges (Collaboration, Reviews, Meetings, Documentation)
    • Controlling Change (APIs / ICDs)
    • Scaling the Roadmap - Advanced Features, Multiple Customers, Short Release Cycles




STB Performance Testing

(11-Dec-21 clearing out old drafts cache 2012-2016, articles I didn't get round to finishing) 
[talk about why you need to do this...example performance tests]

Managing Large-Scale Projects using Agile, Part 8 - Conclusions


(11-Dec-21 clearing out old drafts cache 2012-2016, articles I didn't get round to finishing) 

- recap the model
- talk about management challenges - admin
- share the twitter discussions from Kane Mar
- Reference Software in 30 days
- talk about the challenges with adopting agile in large scale STB projects - very hard to achieve, has to be done piecemeal

Conclusions

Managing Large-Scale Projects using Agile, Part 7 - Continuous Delivery - Challenges

(11-Dec-21 clearing out old drafts cache 2012-2016, articles I didn't get round to finishing) 

Managing Large-Scale Projects using Agile, Part 6 - Evolution of the Model

(11-Dec-21 clearing out old drafts cache, articles I didn't get round to finishing) 

My first surgery at 43: cervical discectomy

This year, 2021 was always going to be the year of many changes for me. I took a leap of faith in disrupting myself by switching to a new world of work altogether. I relocated to a new city with my family, starting over again having no family or close connections in Cape Town. My kids all going through teenage phase, having uprooted leaving behind their last 10 years of growth for new beginnings. My wife too, left her community and lifestyle behind to support my work ambitions and personal adventures. I thought I was prepared for the disruption (despite the challenges of covid-19, I'd resigned and found new work in 2020 and relocated provinces in the same year during second wave)... but I didn't quite expect disruption to my own personal health front. 

This health challenge called me to inspect yet again my priorities and focus. I knew 2021 will call for increased work hours as part of my ramping up to new company culture, new domain, timezone differences, that my focus would be more work than family or even my own individual interests for that matter. 

So I'd started experiencing some discomfort in my right arm from July/ August. Experienced severe pain, pins and needles that made it quite impossible to focus at work, sit at desk or even function outside of work normally - without medicating for the pain. Took to painkillers at first, thinking it a temporary situation. Three weeks passes (I'm stubborn like that) before decided to consult a GP, suspected a bad pinches nerve or slipped-disc, so had me in a neck brace for 2 months and some interesting pain killers. Problem with nerve meds and pain killers is that it kinda slows everything down, best to take at night and getting the timing right also makes for an interesting experiment. 

After two months of neck brace, the severe pain was replaced by mild pins & needles and dull pains. Yeah, I'm on my way to recovery or so I thought. Then the pain came back, with a vengeance. Not having a decent night's sleep for months, waking up with a sore arm each morning, not being able to go thoughout my day without some kind of pain relief, some days pain was 8/10, others 4/10...started to add up and take its toll on my overall mental and physical well-being. 

Went for MRI. Diagnosis: you need surgery but it's up to you. If you can manage the pain and adapt to a lifestyle disruption then you can decide not to have surgery. 

I needed some time. Decided to take another course of higher dose of nerve and pain killers. I never had an operation in my life, I wasn't going to start now! It's the spine, I grew up with some strong biases "Don't ever go near the neck/spine...once you put knife it's all downhill from there"...my default programming, innate fears unjustified but made up my belief system nonetheless.

I sought other opinions, some friends had similar experiences ended up recovering with physiotherapy and chiropractic manipulations. I tried physio, it for worse. I went to a chiropractor, who had the best bedside manner I've ever experienced. He looked at my MRI, sat me down and explained the seriousness of the issue. In his professional assessment, there's very little he could do. In his personal opinion, he advised surgery. 

Watershed moment. 

Screw it let's do it! Time to be like water, go with the flow. Trust in Qadr. Shed old fears. Embrace change. Have courage. Be brave. Prioritize myself for once!! So I decided to go all-in and have the surgery: cervical discectomy

insha'Allah. God willing. I took the necessary precautions nonetheless (made sure my life's paperwork was up-to-date, what to do in emergency rehearsed with my wife, etc.) General anaesthetic, I'll be out for 4 hours. Anything could happen...thankfully nothing happened. Shukr Alhumdulillah!

But what do I do about my work commitments? Can I just drop everything in 2 days and leave, even though so much urgent projects are underway?

We've been planning an off-site strat session and team building in another country. It would be the first time we'd meet our bosses and peers face-to-face. The journey is 33+ hours travel in coach/economy that I wasn't looking forward to, very uncomfortable...so I asked to upgrade my seats based on medical reasons, economy premium - sweet! As much as I'd committed to the travel and workshops, deep down I was still concerned about being in physical pain dampening my contributions to the workshops. 

A week before the planned trip, Omicron covid-19 variant broke news. I was in two minds about the trip, didn't want to risk getting stuck in the US, missing my planned surgery. As luck would have it, flights were automatically cancelled due to countries closing their borders to South Africa. I saw this as a sign not to squander the opportunity to have my surgery done much earlier.

I prioritized my health and personal wellbeing ahead of work. 

I actually felt bad doing this last-minute, but it honestly felt like the right thing to do. Even though I did not square things off face-to-face with my manager, I did have a 1:1 with my skip-level boss who was more than empathetic and supportive. I felt my direct reports had things under control and could be trusted. 

The recovery period is between 4-6 weeks, the longer I leave it, the later in 2022 I'll start to recover...so I left work all behind in the capable hands of my direct reports, mailed my boss and went all in on focusing on my health and recovery. 

It's been a week since my surgery but am on the road to recovery, albeit a little slowly. The pain in my right arm that crippled me earlier this year is no longer there. I have a scar on my neck and an alien foreign device as a new part of my body. It will be a while until I start hiking or cycling again, and I have to let the healing process take its time. 

As I write this, I do feel a little sense of regret having missed out on team building, strategic planning and operational planning events, even missed out on a big AWS outage post Re:invent but hey...when it comes to life, one has to prioritize life first ahead of work. 

Health and well-being comes first. Work is lower priority, work will always be there...

I've learnt that physical pain must be treated before it becomes an issue impacting lifestyle and work. A grumpy colleague in pain, who's head might be floating on meds is harmful to the team and business. Just as much, if not more, a grumpy father in pain is not good to be around the family either!

Here's my MRI:

Here's the device now creating room for the nerves and hence relieved the pain:
And I've got my first surgical scar on the right side of my neck (what a sensitive area!) at the age of 43! 

I can't believe I actually went ahead and done this!!

2021 - what a year of personal disruption it's been so far!!