Rouhollah Mahfouzi, Developer in Linköping, Sweden
Rouhollah is available for hire
Hire Rouhollah

Rouhollah Mahfouzi

Verified Expert  in Engineering

Bio

Rouhollah is a computer engineer with 10+ years of experience in embedded systems, IoT, and security. He brings experience working as a developer across various industries, including automotive, telecommunication, and medical. Rouhollah is a proficient programmer with a strong background in C/C++, Python, and Java. He has a solid academic background, including a BSc, MSc, and PhD in computer science. He is seeking a challenging role to use his skills and make a significant contribution.

Portfolio

Ericsson
Architecture, IoT Security, Encryption, Software Design, Embedded Development...
Cabinet Limited
Networks, WiFi, WiFi Direct, Low-level Programming, File Management, C...
TLT Screen AB
C++, Qt, Embedded Systems, Creative Problem Solving, Programming, Git, Scrum...

Experience

  • C++ - 9 years
  • C - 9 years
  • Network Security - 7 years
  • Java - 5 years
  • Computer Networking - 5 years
  • Embedded Systems - 4 years
  • QML - 2 years
  • Qt - 2 years

Availability

Part-time

Preferred Environment

Embedded C++, Embedded C, Encryption, IT Security, Qt, Raspberry Pi, Embedded Linux, Networking, Low Latency, Visual Studio

The most amazing...

...achievement was driving security features in the Ericsson base station software, which were crucial for Ericsson's customer safety and UK market presence.

Work Experience

System Security Developer

2022 - 2024
Ericsson
  • Analyzed and implemented security features in Ericsson's radio products.
  • Worked closely with architecture experts and cross-functional teams to implement features on Ericsson radio products.
  • Analyzed the security risks imposed by new features to ensure and validate compliance with implemented features and security requirements.
  • Used various encryption algorithms to enable the operators to encrypt critical data in storage and transit.
  • Analyzed Ericsson’s mobile network architecture and led cross-functional teams to implement new features within the product.
Technologies: Architecture, IoT Security, Encryption, Software Design, Embedded Development, Internet of Things (IoT), Compilers, Embedded Software, Embedded Linux, 5G, Intrusion Detection Systems (IDS), Cryptography, Information Security, Networking, Real-time Systems, Real-time Operating System (RTOS)

Networks Engineer for P2P File Sharing App

2022 - 2022
Cabinet Limited
  • Ran a feasibility study to compare wireless communication technologies concerning energy consumption, performance, and throughput.
  • Conducted a comprehensive comparison of various wireless technologies, including Bluetooth, wifi, and ZigBee, concerning performance, energy consumption, and throughput.
  • Utilized findings from the comparison to make informed decisions on the wireless technology used in the final design.
  • Presented the results of the feasibility study and wireless technology comparison clearly and concisely to stakeholders.
Technologies: Networks, WiFi, WiFi Direct, Low-level Programming, File Management, C, Bluetooth, Networking, Network Protocols

Product Lead | Software Developer

2020 - 2022
TLT Screen AB
  • Developed a product to detect hand gestures and enable users to interact with a screen without touching it.
  • Built a core application in C++ to read point clouds from images received from a camera and detect users' hand gestures.
  • Used Qt to develop a smooth UI with a high-integrity core system.
  • Developed intention prediction algorithms to decide user intention by tracking their hand gestures toward the screen.
  • Deployed the whole intention prediction algorithm on a Raspberry Pi as a proof of concept (POC).
Technologies: C++, Qt, Embedded Systems, Creative Problem Solving, Programming, Git, Scrum, Agile Software Development, Windows App Development, Software Design, Architecture, Research, Leadership, QML, Raspberry Pi, Network Programming, Firmware, Microcontrollers, Embedded Development, Internet of Things (IoT), Networking, Visual Studio, Microsoft Visual C++, Real-time Systems, C#

Lead Engineer and Developer

2019 - 2021
HolaTec
  • Developed and implemented a real-time control system with C/C++ programming on Arduino and Raspberry Pi.
  • Utilized data-driven techniques to optimize the performance of data visualization, resulting in more accurate and real-time control visualizations.
  • Collaborated with cross-functional teams to design and implement embedded system solutions that met project requirements and improved overall system functionality.
