👨💻: Koteswara Rao Kanna
📞: +91-9600001352
📍: Chennai, India
I am a fullstack developer with 12 years of experience. In 2020, i have bootstraped "Abiu Technologies Private Ltd" as solo founder. Prior to that I was working with "Zoho Corporation Privated Ltd" as developer for 10 years.
- Rustlang and Webassembly
- Golang
- Javascript
- SQL
- HTML and CSS
I have started my career in 2007 as "Financial Analyst" with Standard Charted Bank (Scope International), India. I am a semi-qualified Chartered Accountant in India.
My job involves compilation of data from different sources and analysing that data and submitting business intelligence reports. But most of my time spent in compilation of data rather than analysis.
As a power user of Excel, i have created MS-Excel Add-in in VBA and eliminated manual data compilation process successfully. And I have got recognition as “ICON” among hundreds of finance professionals. That was my first success in Software.
I have automated lot of processes in the day to day operations of bank using Excel VBA and C#.
I have joined Zoho as Financial Analyst in 2009 and later in 2010 converted as "Software Developer" after automating my routine work. As a Financial Analyst I need to coordinate with different teams and get data and prepare MIS (Management Information System) reports and submit them on weekly and monthly basis.
I thought of automating this process using Excel VBA. But there is a challenge, management of this company does not like Excel VBA as it is a cloud computing company. Now my playground has to shift from Excel to Cloud Computing.
Javascript: 2010I have started learning Javascript (ECMAScript 5), luckily around the same time NodeJS was released. There was no limit for my joy. Suddenly I have become a full stack developer. At that time my tech stack was:
- Clinent-Side: JavaScript with Backbone.js and Bootstrap for CSS
- App Server: Node.js with Express.js
- Database: MongoDB
- Visualizations: Highcharts.js
- Single-Sign-On: using OpenID
End to end everything was written in Javascript and I have integrated all the subsystems using REST APIs and started providing near Real-time reports (updated daily twice). That was an inflecting point in my career. With the above automation, literally I have eliminated my own Job! Management asked me to move into a new role as “Software Developer” by the end of 2010.
Over a period of time my code base has increased and Javascript started showing its real face. Refactoring code has become a nightmare. Every line of code written, suddenly appearing as a liability. Even though there are test cases but coverage is never going to be 100%. I have started experiencing maintenance hell first hand.
Started exploring statically typed languages like Java, Scala etc. but they are all coming with their own set of problems. Accidentally discovered Golang!
Golang: 2012Golang 1.0 launched with backward compatibility promise in March 2012 giving fresh breath of air. I have started exploring Golang, the more I explored the more I loved it. I have started porting all of my Javascript code into Golang. Suddenly all of my runtime errors became compile time errors and refactoring code became fun and no more fear of breaking something. Now my revised stack is:
- Client side: Backbone.js -> Ember.js -> Vue.js and Svelte.js
- App Sever: Golang (Just standard library no third party code except Database Driver)
- Database: PostgreSQL
- Single-Sign-On: OAuth2
- Visualisations: D3.js
With this stack, I have created and maintained 3 products viz.
-
MIS (Business Intelligence Reports ):
It involves fetching data from Transaction Processing Systems via API and consolidate all the data into single DB and build reports from it using SQL
-
Employee Appraisal System:
Self-service portal for mangers to manage rating and hike information of their reportees. It is used for keeping track of all employee performance related information and pay details.
-
Point of Sale (Self-service portal ):
I have developed point of sale (POS) system for employees. Employees can swipe their access card and buy things they needed. Amount will be automatically deducted from their payroll.
I have left Zoho Corp in Feb 2020 after more than a decade, to explore something new on my own. And started "Abiu Technologies Private Limited" as solo founder.
I have developed a Download Manger client for desktops (Windows, Linux and Mac) in Golang using Fyne framework for "L&T Infotech( NXP)" as Contractor.
This is to address problems faced by customers in developing countries while downloading huge files (usually more than a GB in size). Due to network issues browsers fail to download huge files after downloading say 90% or so. Downloading again from the beginning is a hell to customers.
This Download Manager allows customers to download files from exactly where they have stopped. No need to download from beginning. There by saving customer bandwidth and eliminating frustrations.
ExcelWorld.com (Excel Add-in) in C#I have developed Excel Add-in using C# for Finance professionals and Auditors. This add-in audits spreadsheets for errors and provides drill-down reports based on formulas and imporves the productivity in Excel.
Rust: 2021Golang has fulfilled its promises on the server side. But with the advent of WebAssembly, one can use their choice of language on the client side as well. Golang being Garbage Collected language, it is huge in size to serve in browser. Edge computing is on the rise. Demand for light weight binary code increased. Rust for rescue. Rust code can be used everywhere.
Current Tech Stack
- Back-end: Tokio(Axum) for web servers
- Front-end: Sycamore for Webassembly
- Database: Sqlite and Postgres
With this stack below products are developed.
PixelPeg.com in RustBrowser based Screen and Camera recording tool for creating short how-to-do videos and bug reporting videos. This is created using Rust (Sycamore for Webassembly).
live.abiu.com in RustThis is for Screen sharing and Video chat. This is very useful for one-on-one discussions. This is developed using Tokio(Axum) on the serverside and Javascript on the client side.
- AWS - for S3, Cloud-Front, API Gateway and Lambda
- Digitalocean and Linode - for Servers
- Cloudflare - Workers for Edge Computing, KV store and Pages for CDN
- Bitbucket and Github - for code hosting
- Github Actions - for CI and CD
- Payment Gateways - Stripe.com
Necessity and Curiosity are the driving forces in my journey. I strongly believe with these we can explore any new teritories without any fear.
Thank You. Happy Coding 👨💻
29th July 2022