Mustafa Gamal

R&D Engineer, nResult USA

Mustafa Gamal

R&D Engineer, nResult USA


Mustafa Gamal, R&D Engineer at nResult USA, with more than with 15 year of experience in Software Industry. He worked as R&D Consultant at the SECC. Through his experience in business and software architecture, he provided consultation to organizations on how to maintain a strong Software Architecture that supports Business Agility. Mustafa also helped shaping strategies for organizations in software industry and international NGOs. He provided consultations to startups to model their business and construct their business plans locally and internationally. During his experience as a teaching assistant, he guided many students in finding innovative business ideas that turned to be successful startups later. Mustafa has a strong experience in Lean Management using Agile Methodologies. Mustafa has a master degree in Cloud Based Applications Architecture and Design with published papers in the same field. His research work was in developing an architectural model that utilizes Service Oriented Architecture methods and disciplines to develop Software as a Service applications hosted over Cloud infrastructure. He believes in connecting research to business to provide most optimized solutions for each unique business problem. Mustafa’s experience includes training in the field of software development from different aspects for about 9 different programming languages as well as coaching the trained teams in their software development projects.

About the Tutorial

Introduction to Reactive Programming

Goals and objectives

Nowadays, a new technology paradigm is represented where everything is connected. Data are streaming from everywhere to everywhere. Machines are talking and interacting; cars collaborate with traffic lights and other sensors in the city to make decisions, terabytes of data produced by the human in every second in the form of articles, posts …etc. Facts are not waiting, the facts captured now will become obsolete within fractions of seconds, decisions need to be taken in real time.

In this new paradigm, new problems emerge that need new techniques as traditional programming methods may not be able to provide the optimum solution for such issues. This tutorial is not a philosophical session about Reactive Programming; it is a step by step tutorial supported by examples to help you understand reactive programming and start adapting it to your solutions.

Reactive Programming is not only for IoT solutions; it can be efficiently used in traditional applications that deal with user inputs such as Reactive Forms introduced in Angular 2. During this session audience will:

  • Have an introduction to Reactive Programming and its related concepts
  • Why Reactive?
  • Understand the basic Reactive patterns and how to incorporate them to build reactive application.
  • Understand the difference between imperative programming and Reactive Programming
  • Be Introduced to ReactiveX as a library that facilitates Reactive programming


Reactive Programming, Reactive Patterns

Target Audience & Prerequisites 

Developers, Architects

Tutorial Level


All session by Mustafa Gamal