# Vatsal Shah > Software Engineer Location: Sunnyvale, California, United States Profile: https://flows.cv/vatsalshah Systems software guy ## Work Experience ### Staff Software Engineer @ SafeAI, Inc. Jan 2021 – Present The company retrofits mining vehicles with a kit that allows them to navigate and perform tasks autonomously. I created the entire communications layer by architecting the asynchronous TCP client/server model ( in C++ on the vehicle side, in Python on the web side ). 1) Transport service - On the vehicle side, the service operated as a TCP client and connected to the on-premise server. It relayed following to the server : measurements ( e.g. location, velocity ) at continuous intervals, events ( e.g. assignment progress, detection of obstacles ), and responses to the received requests/commands. It used POSIX poll APIs for discerning readability/writability of the network socket. - On the web application side, the service operated as a TCP server and accepted connections from the fleet of vehicles. It used RabbitMQ as the source of the messages that must be forwarded to each vehicle, and also as the sink of the messages that arrived from each vehicle. Employed the ‘async’ library in order to minimize any IO wait times. - The service integrated cleanly with other modules in the system. For example, it called upon the APIs of the mapping library to determine the segment containing the vehicle's destination location and then dynamically found the trajectory to it. - Developed message-level ACK support on top of TCP to achieve reliable delivery of crucial messages despite any adverse condition ( e.g. disconnection, end of process on either side ). - Worked on top of ROS2 middleware, learned intricacies of the pub/sub model, and tuned QOS settings of DDS. ### Software Engineer @ V5 Systems Jan 2017 – Jan 2021 | San Francisco Bay Area Various backend functionalities in C++ and Python in Ubuntu environment for the IOT product of the company : a surveillance unit that has a processor-board, an ip camera, an in-house-designed power-management board with multiple sensors, network adapters, and external storage. This device provides continuous video streaming to a customer-accessible web-portal, and more importantly, sends alerts when vehicles/people cross predefined areas in the field-of-view. End-to-end coded following services : 1) Sensor service. - Communicated with the sensors-controlling firmware on the power-management board, using an efficient byte-oriented protocol, over a serial port. Collected battery, temperature, humidity, and GPS readings periodically and stored them in an sqlite database. Drove operations such as power-cycling the system, resetting different chips, and punching the heartbeat at regular intervals. - Asynchronously handled client requests over TCP for retrieving historical and real-time data, and for performing the operations listed above. - The service required a modular design where many different actors had to funnel their queries to a central entity that serialized them ( i.e. sent them to the other side, waited for the answer, parsed the answer, and sent the next one only when the previous query had been resolved ). 2) Remote-shell service. - The units required the ability to execute remote commands from the server to retrieve health-related data. This service provided the ability to run any quick or long-running command and gave back the resulting stdout, stderr, and return-code. - Utilized subprocesses to spawn these commands, pipes to write to stdin and extract from stdout/stderr, and waited in non-blocking manner on multiple concurrent executions. ### Software Engineer @ Arista Networks Jan 2012 – Jan 2016 | Santa Clara 1) Devised a new thermal policy for 7300 family of modular switches that maximized their uptime by eliminating proactive shutdown. - Earlier, the policy was very conservative in the face of deficient cooling and/or overheating components. - Conceptualized the entire logic flow, i.e. designed classes, made sure every relevant change in the status of a temperature sensor propagated to a place where a decision was made regarding its impact, kept data structures in sync in response to events such power-cycling a card. 2) Implemented a CLI feature on 7050QX that named the interfaces differently after a reboot. It allowed customers to maintain compatibility with interface names of a similar previous product. - This feature required adding a good amount of infrastructure for its testing; I added a pre-processing step in the testing workflow which changed the unit's current interface-setting to be the new scheme in the global db ( so that what the unit reported could be corroborated by the truth in db ). There was a corresponding post-processing step that reverted these db changes. 3) Developed diagnostics tests for the 2RU 7250QX Ethernet switch. These tests were deployed in production assembly line for functional verification of every unit. - Created the datapath that made connections from NIF ports to Trident-II switch-chip warpcores and fabric connections between Trident-II switch-chips. This was used by the main traffic test. - Extended software drivers of various SMBUS and PMBUS devices, e.g. overrode over-temperature shutdown in power supplies by sending vendor-supplied commands. - Using multi-threading, sped up a production process by parallelizing programming of power controllers of lower and upper board of 7250QX. ### Software Engineering Intern @ Google Jan 2011 – Jan 2011 | Mountain View 1) Worked on a GWT application ( in Java ) in Gmail ads team that would give sales department the ability to upload advertisers’ content-ads. - Organized a large GWT application through MVC pattern and built-in mechanisms such as EventBus. - Improved the GUI and made it more intuitive, added authentication, constructed complex queries for the backend datastore, and contributed to the deployment and monitoring of the application in production. - Utilized EasyMock and Guice frameworks for testing and dependency injection, respectively. ## Education ### Bachelor’s Degree in Computer Science UC San Diego ## Contact & Social - LinkedIn: https://linkedin.com/in/vatsal-shah-7a3a8928 --- Source: https://flows.cv/vatsalshah JSON Resume: https://flows.cv/vatsalshah/resume.json Last updated: 2026-04-12