Santosh Shankar

Summary


Graduate Student in Computer Science at University of Southern California with avid interests in Algorithms, Natural Language Processing, Machine Learning, Data Analysis, Web Development, Mobile Application Development, Product Development.

I was a Software Engineer at National Instruments for 2 years with expertise in designing, developing .NET APIs for Hardware Devices in C#. I was also a Technical lead and a Mentor to junior engineers.

Before working at National Instruments I was a research intern at Indian Institute of Sciences and worked at IBM India Software Labs as an intern.

Education


University of Southern California

Master of Science (MS), Computer Science
2013 – Pursuing

National Institute of Technology Karnataka

Bachelor of Technology (BTech), Computer Science, (8.54/10)
2007 – 2011


Technical Skills


Expertise Technologies
Expert Java, C, C#,Python, jsp, .NET CLR
Advanced C++, Android Programming, JSP, PHP, Javascript, HTML5, CSS3,XML, mySql, Relational Algebra, SQL
Good Django, JSON, jQuery
Beginner node.js, NoSQL, MongoDB, Hadoop

Software Technical Lead

National Instruments R&D, India - Bangalore
March 2013 – July 2013

Became the lead software engineer for the development of .NET APIs for Network Switch Device version 1.1. My role was to design and develop .NET APIs. I was also responsible for mentoring 1 junior engineer in developing and testing the product.


Software Engineer

National Instruments R&D, India - Bangalore
July 2011 – July 2013

  • Design, Development and Testing of .NET APIs for Hardware devices (like Network Switches,Signal processors and analyzers).
  • Researcher on memory and space optimization for LabVIEW, C and .NET APIs.
  • Researcher on calling .NET APIs from LabVIEW.
  • Actively took part in campus requirements to hire entry level positions.Became the lead software engineer for the development of .NET APIs for Network Switch Device version 1.1. My role was to design and develop .NET APIs. I was also responsible for mentoring 1 junior engineer in developing and testing the product.

  • Software Development Intern

    IBM India Software Labs - Bangalore
    April 2010 – July 2010

  • Developed a UI tool- SMART(Smart Miscompare Analysis Reporting Tool) which is being used by the Hardware Test team at IBM.
  • SMART is an Intelligent Debugging and Reporting Tool which used supervised learning algorithm and made intelligent analysis in the various bug report file generated during Hardware Testing.

  • Research Intern

    Indian Institute of Science - Bangalore
    Dec 2009 – Jan 2010

    Research and development of a new Clustering and Classification algorithm of Satellite Image data with a large number of bands.


    Convener - Student Head - Incident

    National Institute of Technology Karnataka, Surathkal
    May 2010 – May 2011

    Incident is the annual cultural festival of National Institute of Technology Surathkal. With a budget of over INR 5000000 (approx USD100000) and with a footfall count of over 20000 Incident is one of the biggest cultural festivals in India.

    As the head of the festival my responsibilities included :

  • Marketing and Channelizing budget for the festival.
  • Publicity of the entire event to colleges throughout the country.
  • Organizing, Planning and Scheduling of over 100 events spread over 5 days.
  • Managed over 700 student volunteers.

  • Part of Speech tagging and Named Entity Recognition [Java]

    University of Southern California - Los Angeles

    Develop and evaluate the performance of a Perceptron learning model for tagging each word with a part of speech in a document/ recognizing different entities like Name, Location, Company etc present in given a document.


    Multi-label Text Classification [Java] -Independent Project

    University of Southern California - Los Angeles

    Labeling/Tagging of Forum questions on Stack Exchange by remodelling the data into binary relavance problem.


    Text Clasification [Java]

    University of Southern California - Los Angeles

    Spam detection and Movie review sentiment analysis using Naïve Bayes and Perceptron learning algorithms


    Twitter Data Analysis [Java, Android]

    University of Southern California - Los Angeles (Self Initiated)

  • User will be able to click on a location (area) on a map.
  • The recent Tweets that are in this area will be displayed.
  • Prediction of various events at a location pointed by the user on Google maps using Twitter data.(Ongoing)

  • Modular Instruments Device APIs in .NET [C#]

    National Instruments R&D, India - Bangalore
    March 2013 – July 2013

  • Architected and developed framework for various devices (Switches, RF Signal Analyzers/Generators) using Design patterns.
  • Led a team of 3 engineers and accomplished the development of Switch framework from start to finish.
  • Researched on optimizations of space and memory usage of these frameworks between interfaces of C#, C and LabVIEW (marshalling).

  • Performance evaluation of hueristics on problem with constraints [Python]

    University of Southern California - Los Angeles

    Evaluated various heuristics (like MRV, MCV) for constraint satisfaction problems by building a Ken-Ken problem solver


    Android library to flood a table using a Json object [Java, Android]

    University of Southern California - Los Angeles (Self Initiated).

    An android library which uses a Json object to flood the table entries in a table layout.


    Android Application to give city weather forecast.

    University of Southern California - Los Angeles .

    A Web scrapper application to give weather information/forecast for a particular location (Zipcode/City).The application uses the Yahoo weather service API to get the weather information and a Java Servlet in the backend.


    Pacman Game Engine [Python]

    University of Southern California - Los Angeles.

    Built an AI engine to play pacman that uses probablistic inference technique to track the ghosts and avoid them.


    SMART (Smart Miscompare Analysis Reporting Tool)

    IBM India Software labs - Bangalore
    April 2010 – July 2010

    SMART is an Intelligent Debugging and reporting Tool which used unsupervised learning algorithm which made intelligent analysis in the various bug report file generated .


    Clustering and Classification of Image Data

    Indian Institute of Science - Bangalore
    December 2009 – January 2010

    Classified multidimensional image data by implementing a variation of k-means clustering algorithm and analyzed its performance against conventional algorithms.


    Research on calling LabVIEW and C from .NET

    National Instruments R&D, India - Bangalore
    January 2012 – May 2010

    Benchmark performance tests to check the performance of PInvoke calls to C and LabVIEW from .NET.


    Research on Memory Optimization

    National Instruments R&D, India - Bangalore
    April 2013 – July 2013

    Research on using memory more efficiently in C, LabVIEW and .NET APIs.


    GPU enabled SNMP Trap Receiver.- Undergraduate Thesis

    National Institute of Technology, Surathkal
    August 2010 – April 2011

    The objective of the project was to build a trap receiver with GPU capabilities.The tool was capable takes advantage of GPU’s and had processing capabilities to find the origin of fault in the network. It was built with intelligence to classify traps based on their severity.


    Intelligent Online Examination

    National Institute of Technology, Surathkal
    August 2009 – December 2009

    An online examination software which focuses on providing intelligence by analyzing student performance during an online examination. The software had intelligence and analyzed user’s performance during the exam and determined the succeeding question based on it.


    Improving Usability of Code

    National Instruments R&D India, Bangalore
    November 2012 – December 2012

    An online examination software which focuses on providing intelligence by analyzing student performance during an online examination. The software had intelligence and analyzed user’s performance during the exam and determined the succeeding question based on it.


    Building an Operating System

    National Institute of Technology, Surathkal
    August 2009 – December 2009

    Built a operating system which consisted of a boot loader and a microkernel. I was the only one out of a class of 72 to present a working Operating system built from scratch. I was guided by Dr. Annappa during the entire project.