Waleed Darwish
      Software Developer
      E-mail, Github, Linkedin, pgp
      Resume available as Google docs
      Berlin, Germany


      1. Profile

         Building software for +9 years using Scala, Nodejs and Java which allowed me to
         gain experience using many programming paradigms such as imperative/object oriented,
         declarative and functional programming.

      2. Technical Skills

          Programming: Scala, Node.js, Java and Python.
          Database: Mysql, Mongo, Elasticsearch, Apache Solr and Redis.
          Operating Systems: Linux (Debian or Redhat Based), MacOS.
          Everyday Tools: Intellij, Git, ScalaTest, Junit, Maven, Virtualenv, Pip, Jenkins.
          Front end: JavaScript, AngularJS and Twitter Bootstrap.
          Methodologies: OOP, Design Patterns and Microservice Architecture.
          Utilities I use: Docker, Kubernetes, Prometheus, Fluentd, Nginx, Apache Airflow, Swagger.


      3. Professional History

      3.1 Jun. 2016 - Till Now  		Traffics GmbH                         Berlin, Germany

        As a software developer in Traffics GmbH, I worked on many systems/projects; From building
        data processing tools with Scala,  APIs with Node.js, and using Python in many glue-like
        projects that facilitate the interaction between our internal systems/applications.
        In Traffics, we praise the twelve-factor app methodology which helped us build a portable
        and resilient software. Running and scaling our systems is achieved by using technologies like
        Docker, Kubernetes, ELK stack and Prometheus.

        I’m a member of the Scala team who is reasonable for implementing OTDS[1][2] specification and building
        Traffics’s toolchain to process the hundreds of gigabytes of the otds data that we receive daily.
        We depend heavily on testing (unit, integration and acceptance tests) to guarantee the quality of
        our code base (~30K loc). I’m also maintaining and contributing to XSLT schemas that we use to
        simplify/preporocess OTDS data before feeding it to the first stage in our data processing pipeline.

        I have been a member of Node.js team. We developed tens of REST APIs for internal use and one main
        REST API - Connector - that is used by our b2c clients everyday to search for flights,
        hotels and package offers. Traffic's customer list is quite long and it includes many big names in the
        tourism industry in Germany and Europe like TUI, FTI. To serve our customers needs,
        scaling our services was very critical for us. Back in 2016, I was responsible for bringing Kubernetes into
        the company and switching all our services to run on top of it and make sure that everything runs smoothly and
        scales well. To get insight about our services’ states, we collect many matrices to be stored in Prometheus and later
        shown on Grafana, and for a detailed insight, we used ELK stack to make it easy to look into our logs.

        Beside developing the tools that we need to process OTDS data (Scala) and APIs (Node.js) to search in the processed
        OTDS data, I’m also working on introducing Apache Airflow to our company, and replacing the old processing
        tools (Perl and Bash) with Apache Airflow dags (Python) that take  advantage of not only the nice web UI of Airflow but
        also build on top of Celery and Rabbitmq to provide more dynamic environment to executes our dags. Our focus now is
        to make sure that the hundreds of data processing jobs that we start everyday work smoothly and fast on top of
        Apache Airflow that is running in our datacenter (saving the cost of running these jobs on AWS).

        As a fun project, I developed an Amazon Alexa skill, Reisesuche, by which you could
        search for hotels and package offers (in German) using your Amazon Echo & Alexa Devices.


      3.2 Mar. 2015 - May. 2016 		SAND                                  Cairo, Egypt

         Part of team who heavily use Agile and XP to deliver highly scalable web applications
         based on microservices architecture using technologies like J2EE(JSF 2.x, EJB 3.x, JPA, JMS),
         spring framework, nodejs and Angularjs.

         Forked NODE-RED to deliver customized IOT components and
         developing our own VoIP and call center solutions based on FreeSwitch and Asterisk servers. Beside that,
         I used Javascript/Angularjs to build many Single-page applications and also many REST APIs using Node.js and Expressjs.

         My everyday toolbox includes Apache Solr, Mongodb, Redis, Travis, and Docker.


      3.3 Apr. 2014 - Mar. 2015 		Siliconexpert an Arrow's subsidiary   Cairo, Egypt

         Building and enhancing software solutions that deal with searching inside many terabytes of
         data using a wide range of technologies such as Apache Solr, Spring Framework, JPA, GWT, JSF and
         Servlet which heavily depends on Hbase, MySql and Oracle as backend storage.

         Was a part of the team who developed Arrow REST API which serves more than 5M requests per Month. I also worked on
         Integrating OpenAM as a Single sign-on solution for all siliconexpert’s systems.


      3.4 May. 2013 - Apr. 2014 		Ferrycode                             Cairo, Egypt

        Used J2EE and Apache Solr to develop web-based editorial management tools for newspapers,
        news agencies, and content providers and publishers to manage, audit and revise their content with
        their own designed editorial workflow.

      4. Languages

        Arabic: First Language.
        English: Full Professional Proficiency (C1, IELTS 2020).
        German: Elementary proficiency (A2).

      5. Education

        Bachelor of Computer Science, Faculty of Computers and information,
        Mansoura university, 2011[3].

        Graduate Project: Handwriting OCR using Rough Neuro.

    

[1] OTDS is a new data format for the tourism industry that is efficient, clean and open. In Traffics, OTDS shares the biggest portion (>50%) of the travel data that is delivered daily form our clients(tour and flight operators).

[2] Traffics was an OTDS initiator and currently a board member in the OTDS association.

[3] Equivalent to a bachelor degree in Canada and Germany.