Technologies: C++, C, Arduino, Raspberry Pi, Embedded Systems, Controller, Qt, Sensor Data, Firmware, Microcontrollers, Embedded Development, Internet of Things (IoT), Embedded Software, Bash Script, Visual Studio, Microsoft Visual C++, Real-time Systems, Network Protocols

Research Engineer

2015 - 2021
Linkoping University
  • Participated in the ELLIIT project, a collaboration between Lund University and Linköping University to design robust and secure networked embedded systems.
  • Participated in an international project with parties located in Sweden, Switzerland, and the US. Gained extensive international experience by attending conferences worldwide.
  • Conducted research regarding real-time communication in vehicle and cloud-based control applications. Implemented and evaluated real-time algorithms on microcontrollers.
  • Reverse-engineered an industrial control application to retrieve some missing functions. It prevented the employer from spending a lot of money on a new one.
  • Implemented applications to provide safety and security of in-vehicle communication, with a particular focus on the Ethernet and CAN protocol.
  • Implemented an application to provide real-time guarantees for time-triggered messages in a mixed-criticality context inside an autonomous vehicle.
Technologies: C++, MATLAB, Simulink, Real-time Embedded Systems, Embedded Systems, Creative Problem Solving, Programming, Cryptographic Protocols, Machine Learning, Git, R, Embedded C, Embedded C++, Project Design & Management, Encryption, Genetic Algorithms, Algorithms, Arduino, IT Security, Security, Research, IoT Security, Computer Security, Network Security, Networks, Technical Writing, Leadership, Low-level Programming, IP Networks, Network Programming, Microcontrollers, Embedded Development, Internet of Things (IoT), APIs, Linux Device Driver, Embedded Linux, Cache, Real-time Systems, Kernel, Ethernet, Real-time Operating System (RTOS), Time Synchronization, Network Protocols

Software Architect

2014 - 2015
Faraz Co.
  • Developed a product to analyze network packets at a web application layer and act as a web application firewall for web services.
  • Analyzed the functional requirements of the system and designed the entity relationship accordingly.
  • Used the Spring framework in Java to generate the facade for the system.
  • Helped manage a UI and test team to ensure the final product was completed to the highest standard.
Technologies: Java, Spring, Hibernate, MySQL, C, Programming, Computer Networking, Cryptographic Protocols, Git, Linux, Agile Software Development, Web Development, Project Design & Management, SQL, HTML, Encryption, IT Security, Security, Eclipse, Software Design, Architecture, Computer Security, Network Security, Networks, Leadership, TCP/IP, UDP, NAT, Network Stack, IP Networks, Network Programming, Linux Servers, Linux Server Administration, Web Security, Java EE, Bash Script, Embedded Linux, Cache, WebSockets, Networking, Network Administration, Tcpdump, Visual Studio, Microsoft Visual C++, Kernel, Real-time Operating System (RTOS), Network Protocols

Senior Developer

2012 - 2014
Faraz Co.
  • Developed a vulnerability scanner using the OpenVAS framework. The vulnerability scanner became the winning ticket when the sales group wanted to sell the final product.
  • Developed a security information and event management (SIEM) system.
  • Automated OpenVAS vulnerability scanner using a wrapper written in Java as part of the big SIEM system.
  • Participated in a big team with various specialties, from machine learning researchers to white hat hackers.
Technologies: C++, Java, Python, MySQL, Programming, Computer Networking, Wireshark, Git, Windows Desktop Software, JavaScript, Encryption, Objective-C, Windows App Development, IT Security, Security, Eclipse, Software Design, Penetration Testing, Computer Security, Network Security, Networks, TCP/IP, UDP, P2P, IP Networks, Network Programming, Linux Servers, Linux Server Administration, Compilers, Bash Script, WebSockets, Networking, Network Administration, Tcpdump, Visual Studio, Microsoft Visual C++, Network Protocols

An Innovative Way to Interact with a Computer

