Evolution of Full Stack Application Development

Software development culture and practices evolve with the developers’ habitual learning and self-improvement. For a software engineer, the technological advancement is volatile and ever-changing. With this evolution, the scope of their contribution towards a project has widened, and a culture of learning has developed. Teams assimilate techniques and learn contemporary methodologies to streamline their development processes.

At the start of my full stack career at Xgrid, I was introduced to an in-house built sandboxing tool that provided a real-time visibility of the network in the real world environment. Back when AngularJS was still ruling all the Javascript frameworks, we used its early version 1.x, along with API using  NodeJs express, to build our application. With the asynchronous workflows that ran in the background, we discovered that the application used HTTP polling to fetch real time data from the server. With all the polling limitations in mind and considering the fact that product development has to go on, we had to take a slightly more considerate approach to rid the application of polling and use a much better solution. Hence, the team was introduced to web sockets and designing asynchronous architecture for web applications. This improved the overall performance by eliminating latency problems that arose with long polling.

While our application was being developed, Angular 2.x had come into the market with drastic changes. Our team of engineers had already started to adapt all latest changes while this angular version had just come out of beta. We had multiple projects running at that time, programmers coming from potential backgrounds were happy to get their hands dirty on the new typescript based version of angular.

Planning and design are by far the most fun phases for engineers!! During the planning phase engineers let their imaginations run, it’s the “this is was I have been training for all my life” moment. Incorporating all updates, we developers decided the architecture and tech stack for our next in-line applications. We have built all our new applications using the latest Angular versions of their time which were then upgraded to Angular 10, to keep the tradition of bleeding-edge stack alive.

We have evolved with each wave of innovation in programming languages and frameworks. NgRx pitched into our reactive state management for in-house built Angular apps. This improved the state management process and provided smoother solutions. We were able to unify the events running in our applications improving development speed by two-folds. Here is an example showing some custom-built canvases by our proficient team of engineers:

Allowing developers to use tools of their choice and decide the tech stack for the applications sets the environment of ownership. At Xgrid, we developers are allowed to use the stack of our own choice, and our development is not limited to Angular but React has also been one of our development standards! We also continue the company-wide TOIs to keep up with the continuous learning on development efforts where different teams and individuals take turns to impart knowledge about the latest tools and technologies they have worked on.

The fun-element doesn’t stop here, the developers at Xgrid continue to cherish their fondness for programming by bringing up new solutions for pipeline automation. This includes the automated processes that allow developers and DevOps professionals to reliably and efficiently compile, build and deploy their codes using Jenkins. It enables dev teams to check in and verify the quality and ability to compile their code reliably in an automated fashion.

The well-sustained learning ladder can embark upon all full stack engineering projects. It leads to individual growth and overall makes the development processes quite mature. For a developer to be successful, continuous discovering of the perfect tools for building their products can be a game changer!!


Leave a Reply

Your email address will not be published. Required fields are marked *