Friday, 31 March 2023

ChatGPT - a little serious note

 Whilst I've been having some fun doing my research, I think will only be comfortable trusting a machine for other insights outside of the coding / business / tech domain, when I have open access to all its data sources and citations that showed the formulation of the response. I want to know what the machine is trained on, so that I can make my own judgements on the responses. AI companies must openly public these sorts, publish a bias index, something like a cultural sentiment index, and show whether sandboxing different philosophies / social frameworks and constructs. Without this access, I am okay to limit my interactions to well-bounded, technical and professional contexts to help me be more productive, do research, as an another tool to make humans optimise, etc. Beyond that, I will not entirely trust the machine  enough yet to have deep, meaningful discussions about life, world politics and human civilisation challenges because of biases that haven't been independently tested for, etc. I believe the entire test-suite for validating the safety and quality of the AI must be released in the open, for independent scrutiny. If tech companies are truly serious about uplifting human civilisation with general AIs, then stop with the profiteering and start with building humanity on open transparency, level the playing fields. This is not a space race to outcompete one another. This not the next tech to make yet another tech geek nerd the richest person in the world! This is not about making money - I'm talking about the broad uses of the AI. Sure, you can make some money for constrained topics - but don't go releasing AI into the wild that can cause more serious harm than good.

Given this technology is mostly born or heavily marketed from capitalist America (my bias: winner-takes-all, survival of the fittest, competitive, good guy vs bad guys, profit before people, we must always strive to be the world's dominant region - unfortunately overshadows what made American ideals great, the American dream, a place I always wished to go and work at) roots, makes me very nervous about the potential misuse, misunderstanding of the machine. I fear the future of children growing up with this tech, like what constructs they would learn, potentially throwing thousands years of human traditions, culture and beliefs. As such, I'm leaning more and more on controlling these releases, and perhaps escalating regulatory reviews to inspect deeply...we don't throw babies into shark-infested waters the first day they're borne, so why expose such a powerful, misleading tech to the whole world, children and adults alike?? We don't give guns to children, do we? We have checks and balances in place for all kinds of risky tech? Take nuclear tech for example? Honestly, this topic is so broad and wide, concerning...it's a pity that Lex didn't address these topics directly with Sam in their interesting conversation here

Exploring ChatGPT will almost become a full-time activity outside of my work hours - so many unknowns, so much of things worth exploring...but my priority would be humans first, machine last. If the pace of progress needs to be slowed down until we understand more, so be it. There should be a global moratorium on this tech, a world governing framework like NATO/UN/etc. to regulate. 

So my view: Proceed with extreme caution, be bold to explore the limits of the machine for a well-bounded context limited to science / computing / business / historical facts - but nothing more...until there's a way to characterise these AIs by archetypes we can identify with.

I have to say, I am leaning heavily on the side of regulation - putting on the brakes!!

IMHO that is...

Time to start my day job!! Plugging into the matrix now...

ChatGPT fun - oh man, this is getting addictive!

[my daugher is waiting for her school run....and I'm still playing with ChatGPT!]

do you remember the norton spinning control animation when running from dos days?

Yes, I'm familiar with the Norton spinning control animation. It was a popular animation that Norton Utilities, a suite of disk and system utilities for MS-DOS, displayed while it was running disk optimization or defragmentation. The animation featured a spinning disk with a check mark on it, and the disk would spin faster and faster as the optimization progressed.

show it to me

can you create the code I could run in the browser for this classic spinning control?

that's close but not exactly like I remember it. The sequence of rotating "-\-/" is missing

sorry, you lost context again. Now I only get is an empty square?

<!DOCTYPE html> <html> <head> <style> #spinner { width: 30px; height: 30px; border: 1px solid black; font-size: 20px; text-align: center; line-height: 30px; } </style> </head> <body> <div id="spinner"></div> <script> var spinner = document.getElementById("spinner"); var sequence = "-\\|/"; var index = 0; setInterval(function() { spinner.innerHTML = sequence.charAt(index); index = (index + 1) % sequence.length; }, 100); </script> </body> </html>

yes, that's very close

I'm glad it's close! If you want to adjust the size or speed of the spinning animation, you can modify the SIZE and SPEED constants at the top of the JavaScript code.


Friday fun with ChatGPT - A series of Hello World in less than 40 minutes

I'm still early in my journey of experimenting with ChatGPT - and every time I interact with it, the more I'm blown away.  This "simple" animation is the result of spending just under 40 minutes, exploring the code generation powers of this machine. Whilst I did not reach the end result I was looking for, the machine gets pretty damn close, close enough for a developer to take the code and tweak it...

The implications of this tool are just mind boggling. 

Here's a transcript of my interactions:

Alright, do you have the ability to write code?
write me a simple hello world that I can run from a browser
can you repeat that using javascript?
can you work on simplifying using the least amount of html and more javascript?
can you add an animation so that the text "hello world" moves from left to right like a ticker stream?
can you enhance the animation so that the ticker moves clockwise around a square block contained to a width of 500 pixels and height of 500 pixels?
Wow, I am amazed. Thank you for giving me a daily dose of your awesome utility!
let's take it next level
add a second hello world to the animation, but this time the second text should be revolving anticlockwise, with the two revolutions happening as concentric circles
okay that is close enough. Add another hello world text in blue, that moves vertically up and down, centered to the two circles
unbelievable! Okay, time for next level
Add an animation, starting at the bottom left corner of the square, of a rocket emoji with the text "ChatGPT rocks!", that moves around the square, completing one revolution anti-clockwise and then another revolution clockwise, all around the edges of the square border. The text should be bold.
sorry, you got that wrong. You've lost all the previous animations of hello world texts, please try again. Also make the "ChatGPT rocks!" text smaller.
still wrong. get me back to the code that showed the previous animations before the rocket ask
okay, it seems you're not good at remembering context. You've lost all the previous context that created the square block and showed the circular and vertical animations.
nope still wrong
I need to add one more animation to the code, which is the rocket ship. Do you remember my ask? Please repeat to me so I can examine if you've understood my request correctly.
Yes, you asked to add an animation of a rocket emoji with the text "ChatGPT rocks!", that moves around the square, completing one revolution anti-clockwise and then another revolution clockwise, all around the edges of the square border. The text should be smaller and bold.
Yes, do you want to give it one more try? Please don't lose the previous code. Build upon it.
ok, that's close enough for today. I need to spend more time with you, clearly.
Hello, World!
Hello, World!
Hello, World!
🚀 ChatGPT rocks!

Wednesday, 29 March 2023

ChatGPT as my new research assistant

I continue to be blown away by ChatGPT. This is a game changer!

One of my biggest misses in my life is missed opportunities converting my ideas in starting up my own company. It's not like my ideas were not great, it's that I lacked the follow-through and risk-taking to get started executing once my idea was validated.  I would spend so much time researching, doing the market analysis, identifying opportunity, writing up the idea and then failing to take it further forward. Here's one example -  the start-up research I did for my original personametry idea about the application of monitoring physiological signals that can help manage mental well-being, like stress before this topic hit mainstream. Check my Trello workspace if you're curious. 

I spent a good 300+ hours doing the research and thinking of the opportunity. I'd wake up at 4am every morning, doing the research, before starting my official work-day at 8.30am, after doing the school run. I also invested in working a 4-day work-week to create space for researching my ideas, because my goal then in 2015/16, was to startup a product company. Since I was consulting, I could manage my own time and take a hit on my earnings because my personal goal was important at the time literally putting my money where my mouth is. Unfortunately the consulting work got busy, and my personal life went a little off-balance, that made me rethink my focus areas - so I left start-up ideas aside. If you've read my posts on my RAGE model tracking, I dropped the start-up ideas focus since 3-4 years ago. Work, Life & Family took priority over my aspirations of booting my own start-up entrepreneur.

Until now, with ChatGPT in the mix, I'm reconsidering my options. I can save so much time, exploring my ideas without compromising my other life streams. All I need is to timebox at least an hour each day, and a couple hours over weekends to get back into tackling my backlog of 100+ ideas that were sitting on the shelf that last few years.

My latest thesis is this: As I enter into the second half of my working life, with at least another 20 years left to work in a career - I need to be doing more purposeful work during my core work hours and not as side volunteering gig. Since being a Muslim is at the centre of all my decisions across my life and work streams (part of the reason I left a CTO job had to do with staying true to my personal moral value system: example - promoting video content I'm not comfortable with, targeting people to spend time on endless watching of video for entertainment wasting hours of life away, building gambling and sports content betting technology, etc. This is why I joined AWS and decided to get inside the engine room in B2B enterprise systems but it's been a tough adjustment after 20 years building consumer apps). So, now I want to be spending my time working on impactful, value adding streams. As a Muslim, we believe in investing for the Akhirah (the next world). My ultimate BHAG was about becoming financially independent before retirement so that I could start an NGO/NPO focused on socially beneficial projects. Unfortunately, I'm very, very far from this goal. The other option was to join an NPO/NGO and contribute my skills as a GM/CTO/Manager, earning a reduced salary but at least I'll be happy doing good work. Alas, my searches to date have yielded nothing material (living in South Africa is also a limiting factor). So my latest idea - why don't I find opportunities in the Islamic Tech space? After all, I am a seasoned technology leader, surely there are opportunities in the Islamic tech space worth checking out? The total addressable market for Islamic Tech is 1 billion+ people. Introducing tech for this space initially (which would scale to the entire planet maybe), benefiting the ummah, in this world and the next, would be something, wouldn't it?

This is where ChatGPT came in to help. In the past, I'd outsource the research to some gig worker and pay up to $10 per hour for a research report. Or, I would spend hours of my own time, doing the research. No more! With ChatGPT, I can do the initial research in just one hour!! 

I am still to dive deep into the research, during my weekends - but I'd like to share with my readers, and especially for the muslim professionals out there, similar to me, looking to find opportunities to contribute to spiritually uplifting projects (either community or paid-for work), the amazing power of ChatGPT.

I'm not leaving my current job anytime soon though, insha Allah (although this is never guaranteed especially when there's real uncertainty now with Amazon's latest round of layoffs). 

I am however, being open about a topic that is becoming increasingly important and relevant to the aging workforce - as people approach their fifties, their stage of work-life changes from chasing the career ladder to seeking fulfilment, doing work they can feel proud of, to leave a legacy behind, to leave the world in a much better state they found it. That's where my head is at. I am not interested in chasing the next promotion. If promo comes my way, it should be an organic, natural result of my sincere contributions, backed up by people who value my contributions. I want to invest my time wisely doing work that matters to me. Right now, my work is about building leaders and growing people, being the modern elder. Ideally, it would be great if I could find something that builds up my Akhirah points and also get paid for it at the same time :-) 

Here's the transcript of ChatGPT as my research assistant:



Sunday, 26 March 2023

Playing around with ChatGPT, my CTO shadow

So, wow - I had put off deeply exploring ChatGPT for sometime until this weekend - after watching the Microsoft Co-pilot launch announcement and later catching up on the conversation with Bill Gates... I wanted to learn more.

In short, like the millions of other people that tested before me, making me quite the laggard... ChatGPT blew my mind!!

I'm still processing - need to consider the implications of this technology. 

Look at my conversation below - it's amazing. I wish I had access to my shadow CTO when I was building the online video streaming platform, so much time could've been saved!! The interaction was conversational, context was maintained even when the chat spanned two days overnight. The thread of the discussion was maintained, ideas could be built on top of previous answers. Take what Microsoft's just launched, and you have a serious disruptor of the workplace happening soon...I posit that life in the workplace would be very different by 2025!!

The future of work is going to change. I can't wait to stop doing drudgery work, what my manager recently called out as "donkey work".  I'd like my virtual personal assistant to reply to emails on my behalf, to provide status updates on projects automatically. Want to check the status of a project? Sure, don't ask me, ask co-pilot! Want to see what the latest performance metrics report is doing? Sure, co-pilot! You want an update on the outage we had last night, sure - co-pilot will summarise the five whys and play out the incident timeline, graph the blast radius and call out the customer impact for you boss, you don't need me to repeat the same (I'm busy fixing issues). You want to check if a project is going off-track, sure, ask co-pilot again. The project manager role is going to change. The software manager role is going to change. I would go as far as saying HR and coaching might fade away...if this ChatGPT technology can comb the entire corpus of psychology, psychiatry and medical knowledge, we can have really good conversations around mental health and well-being, or ask for guidance on handling sensitive relationships at work...we are limited by our imagination, and if that happens, guess what - we can seek inspiration from the AI anyway! 

Wow, it's time to wake up and embrace the power of this tech,

My new best friend, my shadow partner, my confidante ... I can't wait to see how personal assistants leverage this technology, especially when we get close to real-time data & knowledge-streams. 

Anyway, I'm sharing my first deep conversation with ChatGPT below. I started off by wandering about my own options with getting back into deep tech, then veered off into exploring the online video streaming business since I was quite the expert in that field before joining AWS. I wanted to check what responses she (I already given it a gender!) would provide regarding the problems I had to solve as CTO. Just as timely because this month I've been writing much about that.

Saturday, 25 March 2023

Providing clarity of job expectations and career pathing for engineers

I cut my teeth during my first decade of my working life experiencing the software engineering job family, starting as a junior engineer in 2000 and working my way up to principal engineer by 2010 (and then spent eight years from PE to CTO, then switching down to engineering manager in 2021). In between senior engineer and making principal engineer, I switched from coding to software engineering management and project delivery. Just before going back to technical, as a principal engineer, I was performing at the level of a senior technical program manager and software delivery owner for a very large software stack. 

I was fortunate to have worked for pure software product companies in that time, focused on consumer applications as well as infrastructure systems. The companies were led by people with an engineering background, CEOs/VPs/Directors with PhDs in the sciences, who had practiced as engineers before getting into leadership positions. As such, the culture of those companies were very engineering focused - leaders took the time needed to develop clear guidelines for career planning and development. The job family framework NDS created was super helpful in level setting expectations with engineers and managers alike. People had a map to reference, removing the ambiguity and suspicion that often comes with promotions. A clear job family framework, in my opinion, is a must-have for any engineering organisation because it provides people with direction to chart their career path. It is an extremely powerful mechanism especially when the company is diverse and allows a spread of career options. Having this map allowed me to experiment with different roles myself, switching between business units and trying roles out, until I figured I'd explored enough or reached my aspirations.

I'm talking about years 2003 to 2011, working with what was at the time, the world's leader in TV software and encryption systems, with offices world-wide (NDS/Cisco/Synamedia). I left that company with solid engineering management experiences and upon returning to South Africa, was well positioned to help raise the bar of engineering excellence. Surprisingly, more than ten years later, working in Amazon AWS, I marvel at NDS's high bar in the early 2000s - pretty much working now for Amazon AWS, I'm  pretty much picking up from where I left behind in NDS from an engineering excellence perspective, I'm glad I schooled with NDS.

When I led one of the largest consumer device initiatives in the history of that company, in 2011-2013 - I was quite surprised that the engineering organisation was missing a vital mechanism for its engineering workforce: The Engineering Job Family guidelines Career Ladder. As a program manager without much direct hierarchical influence, all I could do at the time was provide feedback to engineering leaders about the quality of their engineers and managers, as not meeting the high bar expected from the industry. I influenced quite a bit of change indirectly, helping overhaul the entire technology division's structure and engineering practices that was needed to get the program delivered. However, I couldn't do much about the HR guidelines when it came to job specifications. Instead, I wrote a blog post about my experiences and shared this with the HR/Tech executives in 2013.

Here's some proof of the indirect / referent influence I had as a program manager overhauling the engineering org, that if we didn't do would've cause the project to fail:

When I branched out on my own doing management consulting, I was invited by the business HR & Tech executives to talk more about the technical career ladder framework, which I picked up from NDS days. 

[P.S. I'm sharing material I created as a management consultant. If you'd like a copy of the frameworks, please reach out to me via my contact page.

Disclaimer: I write about my past work experiences to showcase to prospective employers, future clients if I decide to consult again. I'm publishing my work portfolio so that recruiters / headhunters or hiring managers have easy access to my work products, saving you time. If you like what you see, let's talk!]

I created this slide deck to talk about the concepts:

Thursday, 23 March 2023

Sense making, apples v oranges, finding a path forward from multiple options by asking searching questions

I've been writing about my experiences as technology executive when I was placed in the midst of uncertainty and high ambiguity that impacted both my personal and professional aspirations in a big way. Making the decision to leave my experiment into boutique management consulting behind, after building a solid reputation as a high-level program manager, switching to a deeply technology role into a business unit that was going through disruption due to both external and internal forces -- was not an easy, straightforward transition to make. I experienced classic imposter syndrome (see this post). Nevertheless, looking back now, more than five years on, those experiences helped shape me to becoming more well-rounded, what some would call a diverse Business, Technology and Operations (BTO) executive - or - as Amazon calls it, a Strong General Athlete (SGA).

My writing this month is on communication methods, mechanisms and tools: 
  • How should CTOs (engineering leaders / technology executives) communicate to all groups of stakeholders?
  • What tools of writing and visualisations to use?
  • How to use critical thinking and the art of reflection to deep dive on the technology strategy - calling out the good, the bad and the ugly?
  • How to dive deep to sense make by asking searching questions, that force upwards stakeholder management to engage in guiding the teams on strategy?
  • How to find a common ground and build bridges between two (perceived) competing technology organisations?

Questions & Answers Tree - Seeking Clarity from Executives

Let's recap the situation:

In 2017, I took on the role of CTO for an online video streaming technology platform. The business unit was part of a traditional satellite PayTV company, that created an online companion application to supplement its existing TV subscribers to watch TV on the go, initially through web & mobile applications ("Delta" platform) - by investing in digital media division. Not long after this value added service was created, about two years later, the parent investment company, started up a new video streaming business ("Sierra" platform borne in the cloud, no attachments to traditional PayTV like Netflix), completely independent from the existing PayTV business. The two businesses hardly interacted or shared common product, marketing or technology elements for the first two years. When I joined in 2017, there was talk about potential synergies and closer partnerships - which directed my three year turnaround strategy - to modernise Delta closing the gap on Sierra, thus creating comparable modern video consumer experience (Netflix was the bar). A year later, additional complexity and uncertainty came in when the parent investment company, decided to unbundle its independent video businesses to allow itself to focus solely on e-commerce ventures. What happened? Naturally, Sierra business was folded into Delta - create a new business with two product & engineering organisations running in parallel: 2 CPOs, 2 CTOs - tasked to figure out what the future world could look like in creating a Delta 2.0 strategy.

As part of the interactions, still being the management consultant (at the time, I was regarded as independent without any affiliations to taking any sides - since I worked with all businesses before and had existing relationships with all), I helped the executives tackle their options.

The first one - let's understand the assumptions and questions that challenge assumptions. Can executives be clear about their end game? What is the vision? Why are you so caught up about the apparent duplication in tech platforms?

Here's the tree:

Comparing Apples to Oranges: The decision table view

When two engineering teams are challenged about their platforms doing essentially the same thing, especially when the ask comes from non-technical executives, very often engineering leaders become defensive and say "Ah, you can't compare apples with oranges, you must compare apples with apples". Whilst this might be technically accurate, this is not the way to manage communications with stakeholders. Part of technology leader's job is to simplify technical and product capabilities, meeting your customer and stakeholder needs, where they're at. Even if you feel a visual oversimplifies, you still need to tell a story, like the one I used to gain approval that cemented Delta 2.0 roadmap:


Who knew that four years later, I would be digging out the same mechanisms to help AWS executives, (in my first month barely completed onboarding by the way) to decide on a technology stack that my engineering team would need to build/deploy/operate - for providing calls / chats support as their technical call centre platform, servicing one of their highly-regulated, strictly controlled, private cloud partitions? See below decision table, similar oranges to apples story:


Wednesday, 22 March 2023

How to sell a technology strategy to senior executives

I've started writing about my time as a CTO when I was responsible for turning around and transforming an online video platform to scale 10X as the business doubled down on its growth strategy by investing more heavily into marketing, acquisition and retention drives. As a result, the impact on the engineering team was very high, much higher than when the team built the first version of its platform "Delta 1.0" - and now, under new leadership, I was tasked to take this platform that was lacking in several areas and transform the stack to a future 2.0 vision. It all became more complicated and ambiguous a year later, when another business was merged and we ended up with having two video platforms, offering different product experiences, for different segments of customers.

Despite the technology ambiguity and business uncertainty, the ask from the top was for the Delta product & engineering teams to come up with a plan for a unified stack, showcasing the 2.0 experience. 

I previously shared the technical narratives to help communicate my technology plan. Alas, the docs were too lengthy and detailed for high-level business executives. I needed a way to sell my vision and at the same time secure funding to be allowed to multiple tracks of work running.

How do I show to non-technical business executives, the current state and our future desired state?
What words do I use to show we need to leap from A to B?
How do I convey a story that creates excitement?
How do I gain credibility that my planning is sound?
How do I show complex technology stack layers incl. infra to reset mental model of a "simple app"?

If you've been reading my other posts, you'll learn that I like visualisations, a lot. I also like story-telling - and even way back then, in 2017 - I was familiar with Amazon's future press release concept - and decided to use the future press release headline summaries as a way for me to communicate the release plan. Who knew, that five years later, I myself would end up working for Amazon!?

Here's the anonymised deck that shares concepts you could use, if you find yourself owning a technology platform modernisation challenge, moving your platform from V1.0 to a Nextgen 2.0 state, and sell the strategy to non-technical business executives. By the way, I put this strategy together during my first 100 days into my assignment, in the midst of many other operational responsibilities:

Tuesday, 21 March 2023

Sharing my writing example exercise from Amazon's interview process

Here is what I submitted to Amazon, as part of their interview process for an L7 Senior Engineering Manager role, in 2020. Depending on the role you're interviewing for, you will get a writing exercise - the one I chose was on Innovation - here's the ask:

Innovation
What is the most inventive or innovative thing you've done? It doesn't have to be something that's patented. It could be a process change, product idea, a new metric or customer facing interface – something that was your idea. It cannot be anything your current or previous employer would deem confidential information. Please provide us with context to understand the invention/innovation. What problem were you seeking to solve? Why was it important? What was the result? Why or how did it make a difference and change things?
Writing Guidelines
  1. Write in the style you would use to write a business whitepaper or essay and do not use bullet points, graphics, tables, charts or flow charts.
  2. Do not include any confidential or proprietary information from current/past employers.
  3. Remember as you write that the reader may not be familiar with specific technical terminology, corporate cultures, and scenarios.  Use language and descriptions in your response that enable readers to fully understand the situation.
  4. Please limit your response to 1-2 pages (no more than 8000 characters).

So since I was experimenting going back to being close to technical engineering, I decided to go deep into my past as an engineer, when I invented the Talking EPG:

More than ten years later, a talking interface finally made it to general availability:


Here's the document: Two pages in length, keeping to the written guidelines.


Monday, 20 March 2023

How I managed a technology budget ($100m) with 5+ CFOs, 3+ CEOs

In a previous post, I shared how I took on a challenging role as CTO for an online video streaming platform, with a business at the time that was going through rapid changes in leadership every year. In my 3.5 years stint, I would see my direct manager (CEO) change at least 4 times, their own ExCo board members change at least 2 times, and at least another 5 changes in CFOs and senior finance managers. Whilst these changes happened, my job was to still keep the technology platform running and my engineering team delivering on the product roadmap. 

Another spanner in the works was the ambiguity around having two engineering teams, led by two separate CTOs, building online video platforms, Delta and Sierra - a change that happened a year into my tenure after just landing the full-time CTO role (I'd stopped consulting, only to find myself in further uncertainty with a business merger and potentially more rounds of org-design changes). Delta was under my ownership, serving traditional TV customers with value-added internet services to access Live TV & Video on Demand (VOD) streaming. Sierra, was a pure internet, deep catalogue subscription video on demand service (like Netflix), built and run by a parallel engineering team, under different CTO, in another country, outside of South Africa.

So, with these many changes in executive leadership, at the top-level financial review - executives would naturally inspect why the business seems to be duplicating engineering efforts at building online video platforms, even though the two products serve a different set of customers, emerged at different timelines, using different set of technologies - but they both appear to "stream video" at the high level. So why is there duplication? Where are the costs going? How do we streamline engineering costs?

Enter the Financial Model & Technology Budget Commentary Document

The first order of business for me, being tasked with a turnaround challenge - was to review the existing cost components, identify the main cost drivers and derive a perpetual financial model based on the core business driver of growing monthly active users.

Starting in 2017, neither the technology team nor the finance managers could tell with a high level of confidence what the true costs of running the technology platform were, and ultimately what the cost of running a technology platform translated to a cost per user value, and ultimately how much from the profit margin this cost was eating into. My platform provided value-added-services for free, existing users were homed to a primary TV subscription package (satellite TV using a dish and decoder / Set Top Box (STB)) as main profile. Additional viewing profiles for online consumption through mobile phones, smart TVs, game consoles and web browsers, were offered at zero cost. Additionally, my platform served internet connected STBs with larger video catalogues for streaming on demand, this too, at zero cost to the subscriber.

Financial Model (brilliant, if I say so myself!)

So I created a detailed financial model that was able to show how to forecast a largely fixed cost investment, to operate in a variable cost domain. The largest cost components for video streaming is the infrastructure cost for the networking pipe (internet transit) and content delivery network (CDN) data costs. Since video consumes large amounts of data, these costs are covered by the streaming operator. CFOs prefer fixed cost accounting than variable costs because it helps manage their cashflows and forecasts better. In an on-demand video world, where customers come and go, or viewing behaviour varies by seasonality or during peak events, the experience is more bursty than constant. This is why video providers focus heavily on content personalisation and recommendation systems to drive stickiness and increase engagement. The more users watching video, the more data is consumed, the costs of data increases. The longer users remain on the platform, the more users are engaged and the more video data is consumed. All these point to increasing costs - but - at some point, the costs per user eventually decreases because the number of users increase, the cost per user eventually decreases. I created a financial model that showed how we could manage variable costs through a fixed cost model, by buying data wholesale upfront, using a minimum commit model with overflow-at-zero-cost into next year for unused data, and also negotiated year-on-year cost savings, since cost of data decreases year on year.

Using my financial model, I was able to show significant cost savings to the tune of R80m ($5-7m) in two years. I also, single-handedly negotiated significant costs savings with our primary transit links and CDN providers, as a result of my financial model forecasting. In year one, I negotiated a 1233% increase in CDN bandwidth and secured 71% decrease in out-of-band data costs, 50% decrease for inband per GB data costs - keeping my overall costs relatively flat to track a fixed expense. In year two, I negotiated additional cuts, reducing in-band data costs by a further 63%, out-of-band by 48%. In year three, I negotiated further deal reductions because of increased competition in both the transit-and-cdn space, landing on a further 20% reduction on inband and out-of-band costs. Over this period, I secured enough guaranteed capacity in the network that exceeded future growth targets, but kept most of the projected fixed costs inline. As a result, when I decided to leave the company, in my 3 years tenure, I drove internet costs down by 84% on a cost per user metric and 96%reduction on costs per GB per user metric.  Additionally, working with the same transit and CDN partners, I secured more than 7X improvement on overall internet throughput, reaching close to 1 terabits/sec on network capacity, which for the African continent, is not bad going indeed! In terms of storage, from 2017, I increased the data commitment by 2000% cumulatively year-on-year.

Sunday, 19 March 2023

An example of resource planning a 100 person technology team

Here's an example of how an engineering leader can go about managing headcount and resource planning to deliver on both the technology roadmap as well as business goals. For context, this is a resource plan for a 100-person size engineering organisation who had end-to-end responsibility for building and managing a live-streaming and video-on-demand online video platform "Delta". 

I was the CTO responsible for managing everything, pretty much a CIO in my own right, overseeing: 1\ Physical Infrastructure services: Datacentres, Networking, Compute, Storage; 2\ Internet backbone transit links; 3\ Cloud integrations and peering; 4\ Telecoms integrations; 5\ Software development & testing; 6\ Video broadcast & streaming infrastructure; 7\ CDN management; 8\ Personalisation & Content Recommender systems development; 9\ Agile Program Office; 10\ Technical Operations Command Centre offering 24/7/365 first/second/3rd line support; 11\ Enterprise & Solutions Architecture; 12\ Security, Anti-piracy, Risk & Governance; 13\ Platform Intelligence Dashboards & Analytics; 14\ Vendors.

Whilst I had my own technology strategy to deliver for the underlying platform to serve the scaling needs of the business, as we were aggressively targeting a growth phase - my teams had to also continue to build out product features and enhancements for all devices we supported (sometimes the apps varying by user experience depending on the device itself, e.g. Smart TV versus iOS vs Web app), we also had to deliver new business product offerings and deliver across group-wide projects and initiatives as shared goals.

With these challenges, an engineering leader must have a firm handle on the "resource" allocation. Sorry, agile folks - I myself cringe at the mere mention of "resources" - but heck, since joining Amazon, I was amazed of how natural the term "resources" is used by management. There are two camps, people who belong to "I am NOT a resource" and "I am a resource"!!

Anyway, I digress. As a leader, you have to keep an eye on your workforce. Based on on your existing headcount allocated to you, how do you best organise your people and plan around the various delivery demands placed on your team? How do you show your stakeholders where your resources are allocated? How do you motivate for additional headcount or escalate a change of priorities if you don't have the data that accompanies your story? How do you show that although you might have 100 people under your org, the capacity for doing project work is only 80 or less, because you need to account for management, team leads, shared service work and other internal projects? See below pivot summary table:

As tedious as it might be, an engineering leader has to do some "management" work - no matter how boring it might feel. This stuff is important. The finance folks need this information. The business owners need to have a view of what impact their projects have on your teams. 

A resource allocation plan can be a powerful tool - my advice - use it often, maintain it and let it become a key mechanism for you to have productive, collaborative conversations with your stakeholders.

Yes, I maintained my own list, accounting for each person in the org. 
No, I don't always support the notion that people are fungible resources, can be chopped and changed or "allocated" using numbers on a spreadsheet. I also don't believe the fractional numbers help either, but they are meant to be rough allocations to help with accounting - which I'm afraid is unavoidable - part of any software managers job really.

Below picture shows what goes into headcount planning / forecasting for the year, trying to keep the headcount to 100 people due to the hiring freeze. Just imagine, a 100-person size team responsible for building the full infrastructure and consumer applications for a streaming video platform that served the whole African continent (50+ countries)! Amazon has the Frugality leadership principle - we were frugal on people but wise on partnerships, using another of Amazon's LP - Invent & Simplify.



As an experienced engineering leader, my advice to software managers: If you're not maintaining a resource allocation plan, you're missing a vital tool of software management. Be careful!!

Saturday, 18 March 2023

Visualising a technology roadmap and year plan on just one page

Here's something that other engineering leaders might find useful: Showing all the work under one's ownership, a technology roadmap on a single page that nicely prints to A3 paper.

In this example, I capture everything that was important to me as the leader responsible for what was at the time, one of Africa's largest online video streaming platform (Live TV + VOD). I was responsible for the full platform end-to-end:
  • Physical Platform Infrastructure and Networking - Data Centres (Compute, Storage, Networking)
  • Cloud Services commercials & workloads
  • Software Engineering  - multi-platform, multi-device software development & testing
  • Enterprise & Solution Architects
  • Video Streaming Hardware & Software infrastructure integration & management
  • Recommendations & Content Discovery Engines - AI/ML scientists and engineering
  • Agile Program Management Office - Agile Specialists
  • Technical Operations & Integrations - Command Center & Mission Control 24/7/365 support
  • Security, Anti-piracy, Risk & Governance streams
How do I show on one page, the focus areas for the above teams in terms of our year plan, showcasing:
  • The themes that categorise the work so non-technical customers & stakeholders can understand
  • The cadence of releases for product feature delivery for product & marketing teams
  • The key KPIs our work drives - growth targets for monthly active users
  • The key events happening during the year that would put a strain on the platform load/stability
  • Show what the tech team will be producing month-on-month
  • The owners and points-of-contact for each work stream
So if you're a CTO or Head of Engineering responsible for an overarching technical platform, and you're not visualising your work in your own roadmap view, then IMHO, you're missing a trick. I used Excel to craft my roadmap because I was being scrappy - but it is possible to create such views if you invest in a solid product/program planning tool.

Click to enlarge: An example of a technology leader's roadmap / year plan

Friday, 17 March 2023

An example of a CTO's operating year's business plan

I'm continuing my series of posts sharing my work portfolio from my past as a technology executive (CTO) when I was directly responsible for a large engineering team (150+ people excluding partners). I approached this role as the next big challenge in my career aspirations. I gave myself a timebox of 3 years, after that, I'd intended venturing on to something else outside of the video world. I'm grateful for the experience as I left with learning all types of executive-management skills for managing business and technology operations. I also accomplished praiseworthy results in what would seem a short amount of time, in just 3 years. This shows how much intensity and density can be packed into a 3 year work experience. I know I would probably not see that much excitement and high-stakes challenges again for some time, even as I write this post in 2023, five years later, whilst working with Amazon's AWS...

Every CTO/Engineering Leader must write an Operating Plan

If you're a technology executive and you're not owning your very own technology operations business plan, in writing and not through high-level powerpoint slide decks, then you're missing a trick and you're missing out on a powerful asset and artefact, that IMHO, is essential for navigating your technology journey. Even before my time with Amazon, I used to write a lot, despite my employer not being a writing-documents oriented company, especially at executive leadership level. Personally, I needed a way to make sense of things, apply critical thinking and process my thoughts into a credible strategy for executing. I also needed to take my senior managers on my journey, lead by setting an example of thought-leadership through writing (because writing documents was unfamiliar to some managers). I also wanted to reach the software engineers on the floor, doing the day-to-day work, help them see the big picture and grasp how the work they do matters to the end goal. 

Another benefit of sharing your technology strategy in written form is to promote alignment and information sharing across many groups of stakeholders - customers, internal partners and external third-party primary partners. As a CTO for a specific business segment (online video), I had my own company's leaders as my primary stakeholders (CEOs, fellow C-Suite top team peers like Customer Acquisition, Retention, Marketing, Sales, Ops, Product, etc.), I also had to support other business' shared goals. In addition, I was part of a wider group structure of the parent group company, inheriting goals from the Group-CTO, Group-CIO, Group-CDO and Group-CISO domains. So the ever familiar problem of having multiple demands placed on a technology organisation. 

As a leader then, you need a mechanism for alignment on your execution plan for the year - this is usually an organisation's yearly operating plan. The aim is to show how you, as the engineering leader are accounting for all the priority goals you're taking on from your various customers and show how the work you plan to deliver, relates to achieving those goals and objectives. Additionally, the specific technology initiatives that you are taking accountability for yourself (like tech platform modernisation, addressing technical debt, etc.) remain nevertheless important for your org to deliver results and meet stakeholder expectations.

Below is one version of a year plan that I authored and used as a constant reminder for checking in and reflections on progress. Let me know if it helped you :-)

[Disclaimer: I write about my past work experiences, this post dating back to 2017-2020 referring to entities that no long exist today (in 2023). Previous mentions of such entities are widely in the public domain through news media outlets, press briefings, launch announcements, etc. I take time to ensure that nothing I share exposes commercially sensitive material. My intent is to share my learnings and experiences to teach and mentor people on a similar path to me; with the side benefit of showcasing my professional work portfolio to current and future prospective employers & head hunters, through my writing].

Thursday, 16 March 2023

How I led the turnaround of a tech platform from 1X to ±9X in just 3 years

In a previous post, I shared how I ended up transitioning from a program manager to being the leader of a large engineering organisation as CTO. I then followed up another post sharing my context in this leadership position that was beset with highly volatile, uncertain, complex and unambiguous challenges - the world of online video streaming. A dynamic, tough, competitive space, especially as Africa was only then waking up to the streaming video wars that started in 2015.

[Disclaimer: I write about my past work experiences, this post dating back to 2017-2020 referring to entities that no long exist today (in 2023). Previous mentions of such entities are widely in the public domain through news media outlets, press briefings, launch announcements, etc. I take time to ensure that nothing I share exposes commercially sensitive material. My intent is to share my learnings and experiences to teach and mentor people on a similar path to me; with the side benefit of showcasing my professional work portfolio to current and future prospective employers & head hunters, through my writing].

In my 3.5 years as CTO, I would see the business change executive leadership multiple times - I think by 2020, we'd been through at least six changes in executive leadership (CEO/Exco-heads). This meant that almost every year, I had a new boss, who's strategy shifted to suit their new vision as they aimed to leave their mark on the business goals of an an aggressive growth strategy.

From a CTO perspective, I had to navigate different expectations of these new leaders, who didn't grasp the nature of technology and engineering challenges. Quite often, my team would be compared with the big players like Netflix, Amazon, Hulu - citing the incredible numbers of concurrent users (millions), comparing against our fledgling platform built in Africa, by Africans, for Africans - a platform that emerged not natively online, but an extension of the existing PayTV broadcast ecosystem. Despite whatever truths be valid or not from the engineering perspective, my job as CTO was to manage expectations upwards as best as I could whilst working with my engineering team on the necessary upgrades to scale the platform accordingly.

Once an app is live and already being used daily, with a steady increase in monthly active users - despite technical debt and platform instability - customers expect to receive feature updates and when it comes to consuming video, a stable viewing experience. Add an aggressive marketing and acquisition strategy, my technology team didn't have the luxury to pause, stop and fix things. Business goes and and IT tech folks just have to get on and deliver, smartly.

One of the first things I did with my team, in addition to resetting their mental model - was to create a simple graph of our state - not so dissimilar to Amazon's infamous flywheel. Based on the business growth strategy, the key drivers impacting my technology team pivoted around two fundamental missions: 1\ Increase the number of active users (growth) and 2\ Increase Engagement. So I created this map, as our North Star - that would remain, un-erased on the whiteboard for 3 years since creating. This picture would become my constant reference during my management meetings (reminding my directs and technical leads why we exist, what areas are important) as well as my all-hands updates:

Technology Strategy Map - North Star / Key Focus Areas

A video streaming business is about reaching as many customers as possible, providing engaging content that captivates their users to return and consume more and more content, staying longer on the app, remaining more engaged. The app user experience needs to be seamless, easy, intuitive and on-par with other well known players (ala Netflix). The tech platform then becomes core in providing the experience. What the picture highlights are the key pillars, which became the driving force for our improvement goals. I focused our attention to execute on these and only these: 1\ Product development (software delivery of app features across as many devices and platforms as possible); 2\ Streaming & Networking infrastructure - CDN & cost optimisation; 2\ Platform Scaling challenges (big area of technical debt - transition to AWS cloud); 3\ Platform Intelligence (don't fly blind); 4\ Content Discovery (AI/ML recommenders); 5\ Telco partnerships (we didn't own the full network). Controlling all of this, was technical operations excellence, something I called "Mission Control" - active, preventative and proactive monitoring of the live platform (technical alerting and social media monitoring).

A large part of this challenge was managing cost. Based on the business growth targets, the cost to serve the technology platform per customer had to remain low. In parallel with me turning around not only a distressed platform whilst keeping the integrity of the engineering teams together (because of layoffs and re-org), I had to work on delivering cost-savings whilst armed with my own sizeable budget. We could no longer be operating on a shoestring budget anymore, and at the same time, we couldn't afford to be wasteful - frugality was still top-of-mind. My budget over my tenure would amount to R1.5 billion (±100 million USD) covering people, capital expenditure, and operations expenditure (video streaming businesses is a costly game), aligned to a Buy / Partner strategy instead of Build-your-Own.

As a result of this strategy, my team were able to execute year-on-year, exceeding expectations and turning around what was once a platform on the brink of extinction, rebooting and refreshing in 2017 to deliver a nett ±9X improvement on active users and availability of the platform:

Platform growth over 3 years under my leadership


As a result of this experience, I wrote a white paper that dived quite deep into the technical challenges a CTO in the online video streaming business must not overlook - check it out here.

My engagement as a CTO was timeboxed from the start - I wasn't expecting to work longer than 3 years as I'd set myself the challenge of learning and setting up a leadership succession plan that would continue to lead the team and deliver on the technology transformation strategy I created. At the end of that experience in 2020, just around Covid times, it was clear I needed to reset myself, and after 20+ years career in video technology, I sought a change...and decided to leave the TV world behind.

Looking back, more than two years later, I somewhat miss the thrill of high-stakes leadership, and the intensity of the experience. More so, leading a large group of people (150+), rallying them to raise the bar and turnaround their tech platform (that I had no prior experience in building, nor was I familiar with the code) and also themselves, in trusting me to lead them - and get past their stigma of not trusting a business program manager... 

My next posts will dive deeper into some of the streams on how we got to 9X, covering some hits and also some big misses too!!