Rohit Kulkarni, Developer in Mumbai, Maharashtra, India
Rohit is currently unavailable

Rohit Kulkarni

IoT Developer

Mumbai, Maharashtra, India

Toptal member since November 19, 2019

Bio

Rohit has a master's degree in computer science from the University of Southern California and 10+ years of experience with various programming languages including C, C++ and C#. Having worked on a wide range of products from tiny ARM M0 based devices to REST APIs on the cloud, he has a solid understanding of software at all the different layers. He has previously worked at Microsoft and has also co-founded an IoT startup.

Portfolio

DSPWorks
C#, C++, C

Experience

  • Linux - 7 years
  • C++ - 6 years
  • STM32 - 5 years
  • Embedded C - 5 years
  • Windows - 4 years
  • MySQL - 3 years
  • C# - 3 years
  • Qt - 1 year

Preferred Environment

Real-time Operating System (RTOS), Git, Linux, Windows

The most amazing...

...project I've led is the entire software suite for a home automation system from the firmware on ARM M0 based smart devices to the cloud's DB.

Work Experience

Principal Software Architect

2014 - 2019
DSPWorks
  • Established the entire software stack for a home automation system from firmware to cloud.
  • Implemented firmware on ARM M0+ based devices on MQX using C.
  • Implemented the embedded gateway on TI RTOS using C.
  • Implemented the smart gateway on an SBC running Linux using C++.
  • Created an Android app for communicating with custom hardware over Bluetooth using Xamarin and C#.
  • Designed and implemented the encryption of wireless data over the extremely low-bandwidth RF channel.
Technologies: C#, C++, C

Contract Developer

2013 - 2014
Ingenero, Inc.
  • Developed a high-performance server for communicating with thousands of IoT devices using C++ and MySQL.
  • Wrote a test suite that could simulate thousands of devices to test the server's performance under extreme network load using C++.
  • Developed a secure protocol for IoT to cloud communication using OpenSsl.
  • Collaborated with the hardware team to help test the firmware.
Technologies: C++

Project Staff

2011 - 2013
Indian Institute of Technology
  • Helped with board-bring-up and initial debugging of the custom hardware.
  • Got U-Boot and Linux running on the new hardware.
  • Developed a driver for a Maxim chipset-based E1 to Ethernet convertor using C++.
  • Wrote scripts to automate testing of end-to-end communication between two devices.
Technologies: C++

Software Development Engineer

2007 - 2009
Microsoft
  • Worked on measuring and improving the performance of the MediaRoom DVR's UI.
  • Refactored legacy code to make it unit testable and wrote unit tests for it.
  • Designed and developed new DVR features.
  • Independently handled the lifecycle for the features implemented by me.
Technologies: C#

Experience

Vibe Smart Homes

Vibe Smart Homes is a retrofit home automation solution designed for the Indian household. It is a suite of smart devices including smart switches, curtain controllers, LED dimmers, gas sensors, IR emitters, etc.

As the principal software architect, I was in charge of the team that built the entire software solution from firmware to mobile apps to cloud. I developed most of the firmware and the Linux-based smart gateway software as well as provided the team with high-level design for the mobile apps and the cloud including the DB design.

Microsoft MediaRoom

https://en.wikipedia.org/wiki/Ericsson_Mediaroom
MediaRoom was Microsoft's end-to-end IPTV solution and the first live product I ever worked on (the business was later bought by Ericsson). I was part of the dynamic team that was responsible for the managed code of the DVR component on the set-top box (STB).

As a fresh grad, I was fortunate to work with some of the best minds in the industry. All of the managed code was written in C# using the .NET Compact Framework. Until I joined the team, I had never seen any C# code but, with the help of the team, I was writing production code in less than a couple of weeks. And in less than a year's time, I was independently implementing as well as managing the lifecycle of new features for the DVR!

At Microsoft, I learned how to apply my raw programming skills to write production quality code using best practices, TDD, Scrum, and more.

Biker Radio

The "Biker Radio" (internal code-name as the product is yet to be released) is a battery operated wireless radio for group communication. It has the following peripherals:
1. TI audio codec for real-time audio capture and playback
2. BLE module for communication with mobile apps
3. SemTech's LoRAWAN-based low-power radio module for wireless communication
4. STM32 based low-power MCU for integrating all of the above peripherals

I designed and developed most of the firmware including the code for the SPI, I2C, I2S and UART interfaces using the STM Cube and LL libraries.

I also developed the Xamarin Forms-based mobile application that allows the user of the hardware to create groups, add friends, and view the location of all members of the group even without a cellular network.

Education

2005 - 2007

Master of Science Degree in Computer Science

University Of Southern California - Los Angeles

2001 - 2005

Bachelor's Degree in Computer Science

University of Mumbai - Mumbai

Skills

Libraries/APIs

Standard Template Library (STL), OpenSSL

Tools

IAR Embedded Workbench, Keil, Eclipse IDE, Visual Studio, GNU Debugger (GDB), GitLab, Bitbucket, Git

Languages

C++11, Embedded C, C++, C#, C++14, C#.NET, C, XAML

Paradigms

Test-driven Development (TDD)

Platforms

Linux, Windows, STM32, TI-RTOS

Storage

MySQLi, MySQL

Frameworks

Qt, Boost

Other

Embedded Software, MQX, ARM, Real-time Operating System (RTOS), Xamarin.Forms, Cryptography

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring