Profile photo

Vaibhav Deshu

  • Software Development Engineer at Amazon
  • San Diego, California, United States
  • Internet

Previous positions

  • Graduate Service Assistant at Arizona State University
  • Engineer – Senior Engineer at Ittiam Systems Pvt Ltd


Arizona State University, Master’s Degree, Computer Engineering



Experienced Software Engineer with a demonstrated history of working in the mobile industry. Skilled in C/C++ Software Development. Strong engineering professional with a Master’s Degree focused in Computer Engineering from Arizona State University.


  • Software Development Engineer


    July 2019 – Present(3 months)San Diego, California

  • Senior Software Engineer


    2017 – Present

  • Software Engineer


    August 2016 – Present(3 years 2 months)Greater San Diego Area

    Video driver and HAL development.

  • Graduate Service Assistant

    Arizona State University

    June 2015 – August 2015(2 months)Phoenix, Arizona Area

    Worked as a student programmer to help develop a windows application which helps in teaching the Circuits class to undergrad students. Was involved in help improve the circuit tutor windows application.

  • Engineer – Senior Engineer

    Ittiam Systems Pvt Ltd

    June 2011 – December 2014(3 years 6 months)Bengaluru Area, India

    Research and Development of software for video communication devices. Own particular features in VC technology, design and implement them. Key projects in which I had significant contribution: – Porting of Ittiam VC SDK on multiple embedded platforms – Platform specific optimizations and tuning of video pipelines(glass-to-glass) – Development of VC applications on Android and iOS – Enhancement to the Ittiam media engine framework – User Interface design improvements in VC-SDK to provide intuitive APIs


  • Arizona State University

    Master’s Degree, Computer Engineering

    2015 – 2016

    Activities and Societies


  • R. V. College of Engineering, Bangalore

    BE, EC

    2007 – 2011

    Activities and Societies



  • English

  • Telugu

  • Kannada

  • Hindi


  • User thread library

    February 2015 – April 2015

    Develop a user thread library on linux which supports the following functions: – Preemptive scheduling of user-level threads with assigned priorities. – Timer related functions for periodic execution of a user-level thread. – Mutex lock and unlock for resource sharing between user-level threads. – Basic priority inheritance protocol and stack-based priority ceiling protocol. – Extend the project to multi-core platforms where different kernel threads are executed on different cores and different user threads are mapped to different kernel threads. The project was implemented on Ubuntu using the ucontext.h APIs provided. The program was implemented in C and gave me a complete understanding of threads, context switching and thread synchronization.

    Team Members (1):
    • Vaibhav Deshu
  • Driver Development

    September 2015 – December 2015

    Developed different types of drivers on Intel Galileo. Driver implementation involved kernel synchronization, task scheduling and kernel debugging. Developed the following drivers: – Driver that uses I2C protocol to read or write pages to Microchip 24FC256 EEPROM. – Driver that uses interrupt handlers to measure the distance using HC-SR04 Ultrasonic Distance Sensor and uses SPI to update the distance using MAX7219. – Driver which uses the input system of Linux to get accelerator and gyroscope data from MPU-6050 and update the status using SPI protocol to MAX7219

    Team Members (1):
    • Vaibhav Deshu
  • P2P file sharing system

    September 2015 – November 2015

    Develop a simple peer-to-peer file sharing system that uses a centralized directory server.The P2P file sharing system therefore consists of two major parts: – The implementation of a communication protocol between the directory server and a P2P client. This involved creating a custom protocol with UDP underneath and performs different operations to create a file directory. The protocol provides reliability on top of UDP and also the server is designed to process multiple requests at the same time. – The implementation of a communication protocol between a P2P client and a transient P2P server.using TCP to transfer the file between clients. The protocol uses a header similar to HTTP and also is multi-threaded to handle multiple transfers at the same time. The project, helped me understand implementation of different protocols and also writing writing protocols on top different transport layers.

    Team Members (1):
    • Vaibhav Deshu
  • Performance benchmarks of CPU

    January 2015 – May 2015

    Develop simple programs to understand the following concepts and determine few CPU parameters: – Find the cache size and the average memory access time. Determine size of the TLB as well. – Analyze and calculate the instructions per clock cycle for a processor. Add functions of different code size to the program and modify code size to find out the affects on IPC. – To find out the performance for different simple operations with vectorization enabled and find out the architectural implications. – To explore and understand thread level parallelism by performing different operations on different threads.

    Team Members (1):
    • Vaibhav Deshu
  • Real-time Task Models in Linux and Real-Time Scheduling analysis

    To program real-time tasks on Linux environment, including periodic and aporadic tasks, event handling, priority inheritance, etc. Use Linux trace tools to view and analyze real-time scheduling. Tested for schedulability for different fixed priority scheduling algorithms. Namely rate monotonic, deadline monotonic and fixed priority least slack time algorithms. Also, generated a big synthetic task set and analyze the different scheduling algorithms for the task set generated.

    Team Members (1):
    • Vaibhav Deshu
  • Sample twitter style application

    January 2015 – May 2015

    Develop an application to simulate a system of different users, each of which is connected to an online social networking service tweeter via a streamer. – The tweeter maintains a repository of all the tweets tweeted by all the users. – The user thread, performs tweeting and also does the follow operation of a particular hashtag – The streamer is in between the user and the tweeter and helps in transferring data in both directions. Helped me to get more understanding about maintaining databases and resolve synchronization and deadlock problems between threads.

    Team Members (1):
    • Vaibhav Deshu
  • Pulse Oximeter

    January 2011 – May 2011

    Develop a prototype of a pulse oximeter device. – A pulse oximeter is a device which indirectly measures the oxygen content of blood and can also measure the heart rate of a person. – It uses a sensor and a light source to measure the said values. – Used a PSoC device to develop the prototype The coding of the project was mainly done by me.

    Team Members (1):
    • Vaibhav Deshu


  • Distributed Audio/Video bridging for conference end-points.

    us 14321840

    It talks about hosting a video conference with bridging happening completely within the end points and balancing the load amongst these end points.

    Inventors (3):
    • Vaibhav Deshu,
    • Goutham Vijayakumar,
    • Kashif Shamaz

Skills & Expertise

  • Matlab
  • Data Structures
  • Embedded Software
  • Linux
  • Embedded Systems
  • Microcontrollers
  • C
  • Debugging
  • C++
  • Software Engineering
  • Java
  • Computer Architecture
  • SQL


Arizona State University

  • Computer Systems
  • Distributed and Multiprocessor Operating Systems
  • Real Time Embedded Systems
  • Operating Systems
  • Communication Networks
  • Computer Architecture

Volunteer Experience & Causes

Causes Vaibhav cares about:

  • Children
  • Economic Empowerment
  • Education
  • Environment
  • Health