This post is derived from a recent talk I gave at a Gild Meetup in Bangalore. I think most of the ‘trends’ below would be obvious for a reader of this blog. I do hope that some new light does get shed on them here. However, I found most of the young audience I met not clued into the below at all. So in the hope that some more folks may find this useful, here are the top technical trends as we see them in Neev today. We have the benefit of an interesting view since we are a services company but do product development for startups all over the world (mainly in US, Sweden, India and Singapore these days). This gives us an insight into the demand as it is panning out, of course limited by the sample size of our hundred plus clients and prospects.
The first key trend which we are in the middle of is the proliferation of mobile devices, especially tablets. Tablets are now fulfilling the promises of mobility which made nice user stories but in practice were inefficient implementations on 2.5″-4″ phone screens. Tablets are the first usable enterprise mobility form factor and adoption is going to go through the roof. The phone still being useful for consumer applications. HTML5 will be increasingly driven as a development platform of choice since the cost of developing an application multiple times is prohibitive. Native applications will co-exist but HTML5 will slowly take the lions share of the development. This is not unlike how rich web applications slowly marginalized desktop clients since early 2000s. The really cool applications are still native though as of today: occasionally connected apps for field force (doing field surveys for example), visualizations of large data sets (showing 1000s stocks moving in real time on one screen) are just few of the apps Neev is doing for clients. A friend’s company is doing an interesting tablet app for a hospital where patient data comes on the screen of the tablet that a doctor is carrying when he comes near the hospital bed. It automatically updates the bedside tablet once the doctor moves away after updating records.
The second key trend is the rise in open source adoption. Turning open source has become an accepted strategy for small product companies who can’t fight the FUD created by large enterprise players. Though not really the initial intent of the open source software movement, currently this is being used as a marketing tactic of choice by challengers in the software product ecosystem. Customers are comforted that they are not locked into binaries that no one can open and are backed by shaky, small players. The product companies reconcile themselves to the fact that the product development is sunk cost and hoping for license revenue from them is a lost cause. Hence, lower cost subscriptions create a new revenue model and clients are in a win-all situation with no lock-in and substantially cheaper (and often better) products. Starting with web servers, then app servers, portal servers, eCommerce engines and even the specialized ETL segment has open source challengers now. Good rule engines or business process modeling frameworks are also no longer just the proprietary preserve these days.
Clouds will rule it all. In the last three years we have not done a single non-cloud deployment at Neev. In fact today customers don’t even ask if there is an alternative. Sometimes the question is – Which Cloud. Application stack specific clouds like Heroku look very promising and Amazon might become the infrastructure for these specific clouds in the future. A clear trend where application architecture is considering cloud features from ground up is visible (rather than as a hosting after thought). So whether streaming has to use S3 or SQS should be the queue in the application gets decided right upfront.
Big Data and no-SQL databases as its consequences are increasingly becoming popular. This is not as ‘in the middle of it’ trend as the previous one’s but surely something which is on the uptrend. The challenge of transactional scalability (supporting high number of concurrent users) has become passe and the solutions are practically commoditized. Partitioning, load balancing etc are not really new problems to solve and no longer challenges to surmount in 2011. Practically speaking high transaction load hits a very select few of the systems anyways. In contrast, big data is a problem which increasingly hits every other application today. Social media with its humungous data generation (facebook dishing out few billion likes every day dwarfs its massive 550M user database size) is plugged into many apps these days bringing the huge data load problem into all domains. RDMSes hit their limits, hence enter nosql databases. Programmers especially need to adapt fast since the programming paradigms in the nosql world are very different from RDBMSes. The change in orientation almost akin to making the leap from procedural programming to object oriented mindset. Its not tougher but it surely needs a different training for the thinking. This is not helped by the fact that nosql databases have no single standard or theory unlike RDBMS. So a developer moving from Oracle to MySQL remains on familiar territory but but not from BigTable to MongoDB!
That brings me to the one trend which is still conspicuous by its absence. The sheer lack of contribution by Indian software developers to the open source ecosystem. This asymmetry between consumption and contribution is also evident with wikipedia and online QnA forums (where seldom are answer givers of Indian origin but huge number of questions get asked by Indians). Wikipedia is earnestly trying to engage and solve the problem. Open source by its nature doesn’t have a single champion and considering the huge amount of debt we owe to open source software as an industry, this is a trend that begs to start. Indian software developer will surely do no harm to his/her global reputation by joining the cause. Open sourcing interesting work being done here and also joining existing projects as contributors has to start . Lakhs of students can benefit hugely by getting plugged into the best practices of open source projects which can compensate for the removed-from-reality education they are receiving in colleges. I am surprised to see students struggling for summer assignments when 1000s of open source projects await more volunteers.
Hope this was useful and encourages further deep dive into the topics above compared to the very brief treatment here. Thanks!
Good insights! Thx.
Agree strongly with your view on Indian contribution to Open Source. One reason for not seeing adequate participation (at least at student and non-commercial uses) is ease of piracy in India. If anti-piracy was strictly implemented, more and more budding programmers would be forced to adopt FOSS software (and then go on to contribute to source code too). But when latest copies of Photoshop and Office are available for ‘free’, what %age would want to invest time to look at developing and contributing to Open Source (unless one has genuine interest in Open Source cause). Personally, I am learning LISP and trying to contribute to GNUCash (FOSS equivalent of Intuit Quicken and MSFT Money Manager) and GIMP.
There have been few open source contributors of Indian origin, but you are right, the % is very small compared to the programmers we have. In my opinion, the root cause of this is passion for writing code that an Indian programmer has. Most of the people who choose this career is because that is the highest paying job with their background, and because of the social acceptance. As a result we lack people who are really passionate about this.
Compare this with US, where beeing a geek is definitely not most socially accepted, and not highest paying (you go for wall st.). Hence due to self selection.
The other aspect is the ecosystem. In India, we still have a emerging startup ecosystem and similarly the software development ecosystem, where people meet for coding events is still somewhat limited.