Debdipto Ghoshal

I'm currently a Senior Software Engineer - 1 Software Development Engineer in Test at Commvault India Pvt. Ltd.

I have Masters degrees from University of Nottingham, UK, and St. Xavier's College, Kolkata, and a BSc from Scottish Church College, Kolkata, all in Computer Science.

For more details, take a look at my CV.

In the past, I've worked with startups and on research projects, mainly with a group at Yale.

My primary area of expertise is in cloud based analytics and in end to end infrastructure engineering for cloud servers used for IoT projects. I have designed, developed and implemented cloud based message passing, file transfer, and encryption APIs. I am proficient in embedded programming using the Arduino and the Raspberry Pi. I'm also interested in Home Automation and Computer Architecture.

I am a passionate programmer and writer. I have reasonably strong opinions about politics, enjoy constructive debates about philosophy, and have an insatiable appetite for non-veg cuisine.

You can find a number of software created by me on this page. For a detailed description of my projects, please visit Debdipto Systems.None of the projects are open source but some are free to use. Contact me at

Places I've worked at

Commvault India Pvt. Ltd

Commvault India Pvt. Ltd.

September 2017 — Current

Joined as a Senior Software Engineer - 1 Software Development Engineer in Test. Commvault is in charge of large data storage and retrieval. My work is to test the Hyperscale distributed file system based flagship product, develop automation tests and resolve customer issues.

Artifact Design LLP

Artifact Design LLP

November 2016 — August 2017

Joined as a Software Development lead to oversee a variety or projects related to IoT and e-commerce.



March 2016 — October 2016

Joined as the Chief Technology Officer and in charge of leading the entire technology division. Developed and implemented a highly optimized and scalable a cloud server to cater to thousands of clients. Supervised and actively collaborated with the hardware and the apps team, often taking major management and design decisions.



Nov 2013 — March 2016

Develop test cases for new features and bug fixes, deploying on Jenkins for nightly run on new builds, generating ATU reports. Manage platforms from extraction to data warehousing, resolving production level issues and constructing, setting up and repairing ETL pipelines. Resolve issues based on error logs for multiple VMs, consulting with developers for bug fixes or preventative enhancements. Currently heavily involved in automation of test cases as well as in-house development of libraries and softwares used heavily by development, QA and Apps team.


The OpTix Project

Aug 2013 — Oct 2013

Built ETL engine in C#. Created and maintained backend data warehouse in MySQL and MS Access. Built adapter, database management modules, and multiple monitoring services to track benchmarks and system health. Developed clients for data uploads in Java and C# along with analytics systems for customer dashboards.


University of Nottingham

Sep 2011 — Sep 2012

Received the High Achievers' Postgraduate Taught International Scholarship, with an overall Merit. The course included modules on Ubiquitous computing, HCI, Advanced Computer Architecture, Advanced Computer Networking and Mobile device programming. The final year dissertation involved developing 3 algorithms for reducing inter-process communication latency in the Xen Hypervisor.


St. Xavier's College, Kolkata

Jun 2009 — May 2011

Graduated with an overall first class. The course included modules on Mobile communication, data structures, microprocessors, image processing and cryptography. Final year project involved the conceptual creation of a novel frequency division bus multiplexed architecture for allowing simultaneous access to multiple memory banks along with a novel capacitor based low cost, high density memory design for storing Page files.

Scottish Church

Scottish Church College

Jun 2006 — Apr 2009

Graduated with First class honours. Took modules on Computer Architecture, Networking, Microprocessors, Graph Theory, Data Structure and Database Management Systems. The final year project involved the design and implementation of a client server system implement using servlets using Apache tomcat as well as a socket based client and a server written entirely in-house.

Projects I've worked on



An automatic backup making software for USB devices. The user may have multiple USBs to backup multiple folders. The software may run in parallel while the user changes the contents of the selected folders. All folder backups are made consistent as long as the software is running. This software was built by myself along with Debayan Gupta under Prof. Avi Silberschatz.


Oculus Server-Client

This is a boiler plate design for a generic TCP/IP based client-server arrangement. The clients may authenticate and connect to the server using a specific set of API calls. This design allows the developer to create his own API with minimal change to the rest of the code. This client server arrangement can be used for building chat messengers, file transfer systems and many more.

Oculus Raspberry Pi

Oculus Raspberry Pi Client

This is a Java based client specifically tailored to communicate with the Oculus Server when running off a Raspberry Pi. This client has a boiler plate design with GPIO library based functions that may be called as per user input. This client is primarily used for robotics, drones and home automation.


The OpTix Project

OpTix is an innovative, data-driven technology that maximizes Seat Occupancy + Profits for movie theaters. OpTix is a cloud-based enterprise product. The OpTix algorithm employs a powerful artificial intelligence based technology that dives deep into the granular data of consumers in order to predict future buyer patterns, maximize customer lifetime value, and automatically generate dynamic, data-driven marketing strategies. The official website is available here.



A dock for storing frequently used softwares which may be deployed either by clicking on them or by using hotkeys. Softwares may start in a particular sequence or based on events like timers or on startup. The online version of of this dock has an additional feature using which applications may be deployed remotely by communicating with the Oculus-Server using an Oculus standard compliant client. This is a freeware and more details may be found here in the official website.



A secure software designed to act as a personal diary. Each entry is AES encrypted using a key file which the user can store separately. The Pensieve may connect to the Oculus Server for securely storing the encrypted text and keys. This also allows text retrieval from other Pensieve clients.