Thursday, May 4, 2023

They Took our Jerbs

I had an interesting conversation over a few beers with a fellow Product Manager recently at a ProductCampATL/ProductCoffee event. To set the stage, I had already informed those present that I was currently looking for employment (and several others at the table were in the same boat). We got around what each was looking for in a new job and I asked the person sitting across from me about what he did (he was still employed). His reply was "Oh I've been teaching AI how to replace me as a Product Manager." - seems he's been setting up routine parameters for the writing of user stories at his current job and it was his opinion that he was becoming obsolete. We discussed this for a bit - while I had played around with AI like ChatGPT, I was under the misconception that it was closer to earlier ML constructs - he informed me that the Large Language Model (LLM) had come so far that it was pretty amazing and far superior to what I had sampled in the past.

This got me thinking about what he said so I did a bit of  testing/research. The result is a natural progression (I'm using ChatGPT as an example but it can be any similar like GoogleBard):

  1. You ask ChatGPT to define a list of User Stories - asking progressive questions and defining routines until the data sources, parameters, etc fit what you're looking for. ChatGPT produces those stories. Note that you can build up your routines through interaction and get a refined result set.
  2. You then ask ChatGPT to take those stories and write the code to produce the desired results - tell it the code base and it searched public git repos to program.
  3. You then ask ChatGPT to look for exploits in the code, which are applied to the revised code
  4. The code is put into a test environment for you to view and use.
  5. You can then produce any revised graphics for your program with parameters for style, voice, ease-of-use, etc using ChatGPT or another AI image generator.
  6. Once you like the results and you've made tweaks, you've launched something new, with relatively little human interaction.

So basically, you've not only replaced the Product Owner, but also UI, Engineering, Quality Control, potentially PIN testing and at some point, probably the entire DevOps process (I left that out as I'm not sure if that's currently covered). This scenario may seem far fetched, but consider that we're only in nascent times when it comes to Large Language Model AIs - this is only the beginning.

So does that mean we're all out of a job and what can we do? That's the $1M question.

Putting aside all the other tech and ops roles, the first thing that came to mind, is that we as Product Managers have a rather complex role of in-between-ness - We help to corral the needs of various stakeholders and help to prioritize how they are injected into the development process. This starts at the portfolio initiative level with strategic planning and cascades down towards tactical execution, which has it's own segmentation: negotiating with stakeholders what gets built, when and in what order. During this process there's fulfilling the needs of sales and marketing to understand what's being delivered and to help define stakeholder benefit. Now one can argue that an AI can replace the prioritization, negotiation and launch tasks and I believe that's true for something really small scale (like if you're a team of 5 in a startup wow), but in any really complex environment there are lots of humans that would need to be convinced of AI's infallibility. Also, while it would seem that AI would be better at complexity, I think at least initially the more complex the construct, the harder AI will have to determine a best course of action (this will change over time, especially with the use of multiple, more specialized AI).

The next thing I thought about is Evolution. 

As scenarios are built in AI, doesn't the AI learn what's being asked? Doesn't that mean that any IP you own is shared as examples with everyone else that's also using the same AI? First, does it matter and second, what are the consequences?

To answer this I asked ChatGPT a a few pretty basic questions: 

I. "How can the information generated by AI like ChatGPT negatively influence future queries?"

While AI-generated information like ChatGPT can have many benefits, there are also potential negative impacts on future queries. Here are a few examples:

  1. Biases: AI systems are only as good as the data they are trained on, and if the training data is biased or incomplete, the resulting answers may also be biased or incomplete. This can lead to inaccurate or incomplete information being presented to users, which can have negative consequences.

  2. Misinformation: Like any source of information, AI-generated information can be subject to misinformation and fake news. If an AI system is trained on incorrect or misleading data, it may generate answers that perpetuate that misinformation.

  3. Lack of context: AI-generated information may lack the context that humans are able to provide. This can lead to misunderstandings or misinterpretations of the information being presented.

  4. Over-reliance on AI: If users become too reliant on AI-generated information, they may be less likely to critically evaluate the information they are presented with. This can lead to a lack of critical thinking skills and an inability to make informed decisions based on the information at hand.

  5. Dependence on technology: If AI systems become the primary source of information for users, there is a risk that users may become overly dependent on technology and lose the ability to think for themselves or access information from other sources.

II.  Can the information generated by AI like ChatGPT negatively influence any IP holders of information due to the sharing and learning aspects?

The information generated by AI like ChatGPT can potentially negatively influence IP holders of information if the AI system is trained on copyrighted or proprietary information without permission from the IP holders. This can lead to the unauthorized use and dissemination of protected information, which can result in legal action against the AI system and its creators.

In addition, the learning and sharing aspects of AI systems can also pose a risk to IP holders. If an AI system is trained on a large dataset that includes copyrighted or proprietary information, there is a risk that the system will learn and replicate that information without permission. This can lead to the unauthorized use and dissemination of protected information, which can have negative consequences for the IP holder.

To address these issues, it is important for AI developers and users to be aware of copyright and IP laws, and to obtain proper permissions before using or training an AI system on protected information. This can help to ensure that the rights of IP holders are respected, while also allowing for the development and use of innovative AI technologies.

So at this point it sounds like there's some risk to completely using AI for the creation of working software, but why would you think otherwise? After all, we're only in the very beginning to this technology. So what does this all mean and how will it impact us, as Product Managers when it comes to our career?

So now, my opinions (in somewhat logical order):

  1. So I've played around a bit with ChatGPT and while much of the response is good, it seems I sometimes get some crazy answers? This is one of the downsides of using an LLM AI - for it to work with any degree of real success the data pool has to be extremely large - there's also a lot of costs involved in maintaining what's needed to support all the computational infrastructure. That means that small companies wanting to develop their own AI have a huge cliff to climb as a barrier to entry. Fortunately most of the current projects are funded by large corporate entities and/or public funding, with deep pockets - what we're left with is a somewhat "black box" input query that you can use to type in routine questions in parameters, mostly for free. Sounds cool right? Most of these same LLM AIs are pulling from the same publicly available web data stores - that means that while much of the data is good, there's also a lot of crap there that can influence what is produced as an answer.
  2. Can AI replace all the people involved in software delivery? The answer is yes. It may not be perfect right now but give it a few iterations and it can completely replace all of us. Of course the 80/20 rule applies - in this case it has more to do with complexity and especially business complexity (few businesses can very simply define all the nuances involved in running system applications and when they do, there's often human decision making involved that may be difficult to replace with an AI). For very simple problem products, anyone with some technical experience can produce working software using AI. Heck, even someone without the experience, provided they us AI effectively, can simple ask AI to come up with the best method and apply it as an execution roadmap (I think success would be dependent on the individual(s) critical thinking skills). Where the 80/20 rule comes in comes back to complexity. Few problems are very simple and the order of complexity can cause clashes within what it created by AI - those conflicts are much harder to resolve as they often need a lot of human input (of course this could change - in the future we may use AI as the arbiter of any conflicts and this may become part of the process - but for now the scenario stands).
  3. I don't understand AI at all - it seems like a toy? Sounds like you haven't been paying attention - that's okay - we're all busy folk trying to do our jobs. You may not see the outcome of AI revolution until you need to look for your next job. If you haven't yet, go to chat.OpenAi.com and create a free account for ChatGPT. Throw in some prompts and see what happens. While it may seem a bit silly now, the next time you're tasked to come up with some basic software design input the parameters and see what comes out. Continue to refine your questioning until rhe responses are reasonable. I think you'll be amazed. There's a productivity benefit that's immediate that will translate into faster, cheaper and better releases. You need to be on the wagon if not driving it.
  4. Should you fear AI, especially when it comes to your job? Well, we all handling things differently and "fear" is an rather subjective term. At minimum you should be prepared and using AI to increase your productivity and really, how competitive will you be when stacked up against someone who's has been using AI competently since the beginning? You need to be incorporating AI into your regular processes so you are familiar with its uses - it should become second nature. This is part of your growth requirements as a Product Manager or any other person involved in software production and delivery. Those tech people without these skills will be passed over more-and-more as time goes by. Those that are really good at using AI will excel.
  5. So who will be impacted the most? Well, as the use of technology has expanded, there's been a trend in business for middle-management to shrink due to the need for technical people. Basically, the more technical you are, but better you fit into today's technology-driven business world. You'll see the elimination of middle-management roles as an end-game the longer you're involved. Of course there are always exceptions - there will come a point where middle-managers who are good at using AI will no longer need to be techie - but we aren't there yet. Oh, and to be clear, I consider Product Management to be square in middle management.

Next Steps

Okay, so we know that Skynet is coming and that my current Product Manager role is at risk. What can I do to remain relevant? 

I've talked about steps to stay abreast of AI but now let's get into why and how you become valuable to a company. Putting aside your current role as a Product Manager as it's currently defined, you'll need to make changes in your thinking and skill-set stay in a reformatted Product Management job - what I'm getting at is that the role will change and you need to change with it. Those changes are still a bit up-in-the-air but, I can think of a few things you should do to prepare:

  1. Figure out a list of the most useful AI that can be used RIGHT NOW to make your life as a Product Manager better - you'll need to understand what's out there and how it's currently being used - assume that those competing for your role are already using them.
  2. Stay abreast of what others are using. This may sound easy but we tend to live in an echo chamber when it comes to product management and tech in general. If you're working with React/Python teams, are you keeping up with other tech stacks or are you focused just on those that apply to your job? You need to understand not only what's being used but how it's being used.
  3. Adjust your thinking to become use your critical thinking capabilities more than usual. I think that most successful Product Managers excel in critical thinking, but at the same time we tend to coast on the systems and processes that we've built to take care of our engineering team and to handle stakeholder demands. It's extremely important to break out of this complacency and start questioning the steps in your process with the idea of using AI utilities. For example, have you looked at Google Sheets in conjunction with a ChatGPT-powered extension?
  4. Explore bias and how you can better form your routines to eliminate as much as possible by specifying your source datasets. Right now everything is wide-open as the data pool is very large - find ways of refining your datasets so they have less bias, rather than having a bunch of bad data influence your results.
  5. Be as specific as you can about context. Really context is everything and your ability to understand and define the context will be critical in producing good results. If you haven't been thinking about this, go through the exercise of writing a book or novel and develop a "setting" for what you're trying to do. I usually start by using a stream-of-consciousness model to produce a list, reorganize my list into some type of logical order the write as a narrative.
  6. Ensure that you are allowing for copyright and patent laws in your queries and routines. I typically do this in iterative passes as a check, then make adjustments. You don't want to run into an established business patent if you can help it. If it's critical to what you're doing then being forewarned is better than finding out through a lawsuit.
 
I think that wraps up my current thinking on this but stay tuned. As the nature of AI continues to evolve much of what I've written above is subject to change, as are my opinions.
 
-- John Eaton

Friday, April 28, 2023

What's Important to a Career Product Manager

My apologies for not posting more often, I realized recently that it's been a few years. It seems like I never have the time to develop my various ideas to a blog article - it's a bit of a Catch 22 - when we're very busy we think of a lot of things that would make great topics of conversation or ideal blog posts, but because we're busy, we never have time to form up those ideas and get them "on paper" so to speak.

I'm currently between jobs so I've had some time to reflect. I thought initially about relating my most recent experiences in role-seeking - however it seems like there's so many of my colleagues also looking that I didn't want to compound any anxiety they may be experiencing. It did get me thinking about Product Management as a career path and, as part of the job search, really thinking about what's important to me at this point in my life. This was a result of some soul searching about what I'm really looking for in a senior product role.

I think that most of us, and for me at least, can segment a Product Management career into three general phases:

  1. Learning Product Management as a Craft
  2. Excelling to Maximize Salary
  3. Relevancy as a goal

Let's break this down a bit so you can understand where I'm coming from.  

1. Learning Product Management as a Craft

I've been doing Product Management in some form as a professional for more than 20 years. When I first committed to this path, the term Product Management for most established companies had a fairly distinct definition - this was to garner information from stakeholders and write things up in a product specification, which would then be turned over to designers and engineers, expanded upon and executed. Everyone was pretty much doing this in a traditional waterfall pattern where the specifications were written for the next initiative concurrent in staggered timelines with the actual execution steps. Eventually I think most software-producing industries took the principles of Lean manufacturing and applied them into agile frameworks such as scrum or kanban, but much of the basic role of a product manager could still be defined as a "needs interpreter" that acts as a translator between the front-of-the-house stakeholders and engineering.

I backed into product management somewhat accidentally - I had taught myself how to code ASP back in the 90's and began producing websites under Web 2.0, mostly as a side-gig (I had been a graphic designer and illustrator which let to actively marketing a comic book concept online for Bob Burden's Mystery Men, coinciding with the movie premier). I had met many people, now friends, through online user groups especially for collectibles (if you can't tell, I'm a proud geek), and it was one contact that developed into a friendship that has lasted to this day. In any case, my friend was working for an online auction site that competed with eBay (which had only been in existence for a couple of years at that point) and he pitched an idea to me - the problem he saw in the field was that companies with goods to sell had a hard time committing to online auctions because of the difficulty in getting product information into the auctions (there's still a somewhat complex form that has to be filled out every time an auction is created). This spawned the idea of Auctionworks, that eventually became the ecommerce provider Marketworks. He asked me to come in as I was pretty much the only person he knew that had web experience AND knew auctions like eBay - that's how I ended up being a co-founder.

Understand that at that point I had no idea what a Product Manager did, or even that it might be the role for me. Rather, as a co-founder I found myself doing any number of tasks just to get the company going (and once started, maintaining/improving). One of those tasks was to look across the interwebs and determine if there ere any other companies trying to do what we wanted to do - there were a couple of websites that provided copy-paste templates that could be used for auctions, but they were very nascent - what interested me more were sites that allowed for the inventory management of goods. We stumbled upon one site in particular that did an interesting job of aggregating live auction data across multiple platforms (so if you had auctions in eBay, Overstock, uBid and Yahoo, you could view our auctions from one consolidated portal) - we met with the IP holder and talked him into being the CTO of our new company and that's how we were able to rebrand his IP and get to market quickly. What followed were adjustments to this idea that grew into the Marketworks platform.

Once the company started to grow it became really successful and we were able to make an important hire of a VP of Product Management that had a lot of experience. He's the one that suggested that I might like being a Product Manager - providing many materials to me and formalizing what I was doing with our development teams - this made the process much better and more consistent and really kicked off my career.

As years have gone by I've done gigs for start-ups, fortune 100 companies and everything in between. I've learned a few things.

  1. You can be relatively successful based on crummy technology if you have a great marketing and sales approach. Of course you may have little or no growth, but for some achieving some baseline that pays the bills is enough. This premise has it's pitfalls but you'd be surprised at how many companies out there are running on some pretty crappy tech and still manages to pay its bills.
  2. The underlying tech has little to do with initial success, as long as it does something that's needed and it gets on the market fairly quickly. I've become very software agnostic - I don't care if it's php, .Net, Python, Java or anything else, as long as it can be built relatively quickly in small iterative steps, can be built with little effort bug free, and is easy to maintain.
  3. People are more important than technology. You can have a few very competent, easy going people and produce a lot if they get along and have the ability to ask questions, listen and contribute towards accomplishing goals. Conversely, if the people involved are self-centered they're usually quite dysfunctional and you accomplish little.
  4. The underlying tech CAN have a lot to do with ongoing success. There are always trade-offs to any approach, both in the software used or developed; and in the hardware/cloud infrastructure. I've seen time and again, companies trying to limp along a business using tired old tech. Often it's much better to transition to a new tech platform rather than try to Band-Aid an existing (if you're fixing your software more than you're developing new software, you're probably experiencing this right now).
  5. Learn as much as you can as fast as you can as a Product Manager - you need to be domain expert, psychoanalyst, evangelist and oracle (no, not the software giant).

In any case, the first third or so of your career will be spent learning the craft. If you're lucky you'll get some training through Pragmatic Marketing or similar early in the process - this will help you a lot early on, but don't discount those courses later - I've found myself reinvigorated when taking additional courses, whether I thought to know the subject material or not.

2. Excelling to Maximize Salary

At some point in your Product Management career you'll begin to either start realizing some decent roles with elevated pay, or wonder why you haven't and what you should do about it. I think most PdMs (Product Managers) fall into one of two categories - they either are 1.) very impatient about money, which tends to direct them into more managerial roles quickly, often making lateral moves outside of Product (it's difficult to get into senior product roles without the actual experience) OR 2.) they are more patient, preferring to truly sample what can be done with Product, savoring each experience for the fulfillment of producing something new. I tend to fall into that second category (and don't get me wrong, you can sort of do both to a certain extent). For me, I have a desire to become really good tactically as a Product Owner working directly with teams. I then worked with a team of product owners as their senior as a cohesive unit to deliver multiple components within the same product. Finally working more across initiatives that bridge across multiple products and components to deliver specific strategic product outcomes. Each of these are growth steps and helps to make you both competent and confident in your abilities.

I've seen many ups and downs trying to get to the point where I'm "comfortable" in my salary. You've probably heard of the Peter Principle:

The Peter principle is a concept in management developed by Laurence J. Peter, which observes that people in a hierarchy tend to rise to "a level of respective incompetence": employees are promoted based on their success in previous jobs until they reach a level at which they are no longer competent, as skills in one job do not necessarily translate to another.

Another way of describing it is that you'll always get promoted to your highest level of incompetence. Your ability to learn quickly, or your ability to BS everyone around you (which can have consequences), or the amount of time your colleagues allow you to learn your role, will determine whether you succeed when you hit that level. Years ago, I was hired by a printer to be a graphic designer, purely on my portfolio which was made up of traditional illustration (like airbrush on board). I lasted 3 weeks when it was obvious I didn't have the experience to  support my role. For my next job, I used the same portfolio and the short stint I did at my previous job for a similar position at another company. Fortunately, I was provided enough time to learn my role which was fairly technical, and eventually excelled - I was promoted to Art Director (department head in this case) but my boss admitted that when he first hired me, he almost fired me a few weeks in because I didn't have the experience to do the job. I was able to leverage some of my traditional illustration skills to get jobs out and fill in gaps in my technical know-how and that's ultimately what saved me.

So to me there's this tricky balance between being overly competent at your current job, enough to be promoted, but basically an initial failure at your newly promoted role, hopefully with enough support from your associates to learn and become competent. Of course there's a way to excel - that's by going over-and-above in your current role, learning as much as you can so you're more ready for the promotion. In the military that's called training - you do repetitive tasks until they can be accomplished with little thought - it becomes automatic. This, above all other reasons, is why you need to be inquisitive and get involved in things outside the workplace. What was the last product group meeting (like ProductCamp or a MeetUp) you attended locally? Did you explore the goings-on in the local REACTjs, Data Science or Engineering groups? If you did attend, where you there just for the free pizza or did you ask questions, take notes and really explore what was going on? You'll find yourself learning by osmosis, and even better, you'll pick up nuances from those groups that you might never encounter at your own company.

At some point you'll either be stymied because there isn't any level you can be promoted to, or become complacent. When this happens you're ready either to jump ship or to think about the third phase.

3. Relevancy as a Goal

To be clear, this phase will happen to everyone - it's the point in your career where the money (and power if you're more that type) isn't the primary driver. Instead you want to proceed in a direction that has impact. Sometimes this is fairly selfish, for instance, to do something so your name is remembered in infamy or for personal goals besides wealth. For me, it's about doing something both relevant and that significantly improves the lives of others. To bring this back to the start of my post (regarding soul searching and determining what is REALLY important), it's become the driver for my transition into Health Tech. Most of the roles I've had in the past were all about making money/profits - often my role was tied in some way to the P&L through OKRs, bonuses, etc. Because of this my career growth was often bound to improving some entity's bottom line. Of course I've also been learning and doing interesting work so there's a two-way-street in benefit to both me and my employer. And don't get me wrong, I'm not condemning the for-profit practice, I'm just saying that I think there's more out there to be considered.

The ideal situation for me is to do something 1.) interesting so I'm learning, 2.) something that increases the value of a company or entity, and 3.) improves the lives of others. Recently I've both worked in Health Tech AND experienced an injury that involved surgery - really the first major health issue I've ever personally experienced. I knew the healthcare system in the US was bad, but really had no idea how bad. So my current job search is to find a role where I can do everything in the first sentence of this paragraph, applied to Healthcare as a goal. 

In my last role, one of the primary drivers for me ended up being the results of the efficacy data - we supplied therapeutic treatments for chronic pain, and based on the observations of our providers AND the questionnaires completed by patients, we could prove that the therapies not only significantly reduced chronic pain in our patients, but also allowed them to be weaned off of pain medications like opiates - that empirical data, plus the testimonies and interviews of our patients and network of providers, really went a long way to making me feel good about the job I was doing and the services I spent a lot of time developing. There are many problems in healthcare in the US, but at least I wasn't contributing to them. This is relevant and impacts lives.

I'm not suggesting that Health Tech is for everyone, there are many other verticals where you could find something similar, relevancy in improving lives; for instance in building trades to make housing more affordable, in providing services that reduce hunger in children, producing software that produces a reduction in homelessness and poverty, the list goes on. Find something that makes you feel good about the work you're doing, help to build a good functioning team and you'll find great career satisfaction.

Last point, "A journey of a thousand miles begins with a single step" is a common saying that originated from a Chinese proverb. The quotation is from Chapter 64 of the Dao De Jing ascribed to Laozi. That's to say that even if you're still in the first or second career phase, it's never too early to start thinking about what you can do to nudge your career towards relevancy. In fact, the earlier you make it a goal, the more informed you'll be in prioritizing it and making it achievable. Here's to hoping everyone can do something relevant and significant that improves people's lives, this is something we can and should do.

-- John Eaton 2023.04.28