Large IT company business models and the cloud


Earnings season arrived and I am wondering how long big companies can keep their current structures and business models . Size is not always an advantage – it can actually destroy the value of a company .

Big companies try to attack this problem by firing a lot of people . But I have hardly known a company that has succeeded much that way – only very few pull that off .

The problem with firing enmasse is that you have to use broad policies to determine who needs to go . When you fire 1000s of people – not only do you end up firing people who could have done wonders , you lose other good people who will leave because they feel they can do better elsewhere . Firing people lower down in the hierarchy rarely does any company any good. Those are the peeps who do actual work – and they are not usually the ones who made the decisions that turned bad and led to management needing to fire people . Micro corrections throughout the year are a whole lot better in my opinion than mass firing . But at large size and matrix organizations – you cannot optimize . I know that first hand – I have tried and failed , repeatedly .

Large IT companies that have HW and SW have a problem – HW becomes a leading indicator for software , when investors look at the whole company . So if HW declines now , market assumes software will suck pretty soon too . The worst part is if you also have services in the mix . Services trail both HW and SW . So for such companies – if they don’t stop bleeding for HW, market will probably punish them for a long time in future .

The move to cloud is what seem to screw up the larger companies . Cloud is a low margin business – which a large company doesn’t really want to be in . If they don’t do it – they will become obsolete . If they do it – it takes a large amount of time for market to absorb the shock of lesser top and bottom lines . Damned if you do and damned if you don’t . Essentially cloud economics seem to work only for companies who don’t do anything else but cloud business .

When companies solely depend on EPS as a way to set goals for investors – they just lock themselves in jail and throw the key away . To beef up EPS, you can only do three things . Make more revenue , spend less cost and buy back shares . You can’t make more money in cloud – it’s commodity business compared to legacy revenue streams . Your marketing and data center and retraining costs will make sure you can’t spend less . So the only way they can survive is by buying back shares aggressively . That is money they can’t invest back in business. As soon as investors see it – they punish the stock . It’s kind of funny in a sad and weird way how this tactic seems to boomerang

So how exactly do they come out of this vicious cycle ?

I think the sustainable way is to sell off low margin businesses as stand alone entities and double down on what you know best . And if that doesn’t work – then split the company into smaller entities that don’t have to bear huge over heads because of checkers and double checkers . I don’t think any big IT company board is ready to do anything that drastic . They can try to innovate their way to glory – except it is very rare for innovations to scale to an extent that it compensates for the drag caused by deteriorating legacy businesses .

So I guess I will just keep wondering what will happen to all these goliaths . Is there a silver bullet somewhere ? A lot of people I care for work in those places and for their sake , I hope good things happen to those companies

MongoDB for the SAP Community


One of the most common questions I get from my friends from the SAP ecosystem is how MongoDB works with SAP. So I thought I will pen some initial thoughts on how I see the technologies working together. 

NOTE : Please don’t look at this as an official roadmap or anything – this is just my personal view. Neither MongoDB nor SAP has agreed to do anything of this sort . This is just Vijay thinking aloud – and I am sure someone will set me straight if I am not making sense.

First, what does MongoDB not do with SAP systems ?

This is easy – MongoDB is not a database to run your ERP / business suite or BW type systems. MongoDB also doesn’t do native predictive analytics.That is what Hana (or other RDBMS systems) are for. MongoDB has no competitive position against Hana. Also SAP Hana Cloud platform has been using mongodb for some time already for content management. And MongoDB is one of the databases for SAP’s Hybris platform.

Now that we got that out of the way, lets see what can MongoDB do to complement an SAP landscape

1. Visualization

SAP announced a technology collaboration for Lumira to work with MongoDB at SAPPHIRENOW last month. Lumira is SAP’s agile BI solution . MongoDB holds data in JSON (BSON internally ) . The existing connector uses a JDBC protocol for the integration – and more native options are planned for future.

What is the big deal ? the big deal is that MongoDB holds richer data than what you typically see in rows and columns of a table. 

MongoDB holds data that has a hierarchical or nested nature – and visualizing that rich data ( for example, not only what region that customer is from – but details of what is the past history of sales in that region for customer, what other customers have bought in similar categories etc) is an amazing value add for a business user.

On top of that – given the dynamic schema, you can keep enriching the data (like campaign information at real time from a web site) and visualize the results immediately . 

2. ETL/EAI

I could totally see in future SAP data services and Hana cloud integration for ETL/EAI use cases where MongoDB is the source or target. MongoDB is probably one of the most  popular database for cloud applications already – and that trend will only increase. But those apps need data to be fed into it from somewhere, and I think data from there might need to get pumped into other systems. So an ETL/EAI type tooling from SAP around MongoDB is something I can imagine being a sensible thing assuming those sources and targets could be SAP systems.

3. As a datahub for integrating SAP and non-SAP applications

Consider a business application SAP would build on Hana for retail . The sources of information that need to pump in data to that app will typically be disparate in every sense – POS data, ERP data, IS-Retail data, Web store data, Click streams and so on.

One way to do it is to pump all this data into Hana and write code there to filterthe dataset that the app needs. This will make sense for cases where the schema is set in stone and not subject to frequent change. But that is usually not the case for retail like data – schema needs as much flexibility as possible. So a second way to design that will be to use MongoDB as a data hub to consolidate data from all the sources, and then from there provide the app on Hana with just the right data it needs to do its thing. 

There is no certified connector for MongoDB with Hana today. But that probably is not such a big deal for a project based solution once the Hana SDK for AFL (app function library in C++) is available. MongoDB has a C++ driver that can be hooked on to AFL  and this should solve the data exchange problem from a technology point of view.

