Full-Stack Millennial Programmers (MPs) at Nitor

Software Products and Enterprise Digital Platforms are disrupting at a very fast pace. And so are development tools, programming languages, and development platforms. All of these are impacting the job description of a software developer. The paradigm of the Full stack and Cross stack developers (often used interchangeably) has been there for some time now. However, the compelling options offered by brand new development platforms is making this paradigm almost inevitable to adapt.
We at Nitor call this evolution in software development as an era of “Full Stack” software development. This era is reflective of Millennial Programmers (MPs) who has the attitude and aptitude to embrace Full Stack development. A quick glimpse of how these MPs think, work and adapt based on some real incidents:

Functional Programming (FP) Languages

Languages: One of our group of MPs was tasked to evaluate possible usage of Functional programming languages like Scala or Kotlin  (which interoperates with Java) to specifically benchmark performance and code maintainability. MPs self-trained themselves on Kotlin. We reviewed these prototypes on Kotlin in a matter of days. It was overwhelming to see how these guys were able to adapt to complex concepts FP concepts like pure functions, lambda calculus and higher order functions with equal ease as that of traditional object-oriented programming concepts.

Design thinking in action

We were challenged to build a very complex document parsing engine which would parse terabytes of documents every day. Given the stringent timelines, our team convinced the customer to use design thinking  to do rapid prototyping instead of lengthy design (documentation) phase. What followed was a crisp prototype built using open source cloud-based software, a design that could seamlessly auto-scale and parse TBs of documents daily. Machine learning was applied for identifying right document template to parse, and an open source rule engine was used to configure rules for the parsing algorithm. All in a matter of a month’s time.

Patterns and Practices in Software

Robust software products should be built using principals of configurability, modularity with security, interoperability, and interfaces (APIs, queues, and service bus), monitoring and health checks. Traditionally architects use to toil hard to build these blocks as custom frameworks in the software. Things have evolved very fast in this area. Fast forward to last week when one of our developers used Spring Boot just to click through and add some annotations to create a solution structure with most of these abilities plugged into the software.

Overall the whole approach and lingo have changed.

  • The debate of API-first approach has been settled, and MPs are now widely using new frameworks to build loosely coupled Micro Services
  • Typescript  is the new JavaScript ReactJS has emerged as a preferred hybrid mobile-first platform for many. MPs have adapted to this change with great ease
  • First Time Quality is an old mantra. However, advanced tooling for TDD/BDD/DevOps have empowered MPs to make it the de-facto way to build code
  • Docker is disrupting the manner in which cloud-based software’s are built – This needs a learning curve to design around these new capabilities
  • Serverless code architecture with Amazon Lambda and Azure  Functions is re-defining the paradigm of pay only for your compute

Data lakes and high performant columnar DBs are replacing traditional DWH and traditional MPP DWH. Data Analytics has become synonymous with predictive analytics and Machine Learning.

They have started to build visual tools for data scientist and data analytics. The bigger point is the fine line between application developers and data developers is getting blur.

In fact, Microsoft which was once a very close development platform for Windows OS is now making forays into Open Source. It is in the news for its open source platforms .NET/ASP.Net Core which has introduced modular deployments. Java 9 with Modular JDK and Modular Source code stands toe to toe.

All these changes call for full stack developers who can keep learning and adapting faster than ever before. Organizations will find it compelling to hire “Full Stack Millennial Programmer” against specialist developers.

Nitor being a niche technology company in software product development services, we see an increase in demand from our customers for such developers.