Scroll To View More
Hire the top 3% of freelance developers
Ahmed AbdelRazzak

Ahmed AbdelRazzak

Berlin, Germany
Member since January 8, 2014
Ahmed is a back-end developer who loves building useful and fun tools. He also has experience as a web developer, and emphasizes writing clean code that adheres to the best coding practices.
Ahmed is now available for hire
Portfolio
  • LIQID GmbH
    Ruby on Rails, Sidekiq, Docker, Postgres, SEPA, XML, JSON
  • Priori Data GmbH
    Ruby on Rails, Big Query, Ruby, Bash
  • Schoolink
    Ruby on Rails, AngularJS, CoffeeScript, Heroku, MongoDB, CI
Experience
  • APIs, 4 years
  • JSON, 4 years
  • SQL, 4 years
  • Test-driven Development (TDD), 4 years
  • Ruby on Rails (RoR), 4 years
  • RSpec, 4 years
  • MongoDB, 2 years
  • Mongoid, 2 years
Berlin, Germany
Availability
Part-time
Preferred Environment
Mac OS X, Vim, Rails, Bash, Vagrant, Docker, Git
The most amazing...
...thing I've published is a blog post on Toptal's blog on implementing the Publish-Subscribe pattern in Rails.
Employment
  • Back-end Developer
    LIQID GmbH
    2016 - PRESENT
    • Built the invitation system for inviting other users controlling the accounts.
    • Built the integration with Intercom.
    • Built the SEPA/XML exporter for charging the invoices to the bank.
    • Built the invoices system.
    Technologies: Ruby on Rails, Sidekiq, Docker, Postgres, SEPA, XML, JSON
  • Full-stack Developer
    Priori Data GmbH
    2015 - 2016
    • Implemented a better scraping approach for both Android and iOS partner accounts.
    • Maintained the PRO rails application.
    • Implemented parts of the Discovery application.
    • Re-implemented parts of the public data scrapers for iTunes and Google Play stores.
    Technologies: Ruby on Rails, Big Query, Ruby, Bash
  • Founder and Lead Developer
    Schoolink
    2015 - 2015
    • Implemented the back-end public JSON API to be consumed by our mobile apps, as well as any other interested school or organization using Ruby on Rails.
    • Implemented the front-end AngularJS web app.
    • Implemented the test suite for the API using RSpec.
    • Implemented the test suite for the front-end application using Karma/Mocha CoffeeScript.
    • Maintained both the staging and production servers hosted on Heroku.
    • Implemented the admin page used by our company to monitor MongoDB and helped to solve basic user issues.
    Technologies: Ruby on Rails, AngularJS, CoffeeScript, Heroku, MongoDB, CI
  • Back-end Developer
    AskNative
    2013 - 2015
    • Reimplemented large portions of an API to follow better design patterns (hexagonal architecture and the pub/sub pattern) and best practices (thin models, thin controllers, and single responsibility service objects).
    • Implemented a test suite for the API.
    • Implemented an events feature supporting booking via a Stripe booking service.
    • Reimplemented caching for better response times (fixed a bug in the caching of active model serializers).
    Technologies: Ruby on Rails, Redis, Memcached, MongoDB, Stripe Payments
  • Web Developer
    POET Egypt
    2013 - 2013
    • Maintained the Saturn (http://www.saturn.eu/) and Media Markt (http://www.mediamarkt.com/) online stores.
    Technologies: IBM WebSphere Commerce
  • Web Developer
    Arwa Software
    2013 - 2013
    • Implemented a CRM/ERP web application for pharmacies.
    Technologies: Python, jQuery
  • Web Developer
    Ezz Steel
    2012 - 2013
    • Implemented a web application for generating a company's internal reports, automating the report creation process.
    Technologies: Java, Ext JS
  • Software Engineer
    LKSoftWare GmbH
    2011 - 2012
    • Reimplemented Open CASCADE in Java.
    Technologies: ISO10303, STEP, Open CASCADE, Java, Eclipse Plugins, C++
Experience
  • Gitsubmodule (Development)
    https://github.com/mad-raz/gitsubmodule

    A Bash script that wraps features for adding and removing submodules to a Git project. It is mainly used to manage installing and removing of Vim plugins.

  • RM (Development)
    https://github.com/mad-raz/rm

    A Bash script for new users to protect against deleting important data via the "rm" command. The script uses the system trash instead of deleting the files completely.

  • EGP Rates CLI (Development)
    https://github.com/mad-raz/EGP-Rates-CLI

    A small CLI to show the exchange rates of EGP from twenty different banks in a cool terminal table

  • EGP Rates (Development)
    https://github.com/mad-raz/EGP-Rates

    A gem that scrapes the exchange rates of EGP from twenty different banks.

  • Clean Code and The Art of Exception Handling (Publication)
    Exceptions are as old as programming itself. An unhandled exception may cause unexpected behavior, and results can be spectacular. Over time, these errors have contributed to the impression that exceptions are bad. But exceptions are a fundamental element of modern programming. Rather than fearing exceptions, we should embrace them and learn how to benefit from them. In this article, we will discuss how to manage exceptions elegantly, and use them to write clean code that is more maintainable.
  • The Publish-Subscribe Pattern on Rails: An Implementation Tutorial (Publication)
    The publish-subscribe pattern] (or pub/sub, for short) is a messaging pattern where senders of messages (publishers), do not program the messages to be sent directly to specific receivers (subscribers). Instead, the programmer "publishes" messages (events), without any knowledge of any subscribers there may be. This article provides insight in how to use the pub/sub pattern, in Rails, to communicate messages between different system components without these components knowing anything about each other's identity.
  • Ahmed is a mentor in the Toptal Global Mentor’s Program. This program is a partnership between Toptal and General Assembly to provide high quality mentorship for students from minority and low income backgrounds who are looking to begin their careers as professional software engineers. Ahmed shows commitment to diversity in tech by mentoring a General Assembly student every week for a year, covering everything from coding tips and tricks to advice on making it in the industry.
Skills
  • Languages
    Ruby, CoffeeScript, Bash, SQL
  • Frameworks
    JSON Web Tokens (JWT), Ruby on Rails (RoR), AngularJS, Ember.js
  • Libraries/APIs
    Ruby on Rails API, Devise, Mongoid
  • Tools
    JBuilder, Wercker, GitLab, GitHub, Git, Vim Text Editor, RSpec, Terminal, Karma, Vagrant, BigQuery
  • Paradigms
    Continuous Integration (CI), REST, Test-driven Development (TDD), Behavior-driven Development (BDD), Continuous Deployment, Design Patterns, Scrum, Agile Software Development
  • Platforms
    Heroku, Mac OS, AWS EC2, Linux
  • Storage
    JSON, PostgreSQL, MySQL, MongoDB, Redis, Memcached, NoSQL
  • Other
    APIs, Big Data, Unix Shell Scripting
Education
  • Bachelor's degree in Computer Engineering
    Arab Academy for Science and Technology - Alexandria, Egypt
    2005 - 2011
Hire the top 3% of freelance developers
I really like this profile
Share it with others