CV
Profile
Kareem is a researcher, engineer, and entrepreneur with over 20 years of field experience. He’s currently pursuing a PhD at National University of Singapore’s School of Computing focussed on applied cryptography.
Education
-
PhD Candidate, Computer Science, National University of Singapore School of Computing, expected completion: 2025
-
B.A.Sc. Electrical Engineering, 2003, University of Waterloo, Honours with Distinction, Computer Engineering Option, GPA 3.78
Awards
- 2023 NUS School of Computing Teaching Fellowship
- 2022 NUS School of Computing Teaching Excellence Award
- 2020 NUS Graduate Research Scholarship
- 2003 University of Waterloo ECE Fourth Year Design Contest, Runner-Up
- 2001 University of Waterloo Engineering Faculty Deans Honour List
- 2001 NSERC Undergraduate Student Research Award
- 1998 University of Waterloo Engineering Faculty Deans Honour List
- 1998 Waterloo Cooperative Residence Pine Cone Citizenship Award
- 1998 Best of School, Descartes Mathematics Contest
Teaching
-
NUS CS4230/5430 Foundations of Modern Cryptography, Jan to April 2023, Prof. Prashant Vasudevan
-
Prepared and presented tutorials to students on relevant background material needed to understand lectures.
-
Topics included: complexity theory, security arguments, hybrid arguments, interactive proofs, group, number, and probability theory.
-
-
NUS CS3235 Computer Security, Jan to April 2021 and 2022, Prof. Prateek Saxena
-
Prepared and presented tutorial materials on security modelling, cryptography, and number theory.
-
Prepared and adapted assignments to online learning, including setting up autograding and randomized problem generation scripts.
-
Awarded Teaching Excellence and Teaching Fellowship awards for excellence in teaching.
-
Experience
Google, Senior Software Engineer (SWE5)
Belo Horizonte, Brazil, 2015-2019
-
Led design and implementation of new service within Google Web Search for getting direct user feedback at scale that does not require analysts to write code
-
Designed improvements to Google Web Search for handling language mismatches between query and interface languages, implemented on the actual Google search stack, and ran experiments to determine effectiveness
-
Led the design and implementation of a new data pipeline for analyzing data logged from the world’s largest knowledge app, handling billions of interactions and petabytes of data per day
Clearpath Robotics, Lead Software Developer
Kitchener, Ontario, Canada, 2014-2015
-
Led team to develop large autonomous vehicle for mining industry
-
Planned project, including scope, resources, and timing
-
Worked directly with customer to determine true requirements
-
Designed software architecture and planned implementation
-
Guided and reviewed implementation of the team’s software code
-
Implemented comm. structures, sensor interfaces, and vehicle control
-
Key technologies: ROS, Robot Simulation, Embedded Linux, Lidar, Radar, Python, embedded C/C++
Dandy, Chief Technical Officer
Kitchener, Ontario, Canada, 2013-2014
-
Led development of new mobile app through the Dandy process
-
Selection of development team, product design, and implementation on iOS, BB, Android, and backend services
-
Simultaneously managed development of the Dandy web platform, including new features and maintenance
-
Evaluated app ideas and provided feedback to the CEO and partners
-
Key technologies: iOS, Android, BlackBerry, Objective-C, Java (Android), C++ (BB), Python, virtual web services
Aeryon Labs, Senior Software Developer
Waterloo, Ontario, Canada, 2008-2013
-
Led software development for Scout and SkyRanger platforms
-
Implemented Agile development process and continuous integration
-
Designed and implemented new architecture for Mission Control Station, including pluggable mapping and video support
-
Evaluated and led introduction of new platform technology including Python, messaging services, and logging services
-
Key technologies: Embedded Linux, Linux Kernel Drivers, network programming and messaging, IP video (RTP/RTSP), Python, Java/Swing, embedded C/C++
Independent Consultant
Waterloo/Toronto, Ontario, Canada, 2006-2007
-
Provided software and systems development expertise to client projects
-
Projects typically involved development of new or modification of existing software systems based on customer specifications
-
Clients included: JMP Engineering, Scotiabank Jamaica, Parmalat, TMMC
-
Key technologies: C#, MS SQL Server, Oracle PL/SQL
ATS Advanced Systems, Control Systems Software Designer
Cambridge, Ontario, Canada, 2004-2006
-
Led software development for several advanced automation projects, including an automated microbiology experimentation system, and an automated capacitive TFT inspection system
-
On-site machine bring-up and upgrades in the US, South Korea, and Europe
-
Designed architecture and implemented software control solutions
-
Key technologies: QNX, software PLCs, Visual Basic, machine vision, Stäubli robotics, motion control
Archronix Corp, Hardware Designer
Toronto, ON, 2003-2004
-
Hardware designer for aerospace APU motor controller and simulator
-
Designed and oversaw construction of motor simulator project, including requirements analysis, circuit design, construction, and verification
-
Key technologies: analog and digital circuit and board design, VHDL