Curriculum Vitae

PersonalProfessionalProjectsCertificationsSkillsEducationContact
Vishal-Chovatiya-Circle-Cropped

Hi, I’m Vishal — Experienced Enthusiast For: C++, System Software, Firmware, SoC Modeling & Leadership.

I am a techie who writes software in Assembly/C/C++(11/14/17)/SystemC/Python along with any other technologies that are needed to get things done. I also dabble in blogging, leadership, technical writing & application programming when time permits.

At present, leading a team on a technical front along with non-technical nuisances, to create a high impact on individual team member’s career growth while considering corporate accountability also. And that’s where I am losing most of my valuable time these days.

Apart from technical things, I find myself excellent in technical recruitment, competency-based interviewing, leadership & project ownership.

Some of the words that describe me the best: Software Developer⌨, Tech-Lead?‍✈️, Product Owner?, Fitness Freak?, Geek?, Hipster?, Blogger?‍?, Productivity Hacker⌚, Technical Writer✍️, Tech talker?‍?, Leader?‍?, Manager?, Mentor??‍?, Always a Student?‍?, Incomplete? & Learning Junkie?.

Languages

Hindi, English, Gujarati

Date Of Birth

15th March

Hobbies

Coding, Music, Workout, Foosball, Cricket

7+ Yrs of acquaintance with writing Firmwares, Embedded Systems, Application Softwares, Low-level system development & SoC modelling.

Infineon Technologies
9/2020 – Present

  • Currently, accepting whatever comes in a way.

CircuitSutra Technologies Pvt Ltd
7/2017 – 8/2020

  • Worked with heterogeneous peoples to build a virtual prototype for electronic systems, computing platforms & SoCs to reduce time to market, pre-silicon functional verification, architecture exploration & early software development.
  • Day to day work involves different IP programming using SystemC(kind of C++) like a timer, watch-dog, communication protocols (SPI, I2C, etc), integration of different IP to create SoC, writing multicore firmware & software to verify Virtual Prototype.
  • The typical languages used are Assembly, C/C++(11/14), SystemC, Python and someday hack of shell/batch & TCL scripting.

HCL Technologies Pvt Ltd
6/2016 – 6/2017 : 1 Year

  • Worked with some really weird people to develop a proprietary OS for the supercomputer.
  • My work was to handle/port/analyse/debug core C library upon which we were building OS functionalities.
  • Most of the time I had to deal with a typical C & Assembly code which is written by some experienced psychic.

Skilrock Technologies Pvt Ltd
5/2015 – 5/2016 : 1 Year

  • Developed payment gateway applications which you may not hear(like Ingenico, TPS, Spectra) but come across daily at malls, petrol pumps & supermarket stores for billing.
  • Provide end to end solution to customers with the single hand-coded application.
  • Resolved bugs and errors in old projects in co-operation with java developer and testing team.

Satyam Software Solutions Pvt Ltd
4/2014 – 4/2015 : 1 Year

  • Wrote firmware for microcontrollers like 8051, ARM Cortex-M4.
  • Wrote embedded software in C/C++ with Linux system programming.
  • Prepared design document –SRS(software requirement specification), the datasheet of finalized & tested products.
  • Also done reverse engineering in co-operation with hardware board design team to design (copy in a real sense) product.
  • Maintenance of old projects in Delhi metro.

Achieved experience on most of the computer engineering layers, starting from digital hardware design, bare-metal softwares, firmware, linux kernels to application softwares.

CircuitSutra  Technologies Pvt Ltd

Automotive SoC

  • Technology: Assembly/C/SystemC/C++ & Python
  • Specification: Wrote bare-metal software to verify the functionality of the developed virtual prototype of multicore(10+ cores) SoC having multiple integrated peripherals including ARM’s GIC(Generic Interrupt Controller), ARM’s DMA330, SPI, I2C,  multicore timers, WDT, clock management unit, windowed WDT, mailbox(inter-processor communication), etc. Also validated & debugged Linux device drivers to provide support to BSP bring-up team.
  • About Automotive SoC: This automotive SoC is a hard real-time system for driver assistant so it contains 8 application-specific core of ARM(i.e. A76, ARMv8A), 2 real-time core (i.e. CR52, ARMv8R), 4 Cadence Tensilica HiFi 4 DSP core for audio/speech processing & bunch of supporting peripherals.

F1M/F1H: Automotive Single & Multi-Core Microcontroller

  • Technology: SystemC/C++ & Python
  • Specification: Developed virtual IP for SoC & wrote bare-metal software to validate VP. Enhanced already modelled IP blocks of stand-by-controller, timer and interrupt controllers. Prepared firmware to test complete SoC using python callback to measure clocks & frequency input of different integrated models.
  • About F1M/H: Renesas’s automotive series real-time microcontrollers for AUTOSAR.

SAFETY-BY-SOFTWARE: Specific IP Block For Main Computing Machine Safety

  • Technology: SystemC/C++ & Python
  • Specification: Advanced form of watchdog timer running on a separate core(ARM Cortex-M3) which is not only used to monitor the main computing machine by timer/time-out but also keeps track of the state of the main application to provide hard real-time performance.
  • About SAFETY-BY-SOFTWARE: It just not run a timer to measure the work done of the main system but also take care of state machine of main computing machine’s software in a separate core to prevent malfunction and provide hard real-time functionality.

HCL Technologies Pvt Ltd

Proprietary Operating System

  • Technology: C, Assembly, Python
  • Specification: Develop & maintain support for system calls & core c library functions.
  • About OS: Participated in developing a new proprietary operating system for proprietary hardware of supercomputer on Linux kernel & bases on Eeebuntu.

Skilrock Technologies Pvt Ltd

Lottery Management System(LMS)

  • Technology: C/C++
  • Specification: Develop application on Payment Gateway Terminals to maintain Casino’s Lottery and Game services.
  • About LMS: it is a complete system build by Java application server, C/C++, Android and other technology to maintain Casino’s Lottery and Game services.

Satyam Software Solution Pvt Ltd

Token Capture Unit(TCU)

  • Technology: Embedded C, Windows serial port driver, Reverse engineered UART Protocol.
  • Specification: Microcontroller P89V51RD2 controls IR sensors & solenoids to trace & validate RFID tokens by continues communication using RS232 with Gate Control Unit (GCU).
  • About TCU: it is a mechanism used to capture token inserted by passengers to travel in a metro train.

Add Value Machine or Ticket Reader (AVM/TR)

  • Technology: C/C++, Linux Shell Scripting.
  • Specification: Developed two separate application one for reading RFID cards & second is GUI using DirectFB in Linux. Connected those with message queues, signalling and cross-compiled to run on ARM-based architecture along with high-resolution touch screen display.
  • About TR/AVM: Used to read & add balance in smart card used in Delhi Metro Rail Corporation (DMRC).

Automatic Feeding Machine & Passage Control Module(AFM & PCM)

  • Specification AFM: P89V51RD2 control motors along with some mechanical parts by a TV remote and DMRC’s application interface using the UART standard.
  • About AFM: Automatic Feeding Machine feeds RFID tokens to Passenger according to the amount received by the machine.
  • Specification PCM: Hydraulic motors, relays, optocouplers and high power management ICs controlled by a microcontroller.
  • About PCM: Passage Control Module controls the AFC gate’s barrier. I have done the only maintenance of these projects.

15. Learning to Be Assertive

LinkedIn Learning

  • Learned to be assertive.
  • And various communication techniques like an onion peeling, questioning to persuade, broken-record techniques, getting correct feedback, etc.

14. Regular Expressions

LinkedIn Learning

  • ECMAScript flavoured regex syntax.
  • Various application of regex from a simple search, search + replace to input validation using C++ APIs.
  • Learned usage of various online tools to craft perfect & optimal regex.

13. Modern C++ Concurrency in Depth

Udemy

  • Threads & Jthreads with threads management
  • Sharing data between threads with a synchronization mechanism
  • C++ Memory Model
  • Lock based & lock-free data structure programming

12. Functional Programming using C++

Udemy

  • Functional programming terminologies like type annotation, currying, high-level expressive code, functional composition, etc.
  • Thinking functionally like memoization, monoids, monads, functors, etc.

11. Design Patterns in Modern C++

Udemy

  • Learned about newer features of Modern C++.
  • Got to know about SOLID design principles & how it helps in agile & adaptive software development.
  • Implemented all the Creational, Structural & Behavioural Design Pattern using Modern C++.

10. C++ in detail: Common Idioms

Udemy

  • Learned about advanced C++ concepts like SFINAE, CRTP, RTR, Proxy, Type Erasure, etc.

