Available to hire
6+ years of solid engineering and research experience in computer architecture modeling, RTL design (FPGA and ASIC), image/video processing and compression, optimizing compilers, multi-threaded programming, GPU post-silicon validation, and testing and debugging SPI and I2C interfaces in embedded systems with RF communication subsystems.
Language
English
Fluent
Work Experience
Validation Engineer at Intel
January 1, 2024 - October 30, 2025Performed post-silicon graphics memory failure analysis and debugging; conducted post-silicon system validation for client graphics memory; automated validation data collection and results post-processing through scripting; executed memory validation stress tests; performed post-silicon validation of the system to verify hardware/OS compatibility, software dependencies, performance and scalability requirements.
Lead Engineer at Intel
January 1, 2024 - January 1, 2024Redesigned SoC validation software tools in C and Python by porting them from Linux to Windows, enhancing compatibility and functionality; modified code to compile/run in Linux, WSL-Ubuntu, Cygwin, and Windows across multiple hardware boards; tested/debugged the tool across environments and CLI variants; designed/implemented a custom command line parser as a replacement for popt; embedded OpenCL code and configuration files into the tool executable for a self-contained solution; ported the Python component of the tool to C++, boosting performance and removing Python dependency.
Senior Software Engineer at Tveon
January 1, 2023 - January 1, 2023Developed a framework to study FFmpeg threading structure; benchmarked FFmpeg-based encoders for various video transcoding use cases; performed profiling with Linux Perf, VTune, and Gperftools on FFmpeg-based encoders across bare-metal, Docker containers, and Kubernetes clusters; benchmarked encoders in a batch processor as CI/CD jobs on a GitLab system; automated time-consuming benchmarking and logging scripts; documented multi-threaded application structure and results on Confluence.
Private Tutor at Self-Employed
January 1, 2016 - October 30, 2025Taught hardware design, computer architecture/organization, embedded systems, operating systems, systems programming, and programming (C/C++, Python, Assembly for ARM/RISC-V/x86, Bash); mentored/supervised hardware (RTL design, timing analysis, testbench, and verification) and software projects.
Research Assistant at University of Toronto
January 1, 2019 - January 1, 2019Created a framework to automatically identify the highest-performance algorithm from the algorithm space; designed algorithm description languages (Simplified C/ADL) and a Simplified C to ADL compiler in Python; developed timing models for N-core CPUs/GPUs and an ADL simulator using SystemC/C++.
R&D Senior Software Engineer at Pars Telephone Kar Co., Iran
January 1, 2002 - January 1, 2002Developed software in C for PABX operator consoles and call-processing traces; designed firmware for RTOS-based boards, the HDLC network, COM boards providing RS232 links with XMODEM, and test boards to automatically test line ports.
R&D Senior Hardware & Software Engineer at Chavosh Communication Co., Iran
January 1, 1998 - January 1, 1998Created hardware using FPGAs for PABX line interfaces and billing systems for 512-port PABXs; designed hardware/software for 512- and 16-port PABXs using Intel 80186/80188 and 8751 microcontroller.
R&D Hardware Engineer & Software Developer at Parstel Telecom. Co., Iran
January 1, 1995 - January 1, 1995Developed hardware/software for PC-based/stand-alone PABX operator consoles using Intel 8051 Assembly.
R&D Hardware Engineer at Iran Telecom. Research Center, Iran
January 1, 1993 - January 1, 1993Designed hardware/firmware for conference circuits, 1K/2K switches and E1 trunk interfaces using Intel 8086.
Lead Engineer at Intel
January 1, 2023 - January 1, 2024 Redesigned SoC validation software tools in C and Python by porting them from Linux to Windows, enhancing compatibility and functionality. Modified the code to compile and run successfully in multiple environments (Linux, WSL-Ubuntu, Cygwin, and Windows) and on various hardware boards. Tested and debugged the tool to ensure functionality across various environments and with different CLI arguments. Designed and implemented a custom command line parser as a replacement for popt. Embedded OpenCL code and configuration files into the tool executable, creating a fully self-contained solution. Ported the Python component of the tool to C++, enhancing performance and making the tool independent of Python.
Senior Software Engineer at Tveon
January 1, 2020 - January 1, 2023Developed a framework to study FFmpeg threading structure. Benchmarked FFmpeg for various video transcoding use cases on different FFmpeg-based encoders. Conducted profiling using Linux Perf, VTune, and Gperftools on various FFmpeg-based encoders (bare-metal, Docker container, and Kubernetes clusters). Benchmarked FFmpeg-based encoders in a batch processor as CI/CD jobs on a GitLab system. Automated time-consuming benchmarking and logging scripts. Documented multi-threaded application structure, benchmarking and profiling results on Confluence pages.
Private Tutor at Self-Employed in Toronto
January 1, 2016 - PresentTaught hardware design, computer architecture/organization, embedded systems, operating systems, systems programming, and programming courses (C/C++, Python, Assembly (ARM/RISC-V/x86), and Bash). Mentored/supervised hardware (RTL design, timing analysis, testbench, and verification) and software projects.
Research Assistant at University of Toronto
January 1, 2008 - January 1, 2019Created a framework to automatically identify the highest-performance algorithm from the algorithm space. Designed algorithm description languages (Simplified C/ADL) and a Simplified C to ADL compiler in Python. Developed 1) timing models for N-core CPUs/GPUs and 2) an ADL simulator using SystemC/C++.
R&D Senior Software Engineer at Pars Telephone Kar Co.
January 1, 1998 - January 1, 2002Developed software in C for PABX operator consoles and call-processing traffic measurement. Designed firmware in C for an RTOS, the HDLC network for the system, COM boards with RS232 links and XMODEM, and test boards.
R&D Senior Hardware &Software Engineer at Chavosh Communication Co.
January 1, 1995 - January 1, 1998Created hardware using FPGAs for PABX line interfaces and billing systems for 512-port PABXs. Designed hardware/software for 512- and 16-port PABXs using Intel 80186/80188 and 8751 microcontroller.
R&D Hardware Engineer &Software Developer at Parstel Telecom. Co.
January 1, 1993 - January 1, 1995Developed hardware/software for PC-based/stand-alone PABX operator consoles.
R&D Hardware Engineer at Iran Telecom. Research Center
January 1, 1992 - January 1, 1993Designed hardware/ firmware for conference circuits, 1K/2K switches and E1 trunk interfaces using Intel 8086.
Firmware Engineer (Part-time) at Ewebcreative
January 1, 2023 - January 1, 2025Developed, debugged, and deployed firmware in C for sensor and decoder boards in a multi-sensor wireless data acquisition system using PIC microcontrollers; implemented communication software in C on the ESP32 to interface with the PIC-based decoder board; collaborated with hardware/software teams to integrate components into the ESP32-based system.
Education
PhD in Electrical and Computer Engineering at University of Toronto
January 11, 2030 - January 1, 2019M.A.Sc. in Electrical and Computer Engineering at Queen's University
January 11, 2030 - January 1, 2006B.A.Sc. in Electrical Engineering at Sharif University of Technology
January 11, 2030 - January 1, 1992Ph.D. in Electrical and Computer Engineering at University of Toronto
January 11, 2030 - January 1, 2019M.A.Sc. in Electrical and Computer Engineering at Queen's University
January 11, 2030 - January 1, 2006B.A.Sc. in Electrical Engineering at Sharif University of Technology
January 11, 2030 - January 1, 1992PhD at University of Toronto
January 11, 2030 - January 1, 2019M.A.Sc. at Queen's University
January 11, 2030 - January 1, 2006B.A.Sc. at Sharif University of Technology
January 11, 2030 - January 1, 1992Qualifications
Industry Experience
Computers & Electronics, Software & Internet, Telecommunications, Media & Entertainment, Manufacturing, Professional Services
Hire a Developer
We have the best developer experts on Twine. Hire a developer in Toronto today.