Saurabh Kumar

Welcome

A software engineer by profession, I am passionate about all things engineering. I enjoy conceptualizing, designing, estimating, building, and improvising products. I have a knack for learning and do not hesitate to go above and beyond to improve my work.

SDLC

Professional Summary

Master’s in Computer Science with extensive knowledge & experience in developing Systems Software, Compilers, High Performance & Scalable Systems and Cloud Computing in top multinational fortune 500 product companies. Possess strong Computer Science fundamentals including Data Structures, Algorithms, System Design, Design Patterns & Object Oriented Programming concepts.

Current Position

Senior Compiler Engineer @ Ericsson Inc. - 2 Years 3 Months

Description: Focused on the development & extension of LLVM infrastructure to build tools and software for high-performance DSP firmware. Currently working on the development of static analysis tools using clang-tidy & clangsa, dynamic analysis using UBSan, CodeChecker, and automatic source code formatting using clang-format
Date: July, 2019 - Present
Location: Austin, Texas, USA

Technical Details

Core Competencies

  • Profound knowledge of algorithms, data structures, system design, design patterns and object-oriented programming paradigm
  • Knowledge of advanced level programming in C & C++ including C++11, STL containers, C++ templates, and standard library
  • In-depth understanding of operating systems, multithreading, multiprocessing, and parallel & distributed computing concepts
  • Developed and supported several commercial applications using C++ with more than 100K LOC
  • Proficient in all the phases of software development lifecycle in agile, kanban, and test driven development environments

Areas of Interest

  • Compiler Technologies Development
  • Backend Development in C & C++
  • Systems Software Development
  • High Performance & Scalable System Design & Development
  • Parallel & Distributed Computing

Technical Skills

  • Languages: C/C++, Python, bash, XML, JSON, HTML, CSS, Javascript, Starlark
  • Libraries: C++11, STLBoost, PThreads, MPI, OpenMP, CUDA, Numpy, Scipy, Sk-learn, Nltk, Pytorch
  • Frameworks: LLVM, Bazel, Django-Python, CppUnit, CUnit, Cmake, RabbitMQ, HAProxy
  • Development Tools: GDB, Vim, Valgrind, UBSan, GProf, Coverity, Doxygen, Eclipse, Visual Studio
  • Concepts: OOP, SOA, Agile, Kanban, BDD, TDD, SDLC
  • DevOps Tools: Jira, Gerrit, Git, Perforce, Bugzilla, ClearQuest, Code Collaborator, Rally, Pivotal Tracker
  • Platforms: Linux/Unix, Windows, Mac OSX, LSF, SGE, AWS, Google Cloud
  • Hardware: VHDL, Verilog, SystemC, UVM, SVA, PSL, UPF, STA, Simulation, Emulation, FPGA Prototyping
  • Databases: MongoDB, Redis, SQL, Cassandra

Job Experiences

Full Time Jobs

Compiler Developer @ Ericsson Inc.

  • Date: July, 2019 - Present
  • Company Website: www.ericsson.com
  • ROLES & RESPONSIBILITIES:
    • Conceptualized & created several static analysis checkers to automatically identify and correct bug prone C code in the firmware
    • Conceived & implemented the plan for development & extension of UBSan to support full runtime dynamic analysis in memory constrained embedded environments within the 5G domain
    • Accomplished feature extensions & collaborated with several teams for integration of CodeChecker to facilitate static and dynamic analysis of entire C source code at Ericsson
    • Investigated & fixed issues reported in the clang static analyzer related to symbolic execution of C source code
    • Proposed, produced & deployed a tool to automatically format C source code according to Ericsson coding guidelines which resulted in significant reduction of customer issues due to incorrect programming practices

Lead Member of Technical Staff (R&D) @ Mentor, A Siemens Business

  • Date: August, 2016 - April, 2017
  • Company Website: www.mentor.com
  • ROLES & RESPONSIBILITIES:
    • Lead developer for software that helps customers automatically perform verification tasks with minimal configuration. Worked with users to gather requirement, designed, developed & tested a fault tolerant software which resulted in 50% faster turnaround time
    • Designed and implemented power specification language support in compiler of FPGA prototyping using C++; Performed code optimization via hanging logic removal, dead logic elimination & complex algorithms reducing memory usage by 30%
    • Worked in all phases of SDLC including backend development for FPGA compiler using Agile development methodology & improving product quality by incorporating customer feedback, changing requirements and reducing overall development time
    • Proposed feature plans created future roadmaps & test requirement documents for compiler software by collaborating with multiple teams; Performed code reviews, bug fixes and progress review to ensure accuracy and timely development of software

Senior Member of Technical Staff (R&D) @ Mentor, A Siemens Business

  • Date: August, 2013 - July, 2016
  • Company Website: www.mentor.com
  • ROLES & RESPONSIBILITIES:
    • Handled design, development, test and debug of large system software. Analyzed code for efficiency, stability, portability, scalability & integration with various platforms. Provided post production customer support to quickly resolve issues
    • Developed a compiler driver software using C++ to aid in verification of hardware devices for FPGA prototyping system. Designed the driver software interface, software requirement specifications & architecture documents
    • Programmed a multiprocessing software using C++ to identify mutually exclusive compilation phases and run them in parallel over grid, LSF, and machine list, resulting in over 200% runtime efficiency
    • Supported VHDL-2008, a hardware design programming language using C & C++ in the compiler of Questa Visualizer debugger facilitating advanced verification environment and reducing overall verification time by 10%
    • Implemented encryption mechanism using C & C++ in VHDL compiler as per IEEE-1735 standards for IP protection

Member of Technical Staff @ NetApp Inc.

  • Date: July, 2012 - July, 2013
  • Company Website: www.netapp.com
  • ROLES & RESPONSIBILITIES:
    • Contributed towards the backend of SANtricity using C++, an enterprise storage array management software. Worked on storage array discovery and support bundle collection features
    • Engineered command line programs for volume management, firmware inventory and array discovery features using C++ as part of the SDK package

Internships

Software Engineering Intern @ NetApp Inc.

  • Date: May, 2011 - July, 2011
  • Company Website: www.netapp.com
  • ROLES & RESPONSIBILITIES:
    • Created a tool using Python to validate the integrity of fingerprint database used to identify potential metadata corruption that could lead to data loss during deduplication. Quickly learned the required technologies, understood requirements, designed, coded, tested and successfully delivered the project which garnered me a full time offer from NetApp

Software Engineering Intern @ Infogile Technologies

  • Date: May, 2010 - July, 2010
  • Former Company Website: www.infogile.com
  • ROLES & RESPONSIBILITIES:
    • Built and tested J2ME mobile application by implementing functionalities for buffering and streaming media, XML parser, live feeds and Facebook integration using KXML and Facebook mobile API

Part Time Jobs

Graduate Assistant @ Texas A&M University

  • Date: August, 2017 - May, 2018
  • University Website: www.tamu.edu
  • ROLES & RESPONSIBILITIES:
    • Developed an auto grading software to automate the grading of C++ programming assignments via static parsing of code as well as dynamic execution according to scoring rubrics for Department of Computer Science, Texas A&M University

Check out my recent posts ›