Download My CV(Docx Format)

Download My CV(pdf Format)


My Technical Skills

Programming Languages
Programming: C, C++(11,14,17,20), Java, Go, Rust, ReactJS
Scripting: Python, Windows powershell, bash, javascript, cipher
Markup languages: SAML, XML
Debuggers
gdb,valgrind,ddd,Visual Studio, vscode
Operating System
Linux: Redhat, Ubuntu, CentOS
Active Directory: Windows 2012, Win-2019,Win-2022
Windows: 7,10,11, Linux Kernel, VMWare EsXi, RDP
Networking Protocols
LDAP, IPv4/IPv6, Multicast(IGMP,MOSPF,BGP) TCP,UDP
SIP,SDP, L2TP,MAC,OSPF, Control,Data plane, REST API
JSON, XML, DPDK, Routing Protocols OSPF, HTTP,HTTPS
Networking Security
IPSec,SSL,IKE,PKI,Certificates, AAA(Kerberos, Smart card, Active Directory),
Endpoint Detection and Response (EDR), IDS/IDP(SRX), Security Incident and Event Management (SIEM),
WAF, DOS, DLP, Data Encryption, Identity and Access Management (IAM)
Build Systems
make, cmake, jenkins
Versioning Systems
Git,svn.cvs,gerrit,perforce
Libraries
STL C++, Boost C++, clap Rust, SodiumOxide Rust, Tokio Rust
DSA, OOD, SD
Data Structures & Algorithms, Object Oriented Design, Multithreading,IPC, Distributed Systems,Design Patterns
Databases
MySQL,postGres,MongoDB,neo4j
Gateways
Cisco ASA, Palo alto,JunoOS,F5
Cloud Technologies
VMWare ESXI, Docker, Kubernets, Ansible, Devops, AWS(Amazon Web Services), GCP, Azure
Soft Skills
Time Management, TeamPlayer,Leadership, Strategy, Customer Obsession

Personal Projects / Contributions on github / opensource

