Syed Waqas Hamdani

Syed Waqas Hamdani
Computer Science Graduate Researcher

I am currently enrolled in MSc. Computer Science @ University of Western Ontario. My research is being supervised by Prof. Kostas Kontogiannis in Software Engineering and Human-Computer Interaction, in collaboration with IBM Center for Advanced Studies (IBM CAS), Canada, as a Graduate Research Assistant (GRA). I am also a Graduate Teaching Assistant (GTA) for COMPSCI 2212B, COMPSCI 3307A, and COMPSCI 1037A (2021-2022).

Contact Me
Department of Computer Science
University of Western Ontario
Phone: +1 (226) 868-7373


MSc. Computer Science
Sep 2021 - Dec 2022
University of Western Ontario, Canada

Program: Computer Science (Thesis Based)
Module: Software Engineering and Human-Computer Interaction
Specialization: Systems Security and Software Security Engineering
Thesis: Continous Compliance Data Science for Software Systems

BSc. Hons. Specialization Computer Science
Sep 2017 - Apr 2021
University of Western Ontario, Canada

Program: Computer Science
Thesis: Assessing Compliance Against Threats in Information Systems

B.A. Liberal Studies
August 2016
University of Waterloo, Canada

Program: Liberal Studies
Minor: Computer Science, Economics

Research Interests

Goal Model Driven Software Engineering
Cyber-Physical Systems
Software Analysis, Architecture & Maintenance
Dynamic Analysis
Intelligent Systems
Monitoring and Root Cause Analysis
System Integration and Interoperability
End-User Software Engineering and Programming

Work Experience

Researcher (Trainee)

May 2021 - Present
IBM CAS, Toronto, Canada

I am being trained as a graduate researcher for my MSc. Computer Science thesis under the direct supervision of Dr. Kostas Kontogiannis, in collaboration with IBM Center for Advanced Studies (IBM CAS), Canada.

Thesis Title: Continous Compliance Data Science for Software Systems

Public Impact Statement:
Large software systems encompass complex interactions among their components. These components are subjected to frequent maintenance activities which are applied in order to fix bugs, add new functionality, port to new platforms, or inter-operate with other systems. In this context, there are two major aspects for maintaining and evolving such systems. The first aspect is to identify, classify, and model dependencies between system components. The second aspect is to analyze these component dependency models, and assess both the risk of failure when changes are made to the system, and the risk of violating compliance requirements related to issues such as security, access control and privacy. The project develops techniques to identify and analyze dependencies between components in micro-service systems and assess compliance of such systems against the NIST 800.53 security controls.

Technical Environment: NIST 800-53 Rev5, MITRE ATT&CK, Machine Intelligence & AIOps, Eclipse IDE (Java)
Use of Time: NIST 800-53 (20%), MITRE ATT&CK (20%), Java (40%), MI & AIOps (20%)

Android Developer

January 2015 - August 2017
Freelancer, Kitchener, Canada

I have worked on 20+ Android apps as a freelance developer supporting small and medium size businesses around the world. My contributions are as follow:

  • Designed and developed new Android applications for many small to medium size businesses.
  • Responsible for modifying the existing code to enhance performance of an entire application.
  • Streamed media files such as remote MP4 videos using Android platform libraries.
  • Used Retrofit to Serialize and Deserialize JSON data.
  • Used Rx Java to enhance the level of abstraction around threading.
  • Implemented Multi-Threading for improving performance and efficiency
  • Used Butterknife to inject code at compile time.
  • Implemented ReactiveX library to support reactive programming in Java Virtual Machine (JVM).
  • Used Dagger2 to create reusable, interchangable modules, and inject dependencies in different parts of an application.
  • Experienced in unit testing using Junit and TestNg
  • Integrated In-App Purchase (IAP) and payment gateways
  • Familiar with Parse Server and FireBase.
Technical Environment: Android Studio, Android SDK, Android Framework APIs (GPS, Camera, Notification), Eclipse, DDMS, Dreamweaver, Spring IOC, Genymotion emulators.

