Tag Archives: software development

Beyond .NET and J2EE: The Emergence of a Third Application Development Platform in the Enterprise


A few days ago, I published an article on ReadWrite about trends that are destined to change the future of enterprise software. The article includes 14 trends that we consider relevant consider its maturity in the industry.

  • enterprise hardware
  • the industrial Internet of Things
  • applications powered by the blockchain
  • proactive analytics
  • 3D printing
  • enterprise marketplaces
  • domain-specific data science
  • augmented reality in industrial settings
  • mainstream machine learning
  • drone platforms
  • next-generation cybersecurity
  • platforms for microservices
  • the Docker ecosystem
  • new application-development platforms for the enterprise

The feedback from the article has been awesome including a few people that didn’t miss the opportunity to remind me other important trends that I missed or questioning some of the included ones 😉 In that sense, I thought it would be a good idea to expand on some of the trends highlighted in the article and provide more context about why I think they will be foundational to the next generation of enterprise software solutions.

Let’s start with a trend that I think is long overdue in enterprise software:

The Need for a Third Application Development Platform for the Enterprise

For the last fifteen years, the enterprise IT space has relied on two main application development platforms: .NET and J2EE. While other platforms like Ruby on Rails or Python has certainly gained some adoption in the enterprise, their market share remains relatively small compared to the adoption of .NET and J2EE. After almost 2 decades of developing solutions almost exclusively in two platforms, there are a number of factors conspiring to facilitate the emergence of a third application development platform in the enterprise.

Despite the numerous innovations in the .NET and J2EE platforms, their dominance in the enterprise IT space can be partly attributed to its commercial channels. For the last 2 decades, the combination of Microsoft and J2EE vendors like IBM, Oracle, Tibco, etc accounted for a large percentage of enterprise IT deals. However, many of the factors that established the dominance of .NET and J2EE have either disappeared or changed and, at this point, I believe enterprise IT can benefit from the emergence of a third enterprise-ready application development platform.

Better Application Models for the Cloud

Today, many enterprise IT applications are being developed using cloud platforms such as Azure, Bluemix or AWS. In those infrastructures, the level of support for new application development platforms like NodeJS, Python or Ruby is as good, if not sometimes better than J2EE and .NET. This level of support removes some of the concerns in terms of enterprise-ready tooling that has traditionally blocked open source application development platforms from entering the enterprise.

Optimized for Mobile Applications

Mobile application development is becoming a relevant item in any CIO’s agenda. In the mobile space, platforms like NodeJS have become the platform of choice for enabling backend APIs used by mobile applications. In that sense, many organizations building mobile applications or using mobile platforms are already leveraging platforms like NodeJS instead of traditional J2EE or .NET stacks.

The Emergence of Enterprise Open Source

Open source technologies are becoming more prevalent in the enterprise. Movements like the big data platforms or mobile application development stacks are vastly dominated by open source solutions. Typically, open source server stacks provide a great support for platforms like NodeJS, Python or Ruby in the form or SDKs, samples etc. Consequently, as more organizations embrace open source server platforms they are likely to leverage technologies other than .NET or J2EE for building applications in that platform.

A New Generation of Developers and Professional Services Agencies

As application development stacks like NodeJS and Python continue gaining momentum with the developer communities, more and more developers are likely to favor those stacks instead of traditional .NET or J2EE platforms. Is not a surprise that many of the modern software development agencies are actively hiring developers with skills in prominent open source application development platforms like NodeJS, Ruby or Python. Those agencies are actively evangelizing the benefits of those platforms in enterprise IT settings and playing and important role in the adoption of those new application development platforms in the enterprise.

The Enterprise Software Startup Channel

The explosion of innovation in the enterprise software startup scene is forcing big organizations to start embracing technologies from early stage startups in order to stay competitive. Many of the most innovative enterprise software startup platforms leverage application development stacks other than .NET and J2EE. As a result, many enterprise IT organizations are starting to indirectly leverage those platforms as part of broader enterprise software solutions.

Is NodeJS the One?

Without getting into predictions, is hard to talk about the emergence of a third application development platform without talking about potential candidates. From the existing platforms in the market, NodeJS seems to have all the ingredients to become relevant in the enterprise.

