Tuesday, 12 May 2020

LinkedIn Profile - probably a bad example

I spent a lot of time contemplating what should go as my "About" summary for LinkedIn, it's quite tough actually.

So I had this written down below for about 18 months as my profile, and I'm about to change it to just keep it simple and brief. Looking back, it's too much waffle..

Helping Africa's largest PayTV company build an internet TV platform, building local African engineering team & skills. This platform serves 50+ countries, multi-tenanted, multi-product & content packs. Scaled platform 6X through nurturing teamwork, MAU on a steady increasing trajectory, overall site traffic growing nicely YoY.

CTO for DStv Now, Box Office & Content Discovery Recommendations Tech stack, managing 100+ engineers: Enterprise Architecture, Software Delivery, AI/ML Scientists, Agile PMO, Infra/Networks & Ops/Site Reliability engineers.

I'm NOT strictly a builder anymore though. I haven't written code in ten years, but was once an expert coder. I don't do architecture anymore, but used to love models, abstractions, API design & authoring technical documents. I don't write or review test cases & test plans anymore but instead drive innovation & optimisation in automation & DevOps continuous delivery. I don't review code or do systems integration anymore but can write (have written) treatise on these software engineering topics.

Yes, I'm building an E2E tech stack commanding a v.large budget, in a fast-paced VUCA world.
Yes, I handle tech conversations & make tough decisions, engaging and challenging C-level executives.
Yes, I do write technical papers.
Yes, I can indeed get into engineering detail too...BUT...

I CHOOSE to LEAD through PEOPLE: empower, protect, listen, steer, guide, groom, mentor, coach, train, show & tell, nurture-to-catapulting NextGen leaders we so desperately need today...

Some people call me a turnaround specialist - rescuing distressed projects & teams...
Others have said I have a knack for making the complex look simple...
I've built full stack software from device firmware, middleware, apps to server-side systems.
I was once an expert technical project and program manager, but that too is no longer who I am...
I was also a scrum master, agile coach, devops & agile delivery release manager too...I was also a senior management consultant...

So who/where am I now??

I am now a builder of LEADERS, who happens to be a senior engineering guy with PI-shaped skills, who loves to solve perceived intractable problems and thinks big: org, people, radical ideas, disrupting, transformation.

I'm known to challenge status quo, ruffle feathers & doing things differently - radical candor. Sometimes seen as a threat to old-school thinkers.

Autonomy & Trust is where I thrive - democratising the workplace!

But I tend to get bored easily if I'm not stetched or challenged enough. Typical cadence is 3 years before changing! 

Wednesday, 6 May 2020

On: Never fight a battle you're not prepared to win

A topic that's been on my mind of late...

The thing with "Pick your battles"...
Everyone says, "Pick your battles," and they're right. But usually they only mean "Pick your battles based on whether or not you have a good chance to win." That's fine, as far as it goes. But we think you should be even more pickier. 
Only pick battles that are:
a) winnable
b) important
c) battles for which you're fully prepared to pay the price to win
d) battles you're damn sure you can afford to win

-- Quote from "Buck Up, Suck Up...and come back when you foul up" by Carville & Begala

So think and reflect on that deeply. Remember other anecdotes "If you want to fight, you have to get into the ring, it will get bloody messy but you can't stop until you give it your all". 

Which battles are you fighting in your head?
What's keeping you up awake at night, causing you sleepless nights?
This could be personal or professional, or a professional work scenario that's starting to negatively impact your personal & family life, possibly causing anxiety and borderline depression.

Before diving straight into battle mode, it might be prudent to find a quiet space to brainstorm.
Mind map each scenario and use the four criteria above to map pros/cons, upsides/downsides, apply some rationality to the process. 
It will be hard to fight the emotions, but you got to try.
Be critical.
Be meticulous.
Be objective.
Play devil's advocate. Is it just your ego being bruised?

It's not about being safe and taking the easy way out, nor is it about being risk averse. It's about being sensible, a matter of calculated, smart survival tactics, at the expense of giving into emotions.
Sometimes one has to lose a couple of battles to win the war.
It's about the long game - envision a future where your current troubles disappear and replaced with victory & triumph. Keep doing this as often as you can to get through the dip.

But...sometimes, if not most of the time, emotion & gut instinct are indeed right! After thousands of years, we humans still have our lizard brain, the instinctive reflex of "fight or flight" has served  and continues to serve & save us.
My gut instincts have saved me more times than I can remember, so it might be perfectly okay to react too.
Going with your gut, embracing the emotion (anger, disappointment, betrayal, rejection, doubt, etc.) can be very powerful motivators for change...
These, coupled with your closely-bound value system, can be the only key indicators for you to decide to get into battle...when you do get into it, you need to be prepared for various scenarios...especially when the impact of going into battle has far reaching consequences other than yourself: you family, friends, loved ones, colleagues, your own reputation, etc. 
Another tool is to seek out close confidants, mentors and guides - the counsel "Shura" of other trusted parties can generally help you seeing things that you might be currently blind to (since all you can think about are the battles raging in your head).

