Rohit Kulkarni, Developer in Mumbai, Maharashtra, India
Rohit is available for hire
Hire Rohit

Rohit Kulkarni

Verified Expert  in Engineering

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

Availability

Part-time

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