Today, NodeJS enjoys a vibrant development community and is the platform of choice of many enterprise software startups. Additionally, NodeJS is widely supported by all enterprise cloud and mobile platforms and is being slowly adopted by some of the top professional services agencies in the world.

While getting to the level of dominance that .NET and J2EE enjoy in today’s enterprise IT environment is going to require more than the aforementioned factors, I believe NodeJS has a very strong opportunity to become a third application development platform in the enterprise.

Leave a comment

Posted by on August 19, 2015 in Uncategorized


Tags: , , , , , ,

Tech Conferences can be a Waste of Time: Pick the Right Ones

Next week I will be speaking at Oredev about Natural User Interface techniques and I couldn’t be more excited about it. As a conference, Oredev has become one of the most prestigious developer events in the world bringing together a great speaker lineup, focusing on multi-vendor technologies, real world solutions and a contagiously passionate community around the event. Those are some of the ingredients I look for these days in industry conference because, let’s face it: conferences can be a tremendous waste of time from both an attendee as well as a speaker perspective.

Let me try to explain:

Every year, I speak at 9-12 industry events ranging from core developer forums to more executive type events. Over the years, I’ve learned to be very selective and very honest to myself about the events I decide to speak at. While before I used to try to see conferences as a way to grow my professional reputation and network, these days I only try to speak and attend events that I am really passionate about and that, I think, can result on a great experience. This is a very personal position I developed after spending a lot of time speaking at the WRONG TYPE OF CONFERENCES and not feeling I was providing a lot of value to the audience.

I know I can come across as very blunt about this topic so I figure I share some advice about technology conferences.

As a speaker, focus on vendor-agnostic conferences: This is something it took me a while to realize. I spent a lot of years, speaking at vendor-specific conferences that I didn’t enjoy but it helped me nurture a reputation within those tech communities. After a while, I realize that most vendor specific conferences and just big sales shows on which the presentations and topics are ultimately targeted to sell more product licenses instead of delivering true value. More importantly, vendor-specific conferences are constrained by a lot of policies and burochreacy  that prevents them from delivering a great experience. While I still do a few of those conferences every year, I find vendor-agnostic conferences as Oredev, QCon, etc much more open, honest and effective on attracting a great speaker line-up and delivering great value to attendees.

As an attendee, you know more than you think: One of the reasons I am super excited about Oredev is because I always have a blast speaking at conference in the Scandinavian region because you are most certain to encounter a super savy and real tough audience J. As an attendee, realize that there are cheaper and more efficient ways to acquire knowledge than attending industry events. If you are attending a conference, focus on sessions about topics you are passionate about, take the time to get familiar with the topic and challenge the speaker. Good speakers appreciate knowledgeable audiences and it makes an overall productive experience.

As a speaker, It’s Not About You, It’s About Your Audience: A lot of mediocre speakers who are only interested on making a name for themselves spend an awful amount of time marketing themselves or their company while failing on delivering valuable content to their audience. Being a speaker at a major conference comes with the responsibility of delivering a great experience for your audience and help them expand their knowledge on specific topics. When you get on stage, spend the time focusing on helping your audience instead of making the session about yourself.

As an attendee, there are cheaper ways to acquire knowledge: Let’s face it, you rarely learn anything at a conference. These days, most of the content delivered at industry events is available online in some shape or form. In that sense, you don’t really need to attend a conference to get yourself familiar with a specific topic, there are more efficient ways to do that.

As a speaker, please be original: I couldn’t emphasize more about this. A lot of content delivered at technical conferences these days just seems to be copied out of product documentations, internet blog posts or reciting some vendor party line. As a speaker, try to come out with original ideas that will help your audience think outside the box and push the boundaries of specific products and technologies.

As an attendee, focus on real experts-doers and not talkers: As I mentioned before, there are a lot of speakers at industry events that are just there to recite somebody else’s ideas. If you are attending a tech conference, try to focus on sessions delivered by true experts who have build real things in those specific areas. Even if those guys are sometimes not the best speakers, they will most certainly focus on delivering original content based on innovative ideas.

What do you think? Can tech conferences be a waste of time?

Leave a comment

Posted by on November 2, 2012 in Uncategorized


Tags: , , ,