C++, Boost
  • - Cross Platform CMake, Boost. Read csv files find total spending
  • - OOD/Object Oriented Design
  • - ThreadPool of 64Pools 4ThreadsPerPool
  • Rust
  • - Web Server exposing REST End points
  • - CI/CD as github Action, Read yml file, hash the repo and send to Http Server
  • Python
  • - RedHat Support Insights Parser for /var/log/samba
  • SSL/TLS
  • - Server, Client Communication using ssl,crypto libraries
  • Blockchain
  • - Etherium Blockchain APIs to get Ether balance and all transactions
  • Machine Learning
  • - Image Classification into 10 categories (0 through 9)

  • Professional Work Experience

    Juniper Networks India Pvt Ltd. (Jun 2021 – Till Date) Staff Software Engineer(C++, Rust, Cloud, Machine Learning)
    Golang Cross Platform daemon to read cpu, gpu usage and log the same in files/cloud
    main should relaunch itself in background once main exits
    Daemon process should read cpu, gpu usage and log the same in
    
    linux = /tmp/gpu_usage.txt and /tmp/cpu_usage.txt
    windows = c:/temp/gpu_usage.txt and c:/temp/cpu_usage.txt
    
    This should work seemlessly on cross platform on windows and linux.
    Design, Develop, Test, Add new features to JIMS(Juniper Identity Management Solution)
    What is JIMS? JIMS is distributed service. Collector collects information(user,groups,devices,events) from Identity Providers(Active Directory, Azure, Okta) and provide to Server(which stores in Postgres). SRX firewall queries Server on REST endpoint and server serves it.
    My responsiblities
    - Design, code, enhance, bugfix on-prem, AWS cloud of JIMS & UI (Rust) - Write SRX multithreaded stub in Rust using async,tokio.
    - Python scripting to dump Active directory(Win 2019,2022) information from customer's environment and simulate same in dev
    - AWS jims-server serving SRX firewall
    - Write Prometheus endpoint to scrap metrics(counter, gauge, histogram, summary) serving Grafanna
    - Kafka Producer, Consumer to send topics(messages) to kafka broker
    Design Azure, Okta Client to pull Identity information (Golang,Rust)
    Work? Write azure,okta client library to pull
    - users,groups,devices from Microsoft Azure,okta directory servers.
    - Push this information to JIMS server(on cloud)
    User anomaly detection using Machine Learning with Active directory data
    Train ML model to detect anomalous pattern from Active Directory event logs
    Optimizations in postgres
    Postgres query for handing 1.5 millions req/sec
    Multipod support to JIMS
    Troubleshooting issues in AWS Env
    1. JIMS not validating it's own issued oauth Token
    Background: To hit REST endpoint exposed by JIMS any service need to provide JWT Token to JIMS.
    - JIMS will get JWT token validated by kubernets API service, then provide its own oauth token, which any service can use to hit the endpoint
    Root Cause:
    - Deployment was done on 3 POP and 1 central region in AWS.
    - istio sidecar was enabled on whole cluster at namespace level in all 4 regions.
    - But JIMS server need not to be in sidecar model, since it recieves info from Active directory using collector
    - Hence 3 IP addresses were getting assigned from IP Pool in VPC, which was causing misconfiguration.

    AMD India Pvt Ltd. (Jun 2020 – Jul 2021) MTS Software Engineer(C,C++,Machine Learning)
    Project-1: Port Tools to VMWare ESXi using VMWareNDDK, code,Redesign(OOD)
    Tools are used for RW(GPU(Graphics Processing Unit) registers, PCI Config Space,Video Memory, port, CPU MSR Registers)
    Project-2: Update vctf(voltage,current,thermal,fan) in toollib MI300, MI500 GPU
    toolib Library? Interact with device drivers & collect vctf information Reading CPU/GPU Specification, adding register offsets, code.

    Red Hat India Pvt Ltd. (Jul 2016 – Jun 2020) Senior Software Engineer(C++, C, Python Programmer)
    Project-1: Design, Develop SSSD interface to the kernel.
    Redesigned interface for ldaps, ldap introducing ldap_nw_timeout
    Project-2: Fixing the design issues in samba file server passdb backend, rpclient
    Project-3: Write Parser for Red Hat Support Insights

    HCL Technologies(Cisco) (Jul 2014 – Jul 2016) Senior Technical Lead(IPSec, VPN C++, Python developer)
    Project-1: IKE, ISAKMP, SSL feature development for Cisco ASA
    Project-2: Reduced reported issues in OCSP by 20%
    Project-3: “Feature-Request” message implementation in OpenvSwitchPOC

    Samsung (Jul 2012 – Jul 2014) Lead Engineer C++
    Project-1: Offload encryption/decryption to Cavium Nitrox Card to increase TPS by 80%
    Samsung was planning to create SSL encryptor/decryptor hardware inhouse from old SDK based nitrox card
    Card detection, writing SSL applications for interaction with nitrox card
    Project-2: Design, Develop Smart TV Client application to receive AV over RTP. (C, Multithreading)
    Video stream received capture server and shows on console

    Clear2Pay (Dec 2010 – Jul 2012) Senior Software Engineer (C++, C, Verifone, Gemalto)
    Project-1: Implement Token Bucket Algorithm for Congestion Control on POS App
    POS application did not had rate control and hence huge packet drops and retransmissions. Developed interface for rate control
    Project-2: Develop Message Layer for Train control system
    Train system has 2 entities. Office server(Controller) & Locomotive(Moving Engine+ Train). My Role was to implement Controller

    Mtree Software Pvt Ltd. (Aug 2008 – dec 2010) Software Engineer (C, C++,Windows, Linux)
    Project-1: HAIPE(High Assurance Internet Protocol Encryptor)
    Design, Develop HAIPE(High Assurance Internet Protocol Encryptor) to provide secure gateways on Qualnet
    Project-2: Bell-Lapadula
    Design, Develop of Bell-Lapadula model on HAIPE to enforce access control (C++, Visual Studio)

    Bharti Airtel (Jan 2006 – Aug 2007) Associate Software Engineer (C, C++, Linux)
    Project-1: Airtel Live
    Design Application interface layer(AIL) on Video Delivery Platform(VDP)=Airtel live(send AV to 3G phones) using SIP,SDP
    Project-2: Multimedia Portal Application
    Design, Develop Multimedia Portal Application on Video Delivery Platform

    Education

    Masters
    Computer Science(Pursuing) AM University
    PGDM (Information Technology) 2008 AIMA, Grade A

    PG Diploma
    PGDEVD (Information Technology) 2006 CDAC, Grade A

    Bachelor
    B.tech (Electronics & Communication) 2005 UPTU University 74%

    Awards

    Juniper: Excel above and beyond
    AMD: Innovator Award
    RedHat: Red Hat Multiplier
    Mtree: Pat on Back
    Clear2Pay: Team Titan
    Samsung: Focus on Customer, Best Project
    Bharti: 2nd Best Project

    Languages

    English (Proficient)
    Hindi (Native)
    Marathi (Intermediate)
    French (Intermediate)
    Spanish (Beginner)