Another option – a little bit of code on XS engine (the lightweight web server/app server in Hana)  can make it work too – since XS understands JSON well. Thomas Jung probably is the best contact to help with this – but I don’t think you will need a lot of support. 

And for non-Hana customers of SAP, you probably need to code in ABAP from the app server layer to make mongodb integration work. I have not opened an ABAP editor in a while – so my memory is rusty. But I think its only from 7.x that ABAP has native JSON support. So you might want to do some hack to check if Kernel supports JSON. Horst Keller might have published some standard way to do that. Or if your ABAP skills are not top notch and you would prefer to use PERL or something outside the app server that MongoDB has a driver for . I guess you can create a service via ICF and take an RFC route. Probably not the most elegant way, but it should work too. Maybe Thorsten Franz can enlighten us on the possibilities.

Independence – view from the corporate jungle


USA celebrating its independence day tomorrow . And coincidentally, I have been pinged by a lot of people with messages along the lines of “I can’t do anything independent where I work. What should I do?” type stuff. It is a question I have asked myself as an employee and as a leader/manager.

In primary school – I learned a poem in malayalam that roughly translates to “even if the bird is put in a fancy golden cage, its world doesn’t have any independence” . A lot of corporate peeps feel that way that they are stuck in a fancy cage. So what can be done about it ?

Table stakes
To begin with there are some basics – which might seem obvious and downright trivial.

1. Live within your means – or ideally, a little under your means.
2. Max out our at least match the employer contribution for your 401K if possible
3. Save a litte bit for a rainy day, invest wisely
4. Take care of your health (something I definitely need to work on)

Even if all you do is these 4 things – you should have a little bit of a safety net to take a few big swings when opportunity arises.

Then comes the core issue of employment.

Let me share a few principles from my own career 

1. Always keep your skills sharp and up to date. Even in terrible economic slumps, my skills helped me switch jobs. It takes effort and passion to do this. If you treat your job as a way to earn a living and your heart is not in it – you will find it hard to keep your skills up to date. It is a choice you make – at a minimum, keep it sharp or develop a new skill to get a job where your heart is. For me – programming was where my heart was. So right out of Business school, I chose to code instead of trading equities.

2. Loyalty in a perfect world is a two way street – but alas, the world is not perfect. So while it is a great trait to be loyal at work place, don’t let it blind you as an employee or manager. End of the day – there is a business to be run, and the sooner things are put in that perspective – the easier it is to make and accept decisions.

Loyalty is a complex subject. When I joined the workforce – my role models were people like my father who spent decades at the same company, rising through the ranks. It was a serious problem if your CV looked like you were jumping every few years. Yet – I switched employers quite a bit in my early years, and it only helped me.

3. Network naturally. I can’t emphasize “naturally” enough. I am not a fan of aggressive networking – it turns me off. Make friends with your vendors, customers, peers etc just like how you make friends in social life. Help connect people where you can. And at some point – usually sooner than you think – you will have a useful network. Don’t mistake this for buying followers on social media. Also – don’t wait for shit to hit the fan before you start networking. Start when things are good. But if you have not done that – start today and not tomorrow. Quantity of relationships is not a factor – you just need a few who matter.

4. Always have a few options – plan B, C, D etc. You can’t always make plan B’s when bad things are happening. You need to have other options figured out when things are good. If your skills and network is kept alive and thriving, this should be a natural side effect. Don’t let loyalty stand in the way of having an alternate plan – you don’t need that plan B triggered if everything continues to be good.

And when it is time for the swan song

Despite all your best efforts and intentions – you might still have to get out of a job. Maybe you have a jerk as your boss, maybe you want to be your own boss, maybe you want more money – all are valid reasons. But there is a good way to leave – and some terrible ways.

1. Always leave gracefully. Burning bridges don’t get you far – it is really a small world and you should try as hard as you can to not piss anyone off. If your employer doesn’t deserve you – and you think it is their loss, just walk away smiling with a polite thank you. Don’t give in to the temptation of mass emailing everyone on your last day, yelling at your boss and stuff like that. It only shows you as immature. Walk away with grace – go home and scream your heart out (leave your family out of the yelling part if you can). I broke this rule once many years ago – shouted at my boss, emailed a terse resignation, and banged the door on his face for not promoting me. It was stupid of me to do that – and I repent it.

2. If you can’t stand your boss – try to get another one before you quit. If you are good at what you do, there is almost always a way to make it work in another team at the same company. Pardon me for saying this again – but this needs those skills and network to kick in. If you can’t find another boss – then don’t sit there and rot, actively use your plan B, C etc.

2. Leave on your terms whenever possible. It is almost always better than being fired. The only exception I can think of is when being fired comes with a nice farewell compensation package from the employer. But for this to happen – you needed to have those Plan B,C etc figured out when things were good.

3. Keep in touch with former colleagues, bosses and customers and help them whenever you can. The way I look at it is kind of in a “good karma” kind of way. Help as many people as you can – and some day, someone else will help you too when you don’t expect it. If you expect reciprocity before helping someone – in most cases it won’t happen, and you will end up bitter. I can assure you – in my life and career so far, this has only helped me. It has not once hurt me.

4. Plan and re-plan your career periodically. When I came out of business school – I thought I could retire at Thirty five. My goal was to get a job that lets me do some globe trotting, stay in fancy hotels and have a home with a pool and buy as many dogs as I needed. Those things were all accomplished by thirty five – but I also learned that none of those were worthwhile goals, and that I could not retire in that time frame. It also taught me to not trust any plan – planning is important, plan is not important. I replan my career every year or two. I am sure things won’t work the way I have laid it out even today – but I don’t feel bad about it any more.

So that is it – those are probably the principles that helped me gain some independence in my career. I hope some of them will help your career too. Please share any tips you have too.