How to rediscover the Joy of Coding?
The past few months have been an absolute windfall for tech professionals with several companies facing off in a virtual bidding war to hire talent. A friend of mine said – that in Bengaluru, he would need to offer a BMW motorbike as a joining bonus to hire people and of course, the widely reported comment by Bhavish Agarwal (OLA Founder) that he may have to outsource tech jobs to Silicon Valley as the cost of hiring in Bengaluru is shooting up!
In the IT industry, where the first response is to immediately depute people/teams to solve problems, this talent shortage and rising costs present a serious existential threat to companies/teams that do not have the big bucks needed to maintain larger teams and acquire new business.
While I don’t claim to have a foolproof, cost-effective solution to hiring and retaining tech talent, I definitely have a solution for how to get more done quickly with less – especially in the creation of resilient, cloud-ready enterprise software in C#… and yes resilient to attrition risks too!
Today, writing software has become such a democratized skill, with various edtechs like Byjus/Whitehats of the world claiming to make 6-year-olds into the future Sergey Brins! (Tongue firmly in cheek).
However, ask any IT professional and he/she will tell you that writing software that works is easy, but it is significantly different from creating software that can endure!! A bit like the difference in capabilities needed for running a sprint versus running a marathon. Any enterprise software performing some critical tasks doesn’t just have to work, it has to survive changes, extensions, production support fixes, scalability issues, team changes….over a long period of time – in short it needs the endurance of a marathoner.
While creating and delivering robust enterprise software for organizations worldwide we observed that :
- A significant chunk of time of the Architect and Sr. Devs was spent on architecting/designing the NFRs (Non Functional requirements) side of the application.
- This work on the NFR – plumbing for providing scalability, distributed and async capability. – was rarely reusable owing to schedule constraints. Therefore it was almost always a case of reinventing the wheel (or at least large portions of the wheel) for every new project/ business domain.
- Less experienced developers in the team would struggle to adhere to the prescribed architecture principles and often their code would reduce to an unmanageable spaghetti in a short time leading to quality and regression issues.
- We would overshoot our time estimates and yet for the reasons stated above, we were not giving sufficient time & attention to the customer’s/end-users domain.
- And there were the usual attrition and knowledge transfer (KT) related issues over the lifecycle as we moved from development into maintenance. So adding more people to the team to speed up development rarely yielded the desired results and usually created newer problems!
The joy of coding …well it seemed like a mirage!!
Our quest for a better way led my colleague Satyajit Behera step by step to come up with Flexbase.
- Flexbase is a reference architecture that helps .Net engineering teams develop and ship their applications faster – without compromising on robustness, maintainability, scalability and extensibility.
- Plumbing code for the NFRs is auto generated thus leading to saving of between 40%-70% of time and dev effort.
- Importantly, more of the Sr. Architects and Sr. Devs time is now available for focusing on the Customer’s domain.
- In a very tangible manner Flexbase helps the engineering team be more closely aligned with the Customer’s domain by eliminating gruntwork, thereby freeing time of core resources to focus on the customers domain.
Legacy transformation or creating microservices applications that are cloud-friendly, containerizable just got a whole lot easier with Flexbase.
Rediscover the joy of coding with Flexbase!!