Director / Technical Project Lead

Nov 2018 - Present
Prime Sleep, Mississauga, Canada

Experienced in managing a small team for a Shopify based online store. As both the technical lead and owner of Prime Sleep Canada, I oversee the company’s technical team members and all projects they undertake, analyze briefs, write progress reports, identify risks, and develop work schedules. I work with my team to build lasting relationships and inspire them to reach their goals.

  • Determining project requirements and developing work schedules for the team
  • Delegating tasks and achieving daily, weekly, and monthly goals
  • Liaising with team members, management, and clients to ensure projects are completed to standard
  • Identifying risks and forming contingency plans as soon as possible
  • Analyzing existing operations and scheduling training sessions and meetings to discuss improvements
  • Keeping up-to-date with industry trends and developments
  • Updating work schedules and performing troubleshooting as required
  • Store development using HTML 5, CSS and JQuery
  • Template Customization
  • Third-party API Integration
  • Interaction with Shopify Order Management System using Liquid
  • Motivating staff and creating a space where they can ask questions and voice their concerns
  • Being transparent with the team about challenges, failures, and successes
Technical Environment: Shopify CMS, Liquid, HTML 5, JQuery, CSS, MS Office 360
Use of Time:Technical Lead Operations (70%), Shopify (10%), MS Office 360 (10%), Liquid (10%)

Software Developer

May 2014 - August 2014
IBM, Markham, Canada

I was assigned in IBM Business Analytics & Information Management Data Ecosystem department as a IBM Cognos 10.2 Developer. Our team of 5 Co-op students was assigned with the responsibility of accomplishing “technology demonstration” project, aimed at prospective clients at IBM conference in October 2014. My duties, being the Cognos expert, included but no limited to the following:

  • Successfully installed and configured IBM Cognos 10.2.1 and SuSe Linux Enterprise Server 11 Service Pack3-4. Acquired expertise in configuring VMware on local machine to support the DB2 and Cognos instances locally.
  • Integrated Cognos 10.2.1 with DB2 10.5 BLU Acceleration (FIXPACK 4) and generated reports based on web-based user-input.
  • Wrote SQL queries using Joins, Aggregations, Grouping, Unions and Intersects in Cognos 10 Framework Manager and successfully published packages and created reports in IBM Cognos Client.
  • Wrote Python script to generate and dump 500 GB fictional data in DB2 database to demo improved reports generation time.
  • Wrote Bash Shell scripts for project related Linux processes automation.
  • Installed, configured and managed numerous Linux services such as DNS, Apache Web Server and Email Server on SLES 11 distribution.
  • Wrote a Cognos 10.2 Quick Installation/Deployment guide for IBM’s internal use. Document added into the company’s Knowledge Management Tool (KMT) with approval of the supervisor.
Technical Environment: IBM Cognos 10.2, IBM DB2 10.5 BLU Acceleration, Linux (SLES 11), SQL, Python, Bash Shell Scripting, Linux Services
Use of Time: IBM Cognos 10.2.1 (40%), IBM DB2 (30%), Linux administration (15%), SQL (10%), other software (5%)

Research, Projects and Presentations

Teaching Assistant

Relevant Courses Completed

  • Introduction to Programming Principles
  • Algebra for Honours Mathematics
  • Principles of Computer Science
  • Calculus 1 & II
  • Software Tools & Systems Programming
  • Applied Probability & Statistics for Engineer
  • Intro to Computer Organization & Architecture
  • Applied Logic for Computer Science
  • Data Structures & Algorithms
  • Intro to Software Engineering
  • Discrete Structures for Computing
  • Operating Systems
  • Object-Oriented Design & Analysis
  • Databases I & II
  • Foundations of Computer Science I
  • Analysis of Algorithms I
  • Organization of Programming Languages
  • Computer Organization
  • Human-Computer Interaction (HCI)
  • Software Design & Architecture
  • Internet Algorithmics
  • Software Engineering for Big Data Applications & Analytics
  • Network Security
  • Introduction to Professional Writing

Awards & Accomplishments