It’s for the Future of Computing

So I just took on a really cool project: I’ll be presenting to a group of high school students from all around Southern California on careers in computing! A friend of mine is on the board of the organization that organizes this event and he asked me to participate. The event is on March 1st, so that should leave me a good amount of time to prepare.

I can’t begin to explain how excited I am about this project. I’ve been so fortunate to have had a pretty successful career in computing so far and I’m happy to connect with students again. I was actually a TA back at UC Irvine, so it would be great to be back in that atmosphere.

I think the biggest reason why I’m so excited for this project is because I’ve been so excited about computing and how pervasive it is today. Computing touches so many different aspects of our lives, it’s hard not to get excited! It’s mind-boggling to think about the things that we have today that we didn’t have 5 years ago. Imagine where we’ll be 5 years from now…

I’d like to try a little experiment: I think it would be great to crowdsource the creative process for developing this presentation. Because the topic is so broad and so deep, I want to make sure I present the material in a way that fulfills what I think the job this presentation is hired to do — to motivate students to discover their true potential with the help of computing.

As I go through the process of brainstorming, outlining and creating the story, I will share the process here on my blog and on various social networks. If you’re interested in contributing your thoughts and ideas, I would love to hear them!

The Over-Service Blind Spot

In one of Horace Dediu’s old podcasts, he discusses with James Allworth, among other topics, the importance of measuring when a product has reached “good enough,” based on the current basis of competition. For a company, recognizing when you’ve reached this point is important, as incremental improvements to the product once you’ve hit this point is over-service, exposing it to low-end disruption.

Horace cites that not only has Apple been a serial disruptor, it has also shown evidence of being able to self-disrupt. He also states that over the last several years, he has struggled with trying to measure this point of good enough for the iPhone — there doesn’t seem to be any good public data points that suggests this. He goes on to explain that Apple however has a good built-in mechanism to detect whether they have reached this point with the iPhone: by concurrently selling the current version alongside the previous version of the product. The idea is that if Apple sees that consumers continue to opt for the previous version while the latest version is in the market, this would serve as a signal to them suggesting that they’ve hit good enough.

This was interesting to me and I started thinking: Do other companies actively do this? How does this overlay with software companies?

My mind then quickly jumped to Software as a Service (SaaS) companies: Does the practice of automatically delivering the latest versions of software deprive them of the valuable of data of knowing when they’ve hit good enough? Is the model itself more susceptible to disruption because of this blind spot?

Continue reading “The Over-Service Blind Spot”

Simple Math: Social Engagement

Twitter Follow < Retweet < Mention < Email Subscribe < Email Click-through < Text Message < Phone Call < Video Chat < In-person Chat < Recommends You to Others < Recommends You to Friends < Recommends You to Loved Ones < Sends You a Card for the Holidays < Sends You a Card on Your Birthday

Not exhaustive, but you get the point: Move to the right as much as possible

What Do We Hire Our Jobs to Do?

This might sound a bit backwards, but when you think about it, our employers not only hire us to do a job for them, we hire our employers and our jobs to do a job for us. What do we hire our jobs to do? Why does it matter? By understanding the true nature of what we hire our jobs to do, we can understand the causal relationship between our jobs, job satisfaction and in the end, personal fulfillment.

Continue reading “What Do We Hire Our Jobs to Do?”

Bringing Meaning Back to Innovation

If Time magazine were to do a spread on the 100 most overused words in 2012, I think the word “innovation” would at least break the top 5. It’s unfortunate because innovation is such a beautiful word.

It’s very melodic—its four syllables moving up, then down, then up, and down again. Visually, it’s very well balanced—its collection of letters creating a low center of gravity while the i’s and t poke up to pique some attention. It has 5 vowels and 5 consonants, with the repeating i’s, n’s and o’s spread apart nicely. And in the middle of it all are the letters o-v-a, which have the connotation of birth and fruitfulness.

Regardless of its overuse, innovation means something to all of us, in a business and personal sense. Innovation is rebirth—rebirth of an idea, a product or how we treat our customers. Innovation is the motor that brings freshness into our ever-changing world. Innovation is both a destroyer and creator—it burns down the stodgy and ineffective and from its ashes creates new and beautiful ways to add value.

If you’re reading this post, you, like me, are likely someone that cares about innovation in your personal and business life. You see things in your life that needs to be changed—not just for the sake of changing, but because changing those things will bring value into your life and into the lives of the people around you. That’s why technology is so exciting today—technology is a tremendous change agent and with recent developments in cloud, mobile and social computing, it is accessible to the masses.

So, how can we be innovative?

First, we have to realize that it is our personal responsibility to be innovative. No one has to give us permission. Innovation does not need to be in our job description for us to take responsibility to change what is no longer working. If we don’t innovate in our personal or business life (and let’s face it, it’s the same life), we run the risk of being ineffective—or worse, we stop having fun.

Second, we have to become students again. Life is a never-ending opportunity to learn and we need to look at the world through inquisitive eyes—understanding instead of judging; analyzing instead of assuming; listening instead of being closed-minded. Only through the process of learning will we be able to internalize the reasons for change and how to make those changes.