After all of that, once you've processed the noise in your head, sought counsel, go back and ask yourself: What am I willing to walk away from??
Take a deep breath...build up courage....and take that first step (battle or not) and never look back...

another #thismightnotwork post

Tuesday, 17 March 2020

On 20th work-anniversary

This month marks my 20th work-anniversary as an engineering professional. Twenty years with the changing landscape of MediaTech PayTV Software Systems.

Looking back to how it all started: It took a few nervous months to land my first job after graduation '99. Getting anxious by-the-day after previously declining a forensics post at Deloitte; declined another Oracle DB admin at Vodacom as well, I waited for a pukka engineering role. I wanted to build stuff, my hard slog of 4 years studying electronic & software engineering should be put to good use after-all!

Altech UEC (which no longer exists today but was once SA's engineering darling) finally offered an entry-level engineer-in-training post. This introduced me to the world of digital TV set top box development. A year later, I was off to Dublin Ireland, working with Europe's top silicon & software design services house (S3 Group. now Accenture). 20 months later, off to Southampton UK, working with NDS (was Cisco, now Synamedia), the best engineering & management experience - we built some cool stuff light-years ahead of the times; and ran some massively complex projects. I spent 8 years there in UK, before returning home to SA (as a foreigner nogal!), to work with Multichoice, Africa's best storyteller, helping build NextGen Internet-TV products.

From engineer-in-training to CTO-Head-of-Technology in 20 years... Who could've thought, growing up in apartheid South Africa, underprivileged socially & financially, blue-collar family. Engineering was my 3rd choice, the practical one, the one that made most sense economically, after being accepted to medical school but not having the financial support to pursue...

Truly grateful to many-a-friend, family-member & colleagues for helping me get to see this milestone.

#gratitude shout outs to my past colleagues - you've left an impression I will not forget. #shoutout to all these great people that I've learnt so much from, thank you!
Waldemar Keyser David Siedle Rajesh Madhanlala John Maguire Cathy Guinan Hermann Wakolbinger Liam Friel Steve Taylor James Cunningham Brinton King David Dinsdale Stewart Towler Mike Palmer Salik Miah Gareth Bowen Tom Burnley Steven Coul Matthew Howe Matt Spencer James Wilson David Mandelzweig Shlomi Rosenberg Steve Williams James Field Nick Thexton Gerdus van Eeden Phil Nicholson Anand Govender Mark Rayner Graeme Cumming Bradley Daniels John Kotsaftis Bradley Eliot Farid Essack Andrew Dallas

#careeradvice - Work hard, have grit, patience & perseverance. Always do your best work. Only You can make it happen! Take chances. Take calculated risks. Switch jobs every 2-3 years. Switch domains every 2-3 years. Switch industry every 5 years. Always keep moving forward. I am a product of my time, 20 years is too long to be in one industry, stay a maximum 5 years before moving on....I do feel an itch coming on! My next 20 years is going to be different - 2021 should be the year of change!

Monday, 17 February 2020

On Leadership: Be Like Water

So I took a chance this morning and posted my first article on LinkedIn:

We talk a lot about transformation these days. Executives want to gear up for the future, speak the latest buzzwords"agile, flexible, adapt-to-change, level up for the digital world, challenge-status-quo, call-things-out" etc. All great intents I suppose, but what is sometimes ironic is that these same people are actually unwilling to let go, unwilling to adapt, maintaining the old-school mentality, staying within their comfort zone, symptomatic of being too afraid of conceding their power.

I've been in a state of continuous adaptation for as long as I can remember, my own leadership style has flexed and morphed along the way. It wasn't easy. It's actually very, very hard. Changing habits, value systems and mental models can be straining intellectually & psychologically. Practising self-awareness (i.e. embracing change in your leadership style) reminds me of the epic battle with Gandalf the Grey & the Balrog in Lord of the Rings...

Rigidity is a kin to brittleness. Brittleness leads to breakages. When things break, it's not always possible to put the pieces back together again. Fluidity is thus an important trait for today's leader. If you insist your ways don't need changing, then I'm afraid you'll soon realise "being out-of-phase, completely misaligned & out-of-sync" with the tunes of the current workplace vibe.

Sure, hierarchy will not disappear anytime soon and thus deserves respect. Sure, we need visionary leaders, but more so than ever, I believe we need execs to display courage, courage to be called out now and again, a healthy willingness to stop hiding behind positional hierarchy and instead, listen more, maybe at times be brave enough to step-aside and let things "just flow", being more like water. 

Hence, I am reminded of Bruce Lee's "be like water" teaching:
"Be like water making its way through cracks. Do not be assertive, but adjust to the object, and you shall find a way around or through it. If nothing within you stays rigid, outward things will disclose themselves.
Empty your mind, be formless. Shapeless, like water. If you put water into a cup, it becomes the cup. You put water into a bottle and it becomes the bottle. You put it in a teapot, it becomes the teapot. Now, water can flow or it can crash.
Be water, my friend."
- Bruce Lee

Friday, 3 January 2020

Year 2019 in Review, Welcome 2020!

I'm now entering my fifth year of time logging and keeping track of all my "life & work"-streams in an effort to make sense of my time sinks, cross-checking my aspirations & goals with reality, in the hope of tuning, re-calibrating areas to be more in harmony with my purpose / value system, sometimes triggering some decisions that could take my life-and-work in a different direction altogether. So I've become a bit of geek with the #quantifiedself so much so that I log almost everything all the time. This habit developed naturally as I spent five years consulting, needing to keep track of all my hours and tasks for billable hours. So I took this all the way into treating my entire life as one big project with multiple tasks that needed accounting!

In 2015, I spent a lot of time soul-searching to make sense of not only what I want out of my life but my work/career aspirations as well, since a major part of my life involves my occupation in the software industry. So I came up with a model called RAGE (Reality, Aspirations, Goals, Expectations). The way the model works is to split yourself into "Personas" sliced into Personal and Professional streams. Using some tools from Agile, such as user stories, you describe for each of your personas, your aspirations, reflecting on your current reality, then setting goals and expectations. Your personas are prioritised by value, which is basically an instinctive, gut-feel assessment of the value/importance of the stream, in comparison to the others. I'd created template and a matrix tool that allowed for easy prioritisation, and a template to help others on this journey as well. My hypothesis still remains valid that tracking time is one way of understanding where my time is being spent, proposing "I will naturally spend most of time dedicated to the persona streams that are of importance to me" - but the reality can sometimes be quite surprising!

In this post, I continue with my annual ritual of starting the new year by analysing what went down the previous year (2019), and how/what I would need to re-calibrate to get me on track with my life's journey-mapping into 2020:
  • Recap my personal value system - persona matrix & priorities
  • Snapshot of tracking my RAGE progress by milestone reviews heatmap
  • Performance appraisal - Did I achieve my intended outcomes / goals set in Jan 2019?
  • Quantifying every hour of 2019 - where did I spend my time, what did I do?
  • Does it look like I have my life-work balance under control?
  • Am I working too much, sacrificing my personal and family streams?
  • Am I enjoying my current job?
  • What are the main things impacting my future personal & professional aspirations?

Wednesday, 4 December 2019

What makes OTT Streaming platforms different to DTH/DTT STB Broadcast?

In the early days of this blog, I shared in deep detail the technical and project landscape of PayTV systems for the traditional broadcast headend and set-top-box (STB) software platforms and projects as subject matter expert in this area.

In this post, I will provide a high level overview of the core differences and challenges between broadcast DTH/SetTopBox systems versus OTT platforms. OTT has become a hot topic, with the nascent rise of OTT (Over-the-Top) internet streaming platforms that many a traditional PayTV operator is now transitioning to, in light of the growing competition for eyeballs & cord-cutters driven by the likes of primarily SVOD (Subscription Video On Demand) players like Netflix, Amazon & the like. The challenge though, is that these PayTV operators tend to trip up by bringing PayTV/DTH thinking into the OTT-world, which is why I felt the need to write about this, because I have, and still am currently experiencing these challenges. Suffice to say, it becomes very tricky to disagree can call out a high level broadcast TV executive's assertions (expecting like-for-like DTH & OTT experience) as not completely accurate when it comes to OTT engineering...

The main aim of this post is thus targeted at senior executives who come from a broadcast world, and may not fully grasp the nuances of an online streaming world, specifically pointing out the spectrum of control of the end-to-end platform that PayTV operators generally enjoyed much comfort in that world, in contrast to the new world of online, where it becomes impractical to expect the level of control previously enjoyed - basically you can't control all the components of the internet, unless you invest in owning a large part of the network, which some operators have attempted & haven't really succeeded!! Simply put, the internet was not designed for Live TV streaming unlike traditional broadcast TV - the internet is somewhat chaotic & messy to say the least. In addition to this level of infrastructure control & lack thereof, an OTT platform is largely software systems designed for internet-scale (i.e. massively distributed server-side backend components) which requires a different skillset and experiences traditionally enjoyed in the closed ecosystem of broadcast & set top box device software development teams.

Another point of this post responds to the standpoint from traditional PayTV executives who may have spent a large part of their work in building broadcast systems with an engineering mindset anchored to a past era that is no longer relevant in the OTT world. Expressing opinions such as "engineering systems either work or they don't, it's either a 1 or 0, no in between states..with an expectation of 100% always-on availability..." in my view is somewhat misinformed & borders on belittling the engineering challenges faced in the online world. Whist every responsible engineer understands such demands and expectations of any system, a key point to remember is that broadcast TV has benefited from many years of refinement, standardisation, systems & processes specialised for the domain of TV - and when it comes to the internet - well, it was never really designed for video consumption, the speed of innovation has outpaced the development of standards & so is a much more messy world compared to traditional broadcast TV (satellite/terrestrial).

Disclaimer: This post is not about downplaying the broadcast engineering world, in fact, a lot of OTT operations highly depend on the upstream capabilities from PayTV operator's existing broadcast engineering infrastructure. Broadcast engineering systems are a marvel of engineering in its own respects, systems are highly complicated & superior engineering. OTT systems, and the point of my post, is to show the extension of the value chain, highlighting the new software & systems engineering challenges that present itself in the OTT world, that will be new concepts for existing broadcast engineering teams to learn & appreciate.

Key points for TL;DR folks (especially the PayTV Exec CXOs)

  • It's not a simple thing to compare OTT platforms wearing hat of a traditional DTH broadcast guy, it  is not simply a like-for-like comparison.
  • Don't be naive and pass value-judgements just because you were an engineer in the broadcast TV world (Headend or Set Top Box) does not necessarily make you qualified to understand OTT engineering domain. You can't bring broadcast/STB-thinking-mindset to the world of OTT.
  • PayTV operators have historically enjoyed a high level of end-to-end control, not so in OTT world. The internet is outside the PayTV operator's control.
  • There are far more components in the value chain of OTT than broadcast (backend, frontend and device software stack is more complicated in OTT than STB software).
  • High level of device & platform fragmentation in OTT that a traditional PayTV operator must consider.
  • The internet was never designed for TV consumption & has innovated at a much faster pace than traditional broadcast TV, the internet is a messy place, broadcast TV is somewhat cleaner and more determinstic.
  • OTT engineering teams have different challenges compared to traditional broadcast & set top box engineering.
  • PayTV operators need to plan carefully the convergence (DTH & OTT) of engineering teams and be prepared for a "clash of worlds".
  • Set Top Box software systems enjoy far more security control & protection than its OTT sibling.
  • Peak events & load challenges are unique to OTT platforms compared to broadcast DTH STB (scaling challenges don't really exist in DTH/STB).
  • Redundancy, Fast Rollbacks, Failover & Disaster Recovery are easier to achieve in OTT than in broadcast DTH/STB systems.

How TV is PayTV changing?

Today, the world is different and changing all the time. With the rise of the browser, "streaming over the top" has advanced at a much faster pace than the traditional broadcast world. There are so many topics I can talk about, which might become future posts. Take for example how software patterns for distributed systems had to evolve for internet web scale. A mistake often made in the early development of online-equivalent of traditional TV streaming, is one where the software stack for the streaming world emulated that of a STB, expecting real-time processing, synchronous calls to APIs, etc. Depending where you started, you might have a lot of legacy code to clean-up & undo design patterns that worked previously, but can't scale sufficiently to deal with exponential growth of online users. Some PayTV operators may have anticipated this online streaming by building their own online streaming platform, maybe 5-7 years back, resulting in some legacy already. Today, with the rise of cloud providers, and the constant comparison with the god of streaming (Netflix), PayTV executives expect the same level of performance & reliability from their in-house engineering team. Deciding whether your legacy online platform has reached the end of its shelf life, whether to continue to the restructure journey (e.g. migration to cloud), or hit refresh, starting from scratch build, or use off-the-shelf platforms, is a topic that has kept me awake many a sleepless night. A topic for another day. Another topic that makes traditional PayTV executives a little uneasy, is that the engineering, development, delivery & operational management for OTT platforms are much more dynamic & agile in nature, the fact that apps can be patched and upgraded quickly, that deployments to production happens almost daily, challenging traditional governance and change control procedures that demand varying levels of sign-off & approval, that developers can access production environment, etc. are topics IMHO that every senior executive from the old-world of PayTV, needs to come to terms with - i.e. don't expect your digital OTT engineers to behave the same way as your broadcast engineers! Anyway, these topics are best left for future posts...

Right, now that's off my chest, let's look at the big topics that speak to differences in traditional broadcast satellite TV platforms compared to OTT platforms: