
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]