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.