Sunny Sharma

 Sunny Sharma

Sunny Sharma

  • Courses1
  • Reviews2

Biography

University of Saskatchewan - Computer Science

Software Project Manager at Indellient Inc.
Sunny
Sharma
Toronto, Canada Area
# 5+ year experience developing cloud-based distributed and scalable web applications

# Fluent with IBM Cloud, DB2, PostgresSQL, Docker, Kubernetes, Data Lake, Flask, Swagger, Google App Engine, Python, HTML5, SASS, NoSQL, jQuery, JavaScript, Knockout JS, MySQL, Jinja 2, Twig, Memcache

# Experience in developing clean API interfaces using REST

# M.Sc. in Computer Science (University of Saskatchewan, Canada)

# Experience in developing and delivering high quality applications with focus on TDD, pair and mob programming using CI/ CD pipelines

# Experience in cross-platform mobile application development (Blackberry, Android, iOS, PhoneGap)

# Good interpersonal skills and proven ability to work in a team environment and deliver innovative solutions in a timely manner


Experience

  • University of Saskatchewan

    Sessional Lecturer

    I taught CMPT 280, an undergraduate course at the Department of Computer Science. The course enrollment was 23 students. My duties as a sessional lecturer included teaching, marking assignments and examinations, supervising the work of teaching assistants, and having regular office hours. The focus of CMPT 280 was to understand and implement the various data structures including containers, sets, queues, trees, lists and graphs.

  • University of Saskatchewan

    Teaching Assistant

    Served as a Teaching Assitant for courses: CMPT 111, CMPT 350 and CMPT 436 at the Department of Computer Science. My responsibility as a TA includes providing tutorials to a class consisting of 40-45 students. The major portion of tutoring is to make students get familiar with logic programming (writing pseudo codes, algorithms).

    Below are the details of each course material I covered:
    1. The major focus of CMPT 111 was to implement solutions in C++.
    2. CMPT 350 majorly focused on web programming and required extensive knowledge of HTTP, PHP and JavaScript.
    3. CMPT 436 involved teaching client-server communication using sockets. It also required good understanding of implementing Web Services using REST/ SOAP.

  • Vendasta

    Developer Advocate

    My job responsibilities included launching a new product called Marketplace with projected yearly gross revenue of $200K. This role required communicating with potential vendors and give them a system walkthrough and discuss the integration requirement. Worked closely with the vendors to come with an integration plan and assist them with any challenges they face. Assisted the vendor development teams by providing them with any necessary code snippets, documentation, flowcharts, algorithms etc. Acted as a first point of contact to the vendors and translate any feedback to actionable items for the development teams. And, constantly monitor performance and quality issues and work with the vendor to identify potential fixes to minimize system impact.

  • Indellient Inc.

    Machine Learning Engineer

    Sunny worked at Indellient Inc. as a Machine Learning Engineer

  • Indellient Inc.

    Software Project Manager

    Sunny worked at Indellient Inc. as a Software Project Manager

  • IBM

    Machine Learning Engineer (contractor)

    My role involves parsing targeted web content to drive sentiment insights from the data using natural language processing algorithms.

  • Manulife

    I raised funds along with my colleagues for 50K bike ride.

