Reza Pourrahim

As a skilled Software Engineer specializing in Python development, I am dedicated to building robust and scalable software solutions. Passionate about Software Engineering, Data Science, Machine Learning, Coding, Mathematics, and History, I thrive as a Software Engineer specializing in AI and Computer Vision. Leveraging cutting-edge technologies and methodologies, I develop innovative solutions that address complex challenges in the field. With expertise in Python, Object-Oriented Programming (OOP), Web Development, database management using SQL, version control with Git, and containerization using Docker, I build robust and scalable software systems. I am well-versed in Linux environments and have a strong understanding of cloud computing technologies.

During my Master's in Data Science at the Sapienza University of Rome, I had the privilege to collaborate with esteemed professors in Rome, as well as Prof. Fosca Giannotti and Prof. Riccardo Guidotti at KDD Lab - CNR at Pisa. Throughout this program, I embarked on various projects in fields such as Data Science, Machine Learning, Deep Learning, IoT, Explainable AI, and Statistics. These experiences provided me with a solid foundation in developing advanced AI models and leveraging data-driven insights for effective problem-solving. Remarkably, for my master's thesis project, I focused on eXplainable AI (XAI) projects and developed a novel data and model-agnostic dialogue system. This system enables end-users to interact with prediction models and their explanations effectively.

One notable achievement includes publishing a paper that explores the intersection of IoT and Machine Learning, uncovering opportunities for driving innovation and solving real-world challenges. As a proactive and collaborative team member, I am dedicated to continuous learning and professional growth. Currently working as a Software Developer at Aylook, specializing in AI and Computer Vision, I actively contribute to the development of cutting-edge solutions. I leverage my expertise in software engineering to push the boundaries of technology. Additionally, I have made significant contributions to the growth of Namaad Tosse Arya Co. in Tehran, Iran, where I dedicated approximately 2 years to Python-based web development and successfully implemented ERP (Enterprise Resource Planning) projects.


Experience

Software Developer

Aylook Srl, Mantua, Italy
  • Enhanced functionality and reliability for 20+ panel drivers, covering over 50% of integrated devices using Twisted’s event-driven architecture, resulting in a 40% reduction in system errors and a 22% increase in system uptime.
  • Integrated 10+ third-party panels, LPR cameras, and RFID devices (30% of all devices) using Twisted's asynchronous programming and implementing network protocols (HTTP, TCP, UDP).
  • Modernized codebase by upgrading from Python 2 to Python 3 and facilitating full Docker support.
  • Improved visualization and processing accuracy by enhancing event thumbnails and video analysis using deep learning models.
  • Upgraded backend systems to support new metadata formats and integrated with GStreamer, boosting media data processing efficiency by 30%.
  • Automated deployment processes with GitLab CI/CD, cutting deployment times from 4 hours to 30 minutes, and managed server configurations and scaling on DigitalOcean using Docker.
  • Developed performance tests in Locust, generating unique statistics and improving data analysis efficiency by 40%, cutting manual processing time by 25 hours weekly.
  • Created a CSV comparison tool in Python, automating performance metric analysis and reducing data processing time by 35%, saving the team over 10 hours per week.
  • Streamlined access with OAuth configuration and Nginx redirection.
  • Implemented automated testing with Unit Testing and PyTest, reducing bugs by 11% and boosting overall software reliability.
  • Automated runbooks with JupyterHub/JupyterLab, cutting recurrent task time by 50%.
November 2021 - Present

Graduate Research Assistant

ISTI-CNR, KDD Lab, Pisa, Italy

Research on eXplainable Artificial Intelligence (XAI) projects focusing on Natural Language Processing (NLP) and Dialogue Systems

  • Developed an Explainable AI Chatbot using BiLSTM with Keras, achieving 76% accuracy in query classification and enhancing model interpretability.
  • Created a user-friendly interface using FastAPI, Vue.js, enhancing user interaction by 45% and streamlining explanations of black-box model decisions.
  • Evaluated chatbot performance with 3 black-box models and 5 datasets, ensuring its robustness and real-world applicability.
  • Collaborated with professors and researchers on projects involving deep learning, IoT, and machine learning.
December 2020 - September 2021

Python Developer

Namaad Tosee Arya, Tehran, Iran

Developed Python-based Web Development projects and ERP (Enterprise Resource Planning) solutions

  • Developed ERP solutions with Python and Odoo, automating workflows and boosting efficiency by 15%.
  • Utilized Python, JavaScript, CSS, XML, and Odoo as an open-source ERP and CRM platform.
  • Achieved efficient and scalable solutions, streamlining clients' operations.
  • Orchestrated project planning and task organization, ensuring team alignment and motivation.
  • Guided new hires through structured onboarding and project integration, increasing team productivity by 10%, ensuring effective communication with clients.
  • Designed and optimized PostgreSQL schemas and queries, accelerating data retrieval speeds by 7%.
  • Effectively communicated project progress and results to clients.
  • Collaborated with cross-functional teams to define data requirements and deliver effective, user-focused solutions.