Third, we must not be afraid to try something new. One of the most destructive thought patterns is, “we’ve always done it this way, so why change it?” Change can sometimes be difficult, especially when we’re taken outside of our comfort zone. But like physical exercise, sometimes we have to take ourselves outside of our comfort zone in order to grow.

Lastly, do something. Anything. Get busy. Try something different. Try out some new tools. Talk to peers about problems we see in our businesses. Help motivate them to be change agents as well.

The world is ripe for innovation. People are out of work, economic uncertainty is causing people to rethink how they allocate time and resources, and there are countless tools available today that can help us transform our businesses and our lives. The world needs us to take charge and help create something better.

What are we waiting for?

Is Your Data Secure in the Cloud?

Just read an article from Shad White, CEO of cloudPWRDouble standard–corporate banking transactions, cloud file storage – FierceContentManagement. I like Shad because he cuts through some of the misconceptions, fears and concerns businesses have with being in the cloud.

The Internet and consumer services (particularly social) have brought data security and protection into the mainstream. I agree with Shad that cloud services by themselves aren’t the culprit in data protection problems–a lot has to do with human behavior.

Email attachments have probably been one of the biggest causes of dissemination of sensitive data in the history of computing (I’m being a bit of a hyperbole, but you get the point). What if you had a link to the data instead of the actual document itself? You could then have a security layer over the content (i.e., authentication and authorization — who are you and are you allowed to see this content), yielding better data protection.

To play devil’s advocate, you have to do some vetting of your cloud service providers. With the extremely low barrier to entry for technology companies, you have some risk of “fly by night” providers that may or may not be treating your data right. You’ll have to do some homework (or talk to guys like Shad to help you navigate those waters).

My Innovation Hashtag Cocktail

I just created an “Innovation” tab in Hootsuite. In it, I have the following hashtags:

#prodmgmt – I’ve been following this hashtag for some time and it’s got great tweets by product management experts.  A great tweet came through from @stempm – “#prodmgmt is not a profession – it is a way of life!”  I totally agree with Irina–product management is the practice of creating value through providing offers to customers.  This is not just a position in a company, those of us that are value creators all follow product management practices.

#innovate – Obvious reasons.

#agile – Although this is mostly used in a software development context, agile concepts are key to innovation: quick development cycles, market testing, responding to change.  I’m also a fan of Lean development and business processes.  I thought that #lean would be a good hashtag to watch, but it seems a bit noisy.

#startup – Great stories and interactions here around startups (obviously).  Not to say that only startups are innovating, but I would say you’re more likely to see new and disruptive innovations coming out of startups than you would with established companies (see Clayton Christensen for details).

#justlaunch – This isn’t a well-established hashtag, but I would like to use it to engage on the idea of getting out of your own way and “just launch”.  If you’re an entrepreneur with analysis paralysis, this is your 12-step program to #justlaunch.

#createvalue – Again, not a well-established hashtag, but I would like to use it to engage on the idea of creating value.  There are lots of products out there.  There is a lot of money changing hands.  But, is there a lot of value being created?  Do you think investing your money in the stock market is creating value?  How are you creating value today?  I believe that creating value is why we get up in the morning.

Why only 6 hashtags?  That’s all that will fit on one screen without scrolling.

Happy Friday!

Learn Architecture, not Bricklaying

I started programming when I was in high school.  I learned about computers my junior year and decided to take a programming class.  Programming came naturally to me—I’m one of the lucky ones.  In college, I majored in computer science at UC Irvine and started my career as a software developer.

Since then, I’ve worked as a consultant, project manager, and eventually a product manager.  My background as a “classically trained” developer has been extremely helpful to me as a product manager.  Although I don’t do much programming anymore (at least professionally), I’m able to use my experience to understand how a product should be developed and whether or not best practices are being followed.

So—if you’re a product manager and do not have experience developing software, should you learn how to code?

I argue that your time would best be spent learning software architecture and design concepts first (higher level), instead of learning how to code (lower level).  This would give you the tools to have deeper conversations with your development staff and also help you short-circuit iterations where requirements meet specifications.

Here’s a story to illustrate: I was on a project where we wanted to enhance our file importer product by allowing it to automatically rotate images if needed.  Although this was the only requirement at the time, I could foresee that we would eventually want to support different “pre-processing” operations like parsing a metadata file for information, or rearranging the order in which the files were imported.

By understanding the concept of decoupling, I was able to help design a feature by which we created an API that we used internally (to do the automatic image rotation) but also allowed developers to create their own pre-processing operations.  This made the product much more flexible and maintainable (fewer code paths to follow) and our customers, partners and professional services staff loved it!

To start, I would suggest learning some basic concepts around object oriented programming like: Decoupling, Abstraction, and Separation of Concerns

I would also recommend the following books (try to stay high-level and focus on architecture/design concepts):

Code Complete: A Practical Handbook of Software Construction, Second Edition

The Pragmatic Programmer: From Journeyman to Master

Design Patterns: Elements of Reusable Object-Oriented Software (aka “The Gang of Four”)

Learn some of these concepts and see how they improve the conversations you have with your development staff and how they will help you craft lower-level requirements.

Good luck!