resume

1
Puneet Gill puneetgill.com [email protected] | 647.470.6984 EDUCATION UNIVERSITY OF WATERLOO B.A.SC. IN ELECTRICAL ENGINEERING Expected June 2017 COURSEWORK Cooperative and Adaptive Algorithms Computer Networks Computer Security Embedded Microprocessor Systems Algorithms and Data Structures Digital Computers Communication Theory Analog Control Systems ASSIGNMENTS PEER-TO-PEER CONTENT MANAGE- MENT SYSTEM Supported functions of adding and removal of peers and content to the peers while maintaining a load balancing condition. MUSIC PLAYER Implemented a music player on Altera DE2 FPGA to play .wav files in different play modes (half speed, double speed, reverse, one channel delayed). COMPUTER SECURITY LABS Implemented various software vulnerability attacks. PATH FINDING APP Used accelerometer, gyroscope and compass to count the footsteps and direct user to a chosen destination on a map. SKILLS PROGRAMMING Java • C/C++ • Python • Go Shell • JavaScript • Clojure Matlab • ARM Assembly • VHDL Ruby • L A T E X• CSS TECHNOLOGIES Docker • Kubernetes • git • gdb Redis • Flask • PostgreSQL LINKS LINKEDIN: ca.linkedin.com/in/puneetgill05 GITHUB: github.com/puneetgill05/ EXPERIENCE WEMESH | BACKEND ENGINEER INTERN Sep – Dec 2015 | Waterloo Node.js, Clojure, Go, Hystrix, Apache Kafka, Kubernetes, Zookeeper, Docker • Worked on implementing a custom messaging protocol to support large number of users. • Wrote a library for sending GCM XMPP notifications in Java with a throughput of 30K messages/second. • Wrote a bot in Go to test the scalability of the app by supporting all features including VoIP, chat and voting. • Optimized the server to be able support 3K users in a single mesh(chat). • Reduced latency in user join times due to large number of users in a single chat from 8 seconds to 30 milli seconds. WEMESH | ANDROID DEVELOPER INTERN May – Aug 2015 | Waterloo Android, Retrofit, C, Python, Exoplayer • Worked in the Android team to make a video syncing app (100K - 500K downloads). • Worked on building core features of the app: sync engine, video voting & VoIP client. • Implemented automatic and manual video quality selection; reduced initial video load-time on poor networks by 3 seconds on average. • Worked on echo cancellation during VoIP to improve VoIP quality across devices. • Automated the build process. PIVOTAL LABS | AGILE ENGINEER Sep – Dec 2014 | Toronto Android, Robolectric, AngularJS, jQuery, Java, MongoDB • Worked on the multi user chat and indoor mapping for Carnival Cruise android app (100K -500K downloads) and used Robolectric for tests. • Worked on the server side for an internal app for tracking employees ( 400) in the office using iBeacons. • Created a web app for allocating seats to different projects for all Pivotal Labs offices. CITIGROUP INC. | SOFTWARE DEVELOPER INTERN Jan – Apr 2014 | Toronto Java Spring Framework, AVS, Openlink, OracleDB • Developed an automated system to update the Commodities database with the portfolio information from the accounting database in real time. CITIGROUP INC. | SOFWARE DEVELOPER INTERN May – Sep 2013 | Toronto Java Spring Framework, AVS, Openlink, OracleDB • Created a market to market data reconciliation tool for product finance. • Developed commodities financial control downstream feeds. Optimized the commodities end of day sequences to achieve 30% runtime performance gains. PROJECTS MUSIC SYNCHRONIZER | ANDROID APP AT HACK THE NORTH Used Audio processing techniques to identify the audio location in an already available file by processing the input received from the microphone. DIFFERENT TECHNIQUES TO BLUR AND DEBLUR AN IMAGE | MATLAB Implemented blurring and deblurring techniques to blur and deblur an image. Used mean and gaussian filters to blur and inverse and wiener filters to deblur. Demonstrated deblurring using power spectrum of same & different images and using approximate model. Conducted performance analysis for each technique.

Upload: puneet-gill

Post on 10-Apr-2017

66 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: resume

Puneet Gillpuneetgill.com

[email protected] | 647.470.6984

