Wanted: Software Engineers Who Think Ahead and Think Different
It’s not enough to have a development team that is able to meet your current strategy and customers’ needs. You need to envision where the challenges and value creation opportunities of tomorrow lie. This is not a one-and-done thought experiment, but a permanent, continuous duty, as you’ll see in the following examples.
Ahead in the Cloud
In 2013 Inova made the decision to transform its on-premise software business into a SaaS model. As a colleague of mine explained, this decision prompted not only a change in the business model of the company, but also a cultural change for Inova, too. Many startups will recognize this story: you take a few steps forward, but then multiple technological challenges pop up that risk slowing everything down and, potentially, bringing it to a total halt.
However, in 2012, before any talk of going SaaS and while still dealing with the daily business of an on-premise B2B startup, we launched a small, low-resource R&D project to redefine the future of our technology stack. We decided to include support for multitenancy and high loads. At the time, it was neither a business nor a strategic requirement. However, as the people responsible for defining the company’s technology vision, we bet that SaaS would be important for Inova’s future and that we needed to be ready to scale quickly. We naturally investigated leveraging NoSql techniques, and more specifically IMDGs (In Memory Data Grids).
By the time the company organization was ready to make the move, we had a prototype stack and framework in the works and had developed a rather good understanding of the challenges of scalability. Yet for a progressive, smooth migration to SaaS, the safest path was not a technology big bang. There was no immediate need for high-load support and focusing on DevOps automation while keeping a single-tenant architecture was a rational choice to make.
This is where the bonus effect of thinking ahead appeared.
In the continuous process of trying to imagine the future, we figured that the service would someday evolve into a platform. This platform would likely end up hosting a large, deeply intertwined data model, close to a graph, that would allow information to be shared while still maintaining strong security guarantees. It would have to do all that without sacrificing scalability, of course, especially since high load would become critical for a platform gathering a broader userbase.
And so, we made a bold choice: deploy our distributed datagrid based architecture and make it the core of our application platform.
An IMDG is “a distributed, reliable, scalable and consistent in-memory NoSQL data store, shareable across multiple and distributed applications”.
It’s used by scientists that are dealing with large data sets with distributed computation needs – think climate scientists and their incredibly complex modeling, for example. It’s also used in sectors like banking where millions of customers transact tens of millions of times a day, and any other substantial big data project will either use or can benefit from an IMDG.
But for a startup with a customer count that was then under 100? Suffice to say, an IMDG was an uncommon choice.
It has, however, proved to be a valuable one. It helps us reach end-to-end transparent out-scaling while enabling deep relationship management as well as high availability and, until today we continue to uncover hidden benefits that support Inova’s long term strategy.
By adopting an IMDG as the core data management technology for the Inova software platform we’ve prepared ourselves for the growth that successful SaaS companies seek. Our decision preceded our move to the cloud and the evolution of our business model to SaaS, and we are now reaping the benefits of thinking ahead.
Thinking Ahead and Thinking Different
To do what we did demands a significant investment in research and development and the commitment of a team over the course of several years. Adopting this sort of technology as a foundation for the software requires buy-in from the leadership team and a commitment by them to trust the technology team.
More than anything else, though, it demands the capacity to think ahead and lay a solid groundwork for future growth that is still a couple of years away.
Do You Think Like Us?
When we launched our distributed data grid stack, we had hopes that our user base would expand and allow us to really take advantage of the architecture that we’d built. In the years since this hope has borne fruit, and our team is rapidly expanding to serve a growing list of the world’s largest pharmaceutical companies.
Today I am seeking another four software engineers to join the technology team and bring their experience, their skills, and their creativity to building out what is a best-in-class software platform for the pharma industry.
If you’re the sort of engineer who has the capacity to think different and the foresight to think ahead, why not drop me a message – you just might be the person we’re looking for.
This article was originally published on LinkedIn on January 22nd, 2020 by Stéphane Lardet, Chief Technology Officer at Inova.