Skip to Main Content
by Steve Todd | November 09, 2009


I’m a software engineer. This gives me a tremendous career advantage in the high-tech industry. The dizzying pace of advances in high-tech is often fueled by innovative teams building new software. When a technology is introduced, I usually dedicate my time to investigate and understand the software architecture behind it. As a software engineer I can learn the new product more quickly and understand it deeply. I have the potential to be much more innovative when I am armed with this new information.

My company (EMC) is large. In fact, EMC has acquired nearly 50 companies this decade. Most of these companies come with unique software assets (along with the experts that created these assets).

In previous posts I have asserted that working as an intrapreneur at a large company can result in a tremendously satisfying and innovative career. It also presents an employee with the opportunity to add “global collaboration” to their resume. At the same time, however, corporate employees wonder how they can grow their influence and stand out in a sea of thousands of employees.

My advice is simple: embark on a daily quest to understand the software architecture of every product in your company’s portfolio.

If it sounds overwhelming, it doesn’t have to be. Focus on one at a time. For example:

Earlier this summer EMC bought a company called Data Domain (DD). DD creates a product that accepts huge amounts of information, shrinks that information down to a much smaller amount, and then stores it on disk drives. How exactly does their software perform this process (which is known as “dedup”)?

EMC acquired another company called FastScale. Many corporations use a technology called a “hypervisor” to run multiple versions of an operating system on one server. For example, a system administrator might be able to run five versions of Windows on a single server by using a hypervisor. Running more than five versions may cause the server to run too slowly. FastScale introduces technology that enables many more versions of Windows (or other operating systems) to run on a server. How exactly does their software accomplish this?

I have reached out to specific technologists (my new co-workers) to find answers to these questions. I have read their blogs. I have searched for internal software documentation. At the end of the day I have grown my knowledge about my company’s software portfolio. I’ve networked with new people. I can teach others what I’ve learned.

Most importantly, I can now combine my new knowledge with my own expertise. This is how ideas form, prototypes get built, and new products get proposed.

Most employees don’t strive to understand their corporate software portfolio. Those that do are growing their influence.

You don’t need to be a software engineer to practice this behavior, but being conversant in all things software is a critical career advantage. The best way to learn about software is to write it! I would start by downloading a tool like Eclipse from, and start writing your own “Hello World!” software. Search the Internet for articles on “writing Hello World for Eclipse”.

In my particular situation there are so many software assets to understand that I will likely never get to the bottom of them all. I will still accept the challenge because I enjoy the learning aspect. The opportunity to learn (especially from industry experts) is yet another intrapreneurial advantage that is not so readily available at a startup or a smaller company.

Twitter: @SteveTodd
EMC Intrapreneur


Filed Under: Technology
Subscribe to the Vault

Be the first to read new articles and get updates from the Vault team.