EDUCATIONUNIVERSITYOFWATERLOOB.A.SC. IN ELECTRICAL ENGINEERINGExpected June 2017

COURSEWORKCooperative and Adaptive AlgorithmsComputer NetworksComputer SecurityEmbeddedMicroprocessor SystemsAlgorithms andData StructuresDigital ComputersCommunication TheoryAnalog Control Systems

ASSIGNMENTSPEER-TO-PEER CONTENT MANAGE-

MENT SYSTEMSupported functions of adding andremoval of peers and content to thepeers while maintaining a load balancingcondition.

MUSIC PLAYERImplemented amusic player onAlteraDE2 FPGA to play .wav files in differentplaymodes (half speed, double speed,reverse, one channel delayed).

COMPUTER SECURITY LABSImplemented various softwarevulnerability attacks.

PATH FINDINGAPPUsed accelerometer, gyroscope andcompass to count the footsteps anddirect user to a chosen destination on amap.

SKILLSPROGRAMMINGJava • C/C++ • Python •GoShell • JavaScript • ClojureMatlab • ARMAssembly • VHDLRuby • LATEX•CSS

TECHNOLOGIESDocker • Kubernetes • git • gdbRedis • Flask • PostgreSQL

LINKSLINKEDIN:ca.linkedin.com/in/puneetgill05

GITHUB:github.com/puneetgill05/

EXPERIENCEWEMESH | BACKEND ENGINEER INTERN Sep – Dec 2015 | WaterlooNode.js, Clojure, Go, Hystrix, Apache Kafka, Kubernetes, Zookeeper, Docker

• Worked on implementing a custommessaging protocol to support large numberof users.

• Wrote a library for sending GCMXMPP notifications in Java with a throughputof 30Kmessages/second.

• Wrote a bot in Go to test the scalability of the app by supporting all featuresincluding VoIP, chat and voting.

• Optimized the server to be able support 3K users in a single mesh(chat).• Reduced latency in user join times due to large number of users in a single chatfrom 8 seconds to 30milli seconds.

WEMESH | ANDROID DEVELOPER INTERN May – Aug 2015 | WaterlooAndroid, Retrofit, C, Python, Exoplayer

• Worked in the Android team tomake a video syncing app (100K - 500Kdownloads).

• Worked on building core features of the app: sync engine, video voting & VoIPclient.

• Implemented automatic andmanual video quality selection; reduced initial videoload-time on poor networks by 3 seconds on average.

• Worked on echo cancellation during VoIP to improveVoIP quality across devices.• Automated the build process.

PIVOTAL LABS | AGILE ENGINEER Sep – Dec 2014 | TorontoAndroid, Robolectric, AngularJS, jQuery, Java, MongoDB

• Worked on themulti user chat and indoormapping for Carnival Cruise androidapp (100K -500K downloads) and usedRobolectric for tests.

• Worked on the server side for an internal app for tracking employees ( 400) inthe office using iBeacons.

• Created a web app for allocating seats to different projects for all Pivotal Labsoffices.

CITIGROUP INC. | SOFTWARE DEVELOPER INTERN Jan – Apr 2014 | TorontoJava Spring Framework, AVS, Openlink, OracleDB

• Developed an automated system to update the Commodities database with theportfolio information from the accounting database in real time.

CITIGROUP INC. | SOFWARE DEVELOPER INTERN May – Sep 2013 | TorontoJava Spring Framework, AVS, Openlink, OracleDB

• Created amarket tomarket data reconciliation tool for product finance.• Developed commodities financial control downstream feeds. Optimized thecommodities end of day sequences to achieve 30% runtime performance gains.

PROJECTSMUSIC SYNCHRONIZER | ANDROID APP AT HACK THE NORTHUsedAudio processing techniques to identify the audio location in an alreadyavailable file by processing the input received from themicrophone.

DIFFERENT TECHNIQUES TOBLURANDDEBLURAN IMAGE | MATLABImplemented blurring and deblurring techniques to blur and deblur an image. Usedmean and gaussian filters to blur and inverse andwiener filters to deblur.Demonstrated deblurring using power spectrum of same& different images and usingapproximatemodel.Conducted performance analysis for each technique.