Education

  • University of Saskatchewan

    Master of Science (M.Sc.)

    Computer Science
    1. Awarded University of Saskatchewan Departmental Scholarship (Jan 2010- Dec 2010) 2. Awarded Faculty Scholarship (Jan 2011- October 2012) 3. Held position of Graduate Student Representative at the Computer Science Graduate Course Council in 2011 4. Held position as a VP-Internal at the Computer Science Graduate Course Council in 2010 5. Co-ordinated social events for International Student Association.

  • University of Saskatchewan

    Sessional Lecturer


    I taught CMPT 280, an undergraduate course at the Department of Computer Science. The course enrollment was 23 students. My duties as a sessional lecturer included teaching, marking assignments and examinations, supervising the work of teaching assistants, and having regular office hours. The focus of CMPT 280 was to understand and implement the various data structures including containers, sets, queues, trees, lists and graphs.

  • University of Saskatchewan

    Teaching Assistant


    Served as a Teaching Assitant for courses: CMPT 111, CMPT 350 and CMPT 436 at the Department of Computer Science. My responsibility as a TA includes providing tutorials to a class consisting of 40-45 students. The major portion of tutoring is to make students get familiar with logic programming (writing pseudo codes, algorithms). Below are the details of each course material I covered: 1. The major focus of CMPT 111 was to implement solutions in C++. 2. CMPT 350 majorly focused on web programming and required extensive knowledge of HTTP, PHP and JavaScript. 3. CMPT 436 involved teaching client-server communication using sockets. It also required good understanding of implementing Web Services using REST/ SOAP.



  • Guru Nanak Dev University

    Bachelor's degree

    Computer Engineering
    1. Graduated with Honors and ranked 2nd overall in my batch. 2. Awarded University Meritorious Student Scholarship for 3 out of 4 years at the university.



