My name is Ali, and I am currently excelling as a Senior Data Scientist at Vodafone, where I'm at the forefront of solving complex optimization problems on graphs for simulating optical fiber implementation. This role leverages my extensive background in mathematics and computer science, directly applying my expertise in algorithm development and optimization to enhance telecommunications infrastructure.
Before joining Vodafone, I made significant contributions to the field as a Senior Data Scientist at Deutsche Telekom, focusing on the Magenta Voice project. My work centered on leveraging big data and advanced analytics to improve voice recognition technologies, showcasing my ability to innovate in fast-paced, technology-driven environments.
Previously, I honed my skills as a Senior Software Engineer at the Big Data Competence Center (ScaDS), collaborating on projects with KNIME. This experience deepened my understanding of data analytics platforms and big data ecosystems, preparing me for more complex data science challenges.
My academic foundation is robust, with a BSc in Applied Mathematics from Sharif University of Tehran and an MSc in Media Informatics from RWTH Aachen, Germany. I completed my PhD in Parallelization Strategies at Friedrich Schiller University Jena in 2017, where my thesis contributed valuable insights into the field. Here is
my thesis.
Throughout my career, I've consistently blended research with practical applications, teaching subjects like parallel programming, visual analytics, and big data. I've supervised numerous seminars and theses, shaping the next generation of scientists and engineers. My leadership was instrumental in coordinating the international GraphTea project, underlining my capability to lead complex, collaborative efforts.
Technically, I am proficient in a variety of programming languages and technologies, including Java/Scala, C++17, Python (with libraries like pandas, numpy, matplotlib, sklearn), and JavaScript/node.js. My experience extends to parallelization libraries (MPI, OpenMP/Threading, Apache Flink, Apache Spark, CUDA) and I have explored programming with Go and Rust. My diverse technical skill set enables me to tackle a wide range of data science challenges, from algorithm optimization to big data processing.
In every role, I've aimed to merge the analytical rigor of mathematics with the innovative potential of computer science, driving advancements in technology and contributing to the cutting-edge developments in data science and telecommunications.
Magenta is a voicification project that is being developed in Deutsche Telekom to unify the voice control of all Telekom products from smart home to TV and telephone. In this project, I am designing and implementing methods and tools toward a NLU model for the German language, 2019 - 2022.
BIGGR
is a collaborative project between the company KNIME (KNIME) in
Berlin and the Big Data competence center (ScaDS) in
Leipzig.
In this project, we develop a software system in which a user without deep knowledge of big
data processing can build a graph analysis workflows graphically from simple basic
operators.
I also implemented a visualization tool,
called GradoopVis,
on this software which can be used separately as a web application as well as inside the
KNIME software.
For this purpose, the KNIME Analytics platform has been extended with a new set of tools
that represent the GRADOOP operators and the possibility
to execute the resulting workflows on a remote cluster.
GRADOOP is an open-source system,
developed on Apache Flink, for graph analytics
that enables handling of property graphs
(both vertices and edges can have several properties), 2017 - 2019.
SIMG-VIZ
A new visualization system for entity resolution and clustering that allows us to investigate different match and clustering techniques
for multi-source entity resolution. SIMG-VIZ offers the following key features:
SIMG-VIZ allows a user to analyze precomputed similarity graphs and clustering from existing ER tools and also supports executing
and analyzing ER match tasks directly with FAMER.
Different graph and ER cluster visualization techniques and layouts can be applied to choose the best visualizations. To increase performance,
some layouts can be precomputed on the server with either parallel or serial computation.
This provides a significant optimization potential in particular for force-directed layouts. To support visualization of large graphs,
preprocessing techniques such as sampling (also executed in parallel on the server) can be selected to obtain a fast overview
of large similarity graphs and their clustering results. Clusters and their overlaps as well as edges annotated with their type
and similarity are visualized by using a simple but useful cake-like visual metaphor. Users can interact with clusters and select individual clusters for investigation, 2017 - 2018.
PreCol is to compute the graph coloring and
preconditioning in a way which gets benefit from
Automatic Differentiation. The coloring algorithms are implemented in C++ because of efficiency
and parallelism. We also developed two graphical interfaces for Java and MATLAB, 2013 - 2017.
MeProRisk II
Geothermal reservoirs provide heat that can be used to generate clean, renewable, and
plentiful energy. However, the exploration and the development of these reservoirs
involve high engineering and economic risks. Despite steady improvements in drilling
technology over the last decades, drilling of numerous deep boreholes
from the surface into suitable rock types at a depth of some kilometers is still
a major cost component of geothermal energy.
The MeProRisk II project aims at reducing these risks by combining skills from different
scientific disciplines. Geophysicists, mathematicians, and computer scientists from
five German universities and a private company develop and apply new methods in seismic
modeling and interpretation, numerical reservoir simulation, estimation of petrophysical
parameters, and scientific visualization.
My job was to include the parallel computing into the main software, called
SHEMAT-Suite (also look at
SHEMAT),
by considering all existing designs in code, 2012 - 2016.
GraphTea
is an open source mathematical
platform and library for graph
algorithms and visualizations. I am a developer, designer and maintainer of project
GraphTea. It is more than a group of developed algorithms
but rather a platform in which desired algorithms could be easily implemented by a normal
user.
The GraphTea core is written in Java on which we develop a web user interface in Javascript.
So the user can use GraphTea both locally and online, 2012 - Now.
ChemTea is a set of tools which I developed in which the
user can
run a given function on several graphs and see a table of results at the end.
We called this tool at first ChemTea since we used these tools to compute
several known parameters in chemical graph theory over huge set of graphs.
Since the number of graphs grows exponentially I consider different methods
from Big Data approaches. These tools are implemented first as an extension
of GraphTea but then we started a separate project since it became big.
There are some parts of C++ code as well as an interface for python.
The software is not still publicly available, 2014 - Now.
EXPLAIN is a set of interactive learning modules used in
classroom to
teach scientific computing concepts. They are web-based application
written in Python and Javascript. The users can also interactively develop their algorithms
in an online
editor, which is available in the same page as the tool, and test the results instantly,
2013 - 2016.
Selected smaller projects which I did in my master:
Redmine Client is a mobile client for the project management web application
Redmine which is available for Android and IOS now. Humance AG, Cologne, May 2012 -
November 2012.
Castle Crisis is a Android location-based game which I developed during
Bonn Fraunhofer summer school, July
2012.
AggGen is to extract a 3D model of black Carbon based on
TEM (Transmission Electron Microscope) images. The project is implemented in MATLAB/C++
and pursued different approaches toward the problem.
mechanical group of RWTH Aachen, December 2011 - August 2012.
OpenFlipper is a C++ library for 3D graphics
developed at RWTH Aachen.
I was working on an algorithm to find the optimum hexagonal mesh of an object,
which is widely used in the architecture, May 2011 - October 2011.