Thursday, April 28, 2016

#GIDS16..The Great Indian Developer Summit, Bengaluru


The Great Indian Developer Summit 2016, is currently under way in Bangalore, India. In this article, I'm briefly touching upon various topics discussed and my first hand experience of the event.

There were talks on what are the current industry trends what are the emerging technologies. It is no more sufficient to have the knowledge of one Stack/knowledge, but need to have knowledge of operations (read Devops), Cloud and working with huge data sets (read Big Data).

On a lighter note, the classical "Blue Pill or Green Pill" dilemna from 'The Matrix' made its appearance in a couple of presentations.

A few talks are detailed out below:

1. Microservice, Microservice, Microservice:

There were various talks on Microservice, ranging from how to go about building Microservice, to, why do we need Microservice. One of the interesting talk, went about explaining that Microservice is not a silver bullet, which should be applied to every project, but chosen wisely in order to be agile.

There was also a demo on Microservice implementation using Kubernetos, Docker on Open Shift platform. Various Netflix OSS components like Hysterix was used for Circuit Breakers and Load balancing.

2. Vert.x 3.0:

An amazing ecosystem on JVM which supports building reactive, asynchronous applications using langauges like Scala, Groovy, Javascript etc. Scott Davis demonstrated a hands on example of how we can build a http server quickly and deploy on multiple server instances, all of which would communicate to each other using UDP protocol and would act as a cluster. 
One statement which summed all of that, was "Vert.X is the Docker for JVM".
Man, believe me, amazingly cool stuff!

Vert.x is going to be the next big thing!!!.

3. Are we computer scientists? Nah...we are story tellers:

Scott gave an amazing presentation on how we, engineers are more like story tellers, not being just source code producing machine...but rather one who build applications. He also stressed on the need to write Unit tests to validate what we code, drawing analogy to scientists who validate their theory. Spot on!
An interesting point was made about how a user story in Agile (the good old, "As a ... I want ... so that ..."), does not describe what is needed most of the time. He made a case to rather use Hypothesis instead of User Story.

4. Java is NOT DEAD! It's Maturing!!!

Bob McWhirter's presentation was received with thunderous applause and cheers from the audience, when he went to say that, Java is not dead, but is getting wiser and mature with age. The enhancements in Java 8, Java EE 7, Vert.x and Groovy/Scala hold much promise for Java and he backed it up with statistics to indicate the trend that more and more applications were getting written in Java. Even if the application is not written Java as a langauge itself, JVM will be in the picture somewhere.

Long live Java!!!

5. Groovy:

Paul King introduced Groovy with all its features including Domain Specific langauge (DSL),Closures, functional programming aspects of Groovy. He also explained on how Groovy eliminates the pain points of Java and is piggy backing on the strength of Java. 

6. Lean Engineering:

Bill Scott shared his experience of how bringing the Product engineering development team and the designers (and customers sometimes)together in a room, facilitating collaboration and experimentation lead to building world class product features at Paypal.

7. Mobile backend as a Service (MBAAS):

Mike Keith explained the various architectural components required to build Mobile serving backend system. It included how the ecosystem would interact with legacy enterprise applications, also touching upon, security aspects like OAuth/SAML. Various API management tools like APIGEE were introduced. The challenges of identity management in the wake of different business scenarios like 'Business to Customer (B2C)' or 'Business to Employee' (B2E) were presented.

8. Angular 2, Java Lambda expressions:

There were talks on how Angular 2 is radically different from Angular 1 with introductions to Web Socket programming. Java Lambda expressions and Streams with a well drafted lessons learned from using these technologies was presented.

Overall, it was very exciting and the next couple of years appear to be the most turbulent years in technology, with a huge influx of stacks.

After all, Albert Einstein could not be more apt when he said "Once you stop learning, you start dying".