9. C++ in detail: Exceptions

Udemy

  • Learned about exception handling strategies & nested exceptions.
  • Also seen the Modern C++ features related to C++.
  • Extracted the real cost of using exception handling by google benchmark.

8. Mastering C++ Standard Library Features

Udemy

  • Learned Modern C++(11/14/17).
  • Grabbed value semantics, created movable classes, used Lambdas and got an introduction on compile-time programming.

7. C++ For C Programmers, Part A

Coursera

  • A refreshed basic aspect of C++ along with graph algorithms.

6. C++ For C Programmers, Part B

Coursera

  • Learned advanced C++ concepts like move semantics & smart pointers by using it in basic game development.

5. Learning How to Learn

Coursera

  • Learned different techniques, tricks & psychology related to learning new things.
  • Concepts on memory & neurons.

4. Design Analysis Of Algorithm

IIT Madras

  • Got a view on algorithmic techniques like Divide & Conquer, Greedy, Dynamic Programming, Sorting & Searching techniques along with Time & Space Complexity Analysis of Algorithm.

3. Programming Data Structure & Algorithm

IIT Madras

  • Learnt Data structures like Stack, Queue, Heaps, LinkList, HashMap, Advance Trees like AVL, RedBlack, Trie, BST, Binary, Treap
  • Also coded Graph DS & Algo.

2. Python

IIT Madras

  • Got an overview on inbuilt data structure like a list, dictionary, tuple, string manipulation, threading, file handling.
  • Also done execution of Linux commands & automation test scripts mini project.

1. Embedded System Design

Cetpa Infotech Pvt Ltd

  • Industrial training after graduation on Embedded C with microcontrollers like 8051, AVR, ARM, Linux-RTOS concepts.

Programming Languages

  • Assembly (Very Good)
  • C (In & Out)
  • Embedded C (Good)
  • C++11/14/17, STL, Design Patterns (Excellent)
  • Python(Good)
  • SystemC(Good)
  • Linux Shell Scripting (Moderate)
  • AutoHotkey(Moderate)

Microcontrollers

  • ARM7 (LPC21xx series)
  • AVR (ATmega series)
  • MCS-51 series
  • ARM Cortex-M4 (STM32F407-discovery board)

Technical Tools

  • Proteus Hardware Design Suit, Synopsys Virtualizer
  • MobaXterm, Putty, TigerVNC, mRemoteNG
  • Vim, Sublime Text, VSCode
  • Synopsys Virtualizer, TLM creator
  • Beyond Compare, DiffPDF
  • Trace32, gdb
  • Github, Perforce, Beyond Compare
  • Regex

Productivity & Management Tools

  • OneNote, Google Keep, Google Calendar
  • Wekan, Trello boards
  • MS Office
  • Textik, Windows Ink Workspace, Clover

Soft & Other Misc Skills

  • Excellent with automation by Python & AutoHotKey for the repeated task.
  • Good in technical-recruitment, competency-based interviewing, leadership & project management.
  • Writing clean, efficient, scalable, maintainable & expressive code is my speciality.
  • Technical Writing, Blogging, Branding, SEO.

Other

  • Protocols – UART, SPI, I2C
  • Encryption – AES & DES CBC MAC through OpenSSL
  • RFID Technology – Sony Felica, NXP’s Mifare DESfire, etc
  • Reverse engineering of UART Protocol
  • Knowledge of AFC(Automatic fair collection) domain of Delhi Metro
  • Rail Corporation
  • Productive & Efficient user of Vim, VSCode, Sublime Text
  • Payment Terminals – TPS, Ingenico, Spectra
  • Tech Talk on Demystifying C++ @CppIndia
  • Tech Talk on Regex with Modern C++ @CppIndia

B.Tech In Electronics & Telecommunication

06/2010 — 06/2013

  • Aggregate with 81.6%
  • Major: Communication

Diploma In Electronics & Telecommunication

06/2007 — 06/2010

  • Aggregate with 60%
  • Major: Digital Electronics

Matriculation(10th Standard)

06/2006 — 06/2007

  • Aggregate with 70%
  • Major: Science, Maths, Sanskrit.

Let’s talk —

+91 95555 35096

Connect with me on

Facebook, Linkedin, GitHub, Quora

Say hi —

by email: [email protected]