October 2016 - July 2018

Education

M.Sc. Data Science

Sapienza University of Rome, Italy

Relevant Coursework: Advanced Machine Learning, Data Management, Data Mining, Digital Epidemiology, Neural Networks, Statistical Methods, Cloud Computing, Networking for Big Data.

  • Advanced machine Learning - Advanced Concepts of Machine Learning and their Application in Computer Vision via Deep Neural Network (DNN) Models including Projects on CNN & LSTM
  • Statistical Methods in Data Science and Laboratory I & II - 12 ECTS
  • Neural Networks For Data Science Applications - Projects on Convolutional Networks, Recurrent Neural Networks, and and Recent Attention-based Models
  • Algorithmic Methods of Data Mining and Laboratory - main Algorithmic Techniques of Data Mining, Text mining, Clustering, Graph mining
  • Fundamentals of Data Science and Laboratory - topics in Data Mining and Machine Learning: Linear Regression, Linear Classifiers, Clustering, Linear Programming, Algorithms and Complexity
  • Cloud Computing - Projects on AWS IaaS Service (Amazon)
  • Data Management for Data Science - Projects on Relational Database Systems and Non-relational approaches to Data Management, in particular, Multidimensional Data Management, Large-scale Data Management, and Open Data Management.
  • Smart Environments - Project on "Exploratory Approach for Network Behavior Clustering in LoRaWAN"
  • Intellectual Property Competition and Data Protection Law
  • Digital Epidemiology and Precision Medicine - Project on "Differential Analysis of Gene Expression"
September 2018 - October 2021

B.Sc. Computer Engineering

Shahid Beheshti University, Tehran, Iran

Relevant Coursework: Advanced Programming, Algorithms Design, Data Structures, Database Design, Digital Image Processing, Software Engineering, Statistical Methods.

Bachelor Thesis: Group Constraints Clustering based on Ensemble Learning

September 2011 - July 2016

Publications

Exploratory Approach for Network Behavior Clustering in LoRaWAN

Springer - Journal of Ambient Intelligence and Humanized Computing

Read Publication

Abstract: The interest in the Internet of Things (IoT) is increasing both as for research and market perspectives. Worldwide, we are witnessing the deployment of several IoT networks for different applications, spanning from home automation to smart cities. The majority of these IoT deployments were quickly set up with the aim of providing connectivity without deeply engineering the infrastructure to optimize the network efficiency and scalability. The interest is now moving towards the analysis of the behavior of such systems in order to characterize and improve their functionality. In these IoT systems, many data related to device and human interactions are stored in databases, as well as IoT information related to the network level (wireless or wired) is gathered by the network operators. In this paper, we provide a systematic approach to process network data gathered from a wide area IoT wireless platform based on LoRaWAN (Long Range Wide Area Network). Our study can be used for profiling IoT devices, in order to group them according to their characteristics, as well as detecting network anomalies. Specifically, we use the k-means algorithm to group LoRaWAN packets according to their radio and network behavior. We tested our approach on a real LoRaWAN network where the entire captured traffic is stored in a proprietary database. Quite important is the fact that LoRaWAN captures, via the wireless interface, packets of multiple operators. Indeed our analysis was performed on 997, 183 packets with 2169 devices involved and only a subset of them were known by the considered operator, meaning that an operator cannot control the whole behavior of the system but on the contrary has to observe it. We were able to analyze clusters’ contents, revealing results both in line with the current network behavior and alerts on malfunctioning devices, remarking the reliability of the proposed approach.

Keywords: IoT, LoRa, LoRaWAN, Machine Learning, k-means, Anomaly Detection, Cluster Analysis

Mar 29, 2021

Projects

AI-Based Dialogue System for eXplainable AI

Master's Thesis Project

Developed a novel data and model-agnostic dialogue system to enable effective interaction with prediction models and their explanations.

October 2021

Skills

Programming Languages & Tools

  • Python
  • C++
  • C
  • C#
  • R
  • HTML
  • CSS
  • JavaScript
Web Development

  • Django, Flask, FastAPI
  • HTML, CSS, JavaScript
  • Bootstrap
Frameworks & Libraries

  • Twisted, Odoo
  • PyTorch, TensorFlow, Keras
  • Scikit-Learn, Pandas, NumPy, Matplotlib
  • GStreamer, OpenCV
Cloud & DevOps

  • DigitalOcean, AWS
  • Docker, Kubernetes
  • Git, GitHub, GitLab CI/CD
  • systemd
Databases

  • PostgreSQL, Redis
  • SQL
  • NOSQL
  • Alembic
  • ORM
Tools

  • PyCharm, VS Code, Google Colab
  • Locust, Unit Testing
  • Wireshark, tcpdump
  • OOP, SSH, Poetry
Project Management & Collaboration

  • Agile, Scrum, Kanban
  • JIRA
  • Slack, Discord, Microsoft Teams
Soft Skills

  • Teamwork, Critical Thinking
  • Problem-Solving, Time Management
  • Communication