Publications

  • Supporting Interactive IPTV Apps with an Enterprise Resource Bus

    Advances in Intelligent and Soft Computing: Third International Conference on Software, Services and Semantic Technologies

    Delivering TV services via internet protocols over high-speed connections is commonly referred to as IPTV (Internet Protocol TeleVision). A particularly interesting aspect of IPTV is the augmentation of the subscriber’s TV experience with interactive applications (apps). Due to the service-oriented infrastructure of many IPTV platforms it is fairly easy to integrate 3rd party services and expose them in form of IPTV apps. However, due to the very competitive market in which IPTV providers operate, they are forced to minimize their costs and thus avoid costly customer complaints. This in turn introduces the need for highly dependable IPTV apps/web services with minimal downtimes. This paper focuses on the development of dependable web services for IPTV. Using Brewer’s CAP theorem the paper investigates the role of state-management within web services and presents the idea of the Enterprise Resource Bus (ERB) and an evaluation of its Erlang implementation.

  • Supporting Interactive IPTV Apps with an Enterprise Resource Bus

    Advances in Intelligent and Soft Computing: Third International Conference on Software, Services and Semantic Technologies

    Delivering TV services via internet protocols over high-speed connections is commonly referred to as IPTV (Internet Protocol TeleVision). A particularly interesting aspect of IPTV is the augmentation of the subscriber’s TV experience with interactive applications (apps). Due to the service-oriented infrastructure of many IPTV platforms it is fairly easy to integrate 3rd party services and expose them in form of IPTV apps. However, due to the very competitive market in which IPTV providers operate, they are forced to minimize their costs and thus avoid costly customer complaints. This in turn introduces the need for highly dependable IPTV apps/web services with minimal downtimes. This paper focuses on the development of dependable web services for IPTV. Using Brewer’s CAP theorem the paper investigates the role of state-management within web services and presents the idea of the Enterprise Resource Bus (ERB) and an evaluation of its Erlang implementation.

  • Sometimes when we touch: how arm embodiments change reaching and collaboration on digital tables

    In CSCW '13 Proceedings of the 2013 conference on Computer supported cooperative work

    In tabletop work with direct input, people avoid crossing each others' arms. This natural touch avoidance has important consequences for coordination: for example, people rarely grab the same item simultaneously, and negotiate access to the workspace via turn-taking. At digital tables, however, some situations require the use of indirect input (e.g., large tables or remote participants), and in these cases, people are often represented with virtual arm embodiments. There is little information about what happens to coordination and reaching when we move from physical to digital arm embodiments. To gather this information, we carried out a controlled study of tabletop behaviour with different embodiments. We found dramatic differences in moving to a digital embodiment: people touch and cross with virtual arms far more than they do with real arms, which removes a natural coordination mechanism in tabletop work. We also show that increasing the visual realism of the embodiment does not change behaviour, but that changing the thickness has a minor effect. Our study identifies important design principles for virtual embodiments in tabletop groupware, and adds to our understanding of embodied interaction in small groups.

  • Supporting Interactive IPTV Apps with an Enterprise Resource Bus

    Advances in Intelligent and Soft Computing: Third International Conference on Software, Services and Semantic Technologies

    Delivering TV services via internet protocols over high-speed connections is commonly referred to as IPTV (Internet Protocol TeleVision). A particularly interesting aspect of IPTV is the augmentation of the subscriber’s TV experience with interactive applications (apps). Due to the service-oriented infrastructure of many IPTV platforms it is fairly easy to integrate 3rd party services and expose them in form of IPTV apps. However, due to the very competitive market in which IPTV providers operate, they are forced to minimize their costs and thus avoid costly customer complaints. This in turn introduces the need for highly dependable IPTV apps/web services with minimal downtimes. This paper focuses on the development of dependable web services for IPTV. Using Brewer’s CAP theorem the paper investigates the role of state-management within web services and presents the idea of the Enterprise Resource Bus (ERB) and an evaluation of its Erlang implementation.

  • Sometimes when we touch: how arm embodiments change reaching and collaboration on digital tables

    In CSCW '13 Proceedings of the 2013 conference on Computer supported cooperative work

    In tabletop work with direct input, people avoid crossing each others' arms. This natural touch avoidance has important consequences for coordination: for example, people rarely grab the same item simultaneously, and negotiate access to the workspace via turn-taking. At digital tables, however, some situations require the use of indirect input (e.g., large tables or remote participants), and in these cases, people are often represented with virtual arm embodiments. There is little information about what happens to coordination and reaching when we move from physical to digital arm embodiments. To gather this information, we carried out a controlled study of tabletop behaviour with different embodiments. We found dramatic differences in moving to a digital embodiment: people touch and cross with virtual arms far more than they do with real arms, which removes a natural coordination mechanism in tabletop work. We also show that increasing the visual realism of the embodiment does not change behaviour, but that changing the thickness has a minor effect. Our study identifies important design principles for virtual embodiments in tabletop groupware, and adds to our understanding of embodied interaction in small groups.

  • Supporting Interactive IPTV Apps with an Enterprise Resource Bus

    Advances in Intelligent and Soft Computing: Third International Conference on Software, Services and Semantic Technologies

    Delivering TV services via internet protocols over high-speed connections is commonly referred to as IPTV (Internet Protocol TeleVision). A particularly interesting aspect of IPTV is the augmentation of the subscriber’s TV experience with interactive applications (apps). Due to the service-oriented infrastructure of many IPTV platforms it is fairly easy to integrate 3rd party services and expose them in form of IPTV apps. However, due to the very competitive market in which IPTV providers operate, they are forced to minimize their costs and thus avoid costly customer complaints. This in turn introduces the need for highly dependable IPTV apps/web services with minimal downtimes. This paper focuses on the development of dependable web services for IPTV. Using Brewer’s CAP theorem the paper investigates the role of state-management within web services and presents the idea of the Enterprise Resource Bus (ERB) and an evaluation of its Erlang implementation.

  • Sometimes when we touch: how arm embodiments change reaching and collaboration on digital tables

    In CSCW '13 Proceedings of the 2013 conference on Computer supported cooperative work

    In tabletop work with direct input, people avoid crossing each others' arms. This natural touch avoidance has important consequences for coordination: for example, people rarely grab the same item simultaneously, and negotiate access to the workspace via turn-taking. At digital tables, however, some situations require the use of indirect input (e.g., large tables or remote participants), and in these cases, people are often represented with virtual arm embodiments. There is little information about what happens to coordination and reaching when we move from physical to digital arm embodiments. To gather this information, we carried out a controlled study of tabletop behaviour with different embodiments. We found dramatic differences in moving to a digital embodiment: people touch and cross with virtual arms far more than they do with real arms, which removes a natural coordination mechanism in tabletop work. We also show that increasing the visual realism of the embodiment does not change behaviour, but that changing the thickness has a minor effect. Our study identifies important design principles for virtual embodiments in tabletop groupware, and adds to our understanding of embodied interaction in small groups.

CMPT 280

4.3(2)