https://tltscreen.com/
A solution that upgrades any touch screen with a touchless interaction mode that does not interfere with the existing touch-based user experience. Users can use hand gestures to interact with computers without touching the screen. The solution is easy to integrate, accurate, and reliable. We used machine vision and artificial intelligence techniques to enable touchless interaction. The project's user interface is developed using Qt technology, while the core functionality and learning algorithms were developed in C++ to ensure the best performance.

Measure AES and DES Performance on ARM Processor

A C++-based implementation of AES and DES encryption protocols was used in this project. The aim was to measure the encryption and decryption performance of the ARM processor used in NVIDIA® Jetson kits at a certain frequency.
The ultimate goal was to research the relation between the number of rounds of encryption and different key sizes versus the timing overhead of running the encryption and decryption.

Digital Marine Dashboard

https://www.linkedin.com/feed/update/urn:li:activity:6870986701720944640
Real-time software for monitoring the status of the boat. The interface is designed and developed using Qt/QML and is developed in such a way that it has more than one graphic design. The software itself is robust as it must function for a long time in marine applications.

CentriPro: Centrifugal Image Analyzer

https://www.youtube.com/watch?v=Rz68GF7RIuw&t=224s
Software that connects to the centrifugal apparatus and captures real-time core images from a high FPS camera.

An analyzer module calculates the saturated and unsaturated volumes in the next step by employing image processing techniques. Then, a simulation core uses this data for history matching to find relative permeability parameters. The simulation code of the software is developed from scratch and integrated as a standalone module. A YouTube link to the demo of the software is provided.

I was the senior developer and team lead in this project leading a team of 3-4 software engineers. I had a broad overview of the architecture of the software while also helping the implementation team. I was also the contact point for the correspondent petrochemical engineer from the client.

Data Visualization Software for Medical Equipment

https://hemedex.com/
An application with multiple plots and histograms to visualize data from medical equipment. I implemented the UI with Qt and connected it to the back-end codes. The technologies used were Qt, QCustomPlot, and C++.
2015 - 2021

PhD Degree in Computer Science

Linkoping University - Linkoping, Sweden

2011 - 2013

Master's Degree in Computer Science

Sharif University - Tehran

2007 - 2011

Bachelor's Degree in Computer Science

Sharif Univerisity - Tehran

Libraries/APIs

Qwt, QCustomPlot, OpenCV

Tools

Tcpdump, Visual Studio, Microsoft Visual C++, Wireshark, Time Synchronization, Slack, MATLAB, Git

Languages

C++, Java, C, Python, Embedded C, Embedded C++, HTML, JavaScript, Bash Script, C#, Simulink, PHP, R, SQL, CSS, Objective-C, QML

Platforms

Linux, Arduino, Eclipse, Raspberry Pi, Embedded Linux, Kernel, Linux Mint, FreeBSD, Java EE

Industry Expertise

Network Security, Petroleum Engineering

Frameworks

Qt, Spring, Hibernate

Paradigms

Windows App Development, Scrum, Agile Software Development, Penetration Testing, Real-time Systems

Storage

Cache, MySQL

Other

Embedded Systems, Computer Networking, Cryptography, Programming, Cryptographic Protocols, Encryption, Sorting Algorithms, Algorithms, IT Security, Security, Research, Computer Security, Networks, Technical Writing, Low-level Programming, TCP/IP, UDP, Network Stack, IP Networks, Network Programming, Microcontrollers, Embedded Development, Internet of Things (IoT), Embedded Software, Networking, Network Administration, Real-time Operating System (RTOS), Network Protocols, Real-time Embedded Systems, Ethernet, Windows Desktop Software, Project Design & Management, Genetic Algorithms, Software Design, Architecture, IoT Security, Leadership, P2P, NAT, Graphing, Firmware, Linux Servers, Web Security, Compilers, Linux Device Driver, WebSockets, Low Latency, Creative Problem Solving, Innovation, Public-key Cryptography, Symphony, Machine Learning, Web Development, Single Sign-on (SSO), ARM Embedded, Simulations, WiFi, WiFi Direct, File Management, Controller, Sensor Data, Bluetooth, Linux Server Administration, APIs, 5G, Intrusion Detection Systems (IDS), Information Security

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring