Amr Mostafa, Developer in Cairo, Cairo Governorate, Egypt
Amr is available for hire
Hire Amr

Amr Mostafa

Verified Expert  in Engineering

Java Developer

Location
Cairo, Cairo Governorate, Egypt
Toptal Member Since
January 28, 2015

Amr is a full stack software and systems engineer specializing in web applications and all the tools and technologies that power web content. He boasts extensive in-depth knowledge and experience in Java and the LAMP stack.

Portfolio

Toptal Clients
Angular, D3.js, React, TypeScript, ECMAScript (ES6), RabbitMQ, Cassandra, Redis...
Arabesque
Python, Gradle, Android, Spring, Scala
Mubasher International
AngularJS, Sass, Gulp, Apache Maven, Jenkins, Vagrant, Docker, LXC, Ansible...

Experience

Availability

Part-time

Preferred Environment

Git, Emacs, Vim Text Editor, Sublime Text, Eclipse, IntelliJ IDEA, GNU

The most amazing...

...thing I've built is a tool for the United Nations Development Program allowing hundreds of their experts to remotely collaborate on their yearly strategic plan.

Work Experience

Software Engineer

2016 - PRESENT
Toptal Clients
  • Designed, implemented, and scaled microservice-oriented solutions.
  • Built responsive UIs using React and Angular.
  • Implemented APIs/back-ends using Java, PHP, Python, Kafka, PostgreSQL, Redis, Cassandra, and RabbitMQ.
  • Implement UIs using ES6, TypeScript, React, D3, and Angular.
  • Implemented and contributed to SysOps/DevOps using Gitlab CI, Docker, Kubernetes, and AWS.
Technologies: Angular, D3.js, React, TypeScript, ECMAScript (ES6), RabbitMQ, Cassandra, Redis, PostgreSQL, Apache Kafka, Python, PHP, Java

Founder & Lead Engineer

2013 - 2016
Arabesque
  • Designed architecture for platform that empowers copy writers and content authors to create and publish mobile apps for references, magazines and books.
  • Implemented modular, highly concurrent and versioned API using Scala and Spring.
  • Implements CLI clients using Python (v1) and then Scala (v2).
  • Developed RAML API specs.
  • Automated sysops using Ansible.
Technologies: Python, Gradle, Android, Spring, Scala

Technical Lead

2012 - 2016
Mubasher International
  • Improved team performance and efficiency by continuously nurturing processes, identifying missing roles, and updating practices.
  • Led internal and production system operations.
  • Implemented a new monitoring solution for our services, applications and servers which is now indispensable. Decreased our outages and increased our error response rates by several orders of magnitude.
  • Migrated servers to new service providers with zero downtime.
  • Implemented solid integration with an unstable and erroneous backbone to receive business critical data.
  • Implemented and documented our HTTP caching layer. Identified and fixed key issues to make the app behave correctly behind an HTTP cache.
  • Advocated for the use of new technologies and internal practices.
  • Led an advocacy effort to transform the existing codebase for our main product to a more modern one by way of small, limited-scope code refactoring. Increased code longevity, resolved complex bugs, improved performance, and enhanced developer productivity.
  • Wrote technical documentation.
Technologies: AngularJS, Sass, Gulp, Apache Maven, Jenkins, Vagrant, Docker, LXC, Ansible, Bash, CSS, JavaScript, HTML5, AMQP, RabbitMQ, MySQL, Linux, NGINX, PHP, Django, Python, Hibernate, Spring, Java

Lead Performance Engineer

2011 - 2012
N2V
  • Led development and system operations.
  • Analyzed performance and bottlenecks continuously throughout the complete stack.
  • Explored and sought out new concepts, tools, and technologies that could contribute to improving the performance or scalability of the stack.
  • Determined the architecture and software design changes necessary to boost performance and/or scalability.
  • Educated and mentored the team on system or architecture-related topics.
  • Implemented improvements at the application and system level.
  • Set and maintained team processes, tools, guidelines, practices, conventions, and standards.
  • Communicated with stakeholders regarding all aspects of the team's work and objectives.
Technologies: Git, MySQL, PHP-FPM, NGINX, vBulletin, PHP

Technical Consultant

2011 - 2011
N2V
  • Managed server infrastructure for all N2V projects.
  • Provided support and consultation to technical teams on areas in which they were inexperienced.
  • Helped improve the technical performance and scalability of projects.
  • Contributed to the conception and early stages of new projects, giving technical guidance and providing support and advice.
  • Recommended alternatives to business owners regarding available technical solutions.
Technologies: Git, Memcached, MySQL, PHP-FPM, Apache HTTP Server, Python, PHP, Java

Team Leader

2010 - 2011
Mubasher International
  • Handled business and system analysis for a legacy integration layer as well as document requirements and verification across stakeholders.
  • Devised the architecture and design for the new integration layer.
  • Led a small team to implement an integration layer and expose business services using different push/pull channels through a unified, secure, and manageable mechanism.
  • Analyzed portal (J2EE) performance. Found bottlenecks and communicated across the team. Contributed to the stability and performance of the system.
  • Documented architecture, system features, APIs, and integration how-to notes.
  • Communicated with internal and external stakeholders to ensure proper implementation.
  • Set and maintained team processes, tools, guidelines, practices, conventions, and standards.
Technologies: Git, JSON, XML, Apache Tomcat, Hibernate, RabbitMQ, AMQP, Spring, Java

Team Leader

2009 - 2010
N2V
  • Led development and operations for one of the busiest websites in the worlds.
  • Analyzed performance and bottlenecks continuously throughout the entire stack.
  • Devised solutions and communicated across the team and with stakeholders. Implemented performance and scalability improvements at the application or infrastructural level.
  • Led a team to implement new product features based on vBulletin and Drupal.
  • Set and maintained team processes, tools, guidelines, practices, conventions, and standards.
  • Communicated with stakeholders regarding all aspects of the product and infrastructure.
Technologies: Git, Apache, MySQL, Zend Framework, vBulletin, PHP

Head of Software Development

2007 - 2008
IT Synergy
  • Managed projects from proposal to implementation to closure.
  • Prepared proposals and won new software development projects.
  • Estimated schedule and cost for new projects during proposal preparation and for different project phases.
  • Led Bootstrap projects, assembled teams, prepared schedules, managed costs, assigned system features, and kick-started different project processes.
  • Served as the main point of contact between all stakeholders regarding all aspects of managed projects.
  • Improved the company software development lifecycle (SDLC).
  • Set and maintained team processes, tools, guidelines, practices, conventions, and standards.
  • Attracted and hired new talents.
  • Led the complete implementation of selected projects.
  • Helped set the company's technical direction and strategy.
  • Contributed to the definition and improvement of the company's internal culture.
  • Contributed patches to Drupal and the Zend Framework.
Technologies: OpenLayers, GeoServer, MapServer, GIS, Subversion (SVN), MySQL, Apache HTTP Server, Zend Framework, Drupal, PHP

Senior Software Engineer

2005 - 2007
IT Synergy
  • Built and maintained new and legacy web applications.
  • Gathered and analyzed system requirements.
  • Designed UIs and implemented them using standard XHTML and CSS.
  • Estimated team development tasks.
  • Mentored junior developers and newcomers.
Technologies: MapServer, GIS, SugarCRM, Joomla, Mambo CMS, Subversion (SVN), MySQL, Drupal, PHP

Performance Engineer

2006 - 2006
EgyFilm
  • Analyzed and assessed bottlenecks for a high traffic entertainment portal.
  • Analyzed the application layer and the services layer (LAMP).
  • Worked with system administrators and software engineers to evaluate and carry out candidate solutions.
  • Measured performance gains and losses.
  • Prepared capacity planning reports for senior management.
Technologies: Linux, MySQL, PHP

Full-stack Engineer

2001 - 2005
EgyFilm
  • Developed and maintained a high-traffic portal focusing on the film industry.
  • Launched new services and designed advertisement campaigns.
  • Developed custom modules for the in-house content management system.
  • Administered GNU/Linux servers running Apache web server and MySQL RDBMS.
  • Handled graphic design and front-end code.
  • Provided different kinds of consultancy and technical support to various departments and partners.
Technologies: Adobe Photoshop, Linux, JavaScript, CSS, HTML, MySQL, PHP

Mubasher.info Integration Layer

Mubasher.info is a leading financial markets analysis and information producer. I led a team to implement an integration layer, one of the corner-stones of their core platform backbone. The layer streams back-end data to critical internal and external clients. Newly created content is pushed from the platform across the rest of the Mubasher network. A message-oriented architecture is implemented utilizing Enterprise Integration Patterns. The Mubasher.info content platform pushes content over to a message broker and specialized “consumers” are subscribed to the broker to receive the streamed content in real-time. The content is then pushed over to the rest of Mubasher network, which features multiple systems with different sets of requirements.
Pull API was provided as a REST-ful resource in XML and JSON formats. IFrames support was also implemented in a re-usable fashion, where each client may receive a fully customized version of the IFrames through the admin and by utilizing the power of clean markup and custom stylesheets.
API clients include mission-critical internal clients (Mubasher network), a dozen banks, and several popular newspapers and portals.
Key technologies: Java, RabbitMQ, AMQP, Spring Integration

Online Programme Application System (OPAS)

I led the development and implementation of the Online Program Application System for the United Nations Development Program in Spain. OPAS was developed to help the UNDP-Spain MDG Achievement Fund make their yearly strategic plan, involving managing and prioritizing different projects from around the world. A total of €500 million is assigned and distributed amongst these projects every year throughout OPAS that implement different stages and rounds for qualifying and selecting the projects. It features a modern, highly efficient web interface with integration with the UNDP network, resulting in a completely automatic, hassle-free system with users from different UNDP offices all over the world. It enables a higher level of information for decision-makers a few mouse-clicks away. It also features custom reporting tools to allow decisions-makers to literally “build” custom reports by mixing and matching any data in the underlying relational database with applied filters, sorting, etc. OPAS is written in PHP, using the Drupal framework as the basis. All customizations are implemented as reusable Drupal modules.

Central Authentication Service

I designed and led development of a Central Authentication Service (CAS) that allows different websites and applications to share their user bases. This enables end users to use a single account across all integrated applications. CAS integrates with very busy websites, requiring extreme reliability and performance. This is achieved by implementing replication logic in CAS instances on top of MySQL replication.
Key technologies and protocols used: Zend Framework, SOAP, PHPUnit, MySQL.

Emergency Vehicle Dispatching System

I led development of a system for emergency routing and dispatching of vehicles. It consists of many components, including GIS, Asterisk telephony integration, and implementation of server-push (Comet) technology for supporting full duplex communication between the server and the client. It is written in PHP, and uses open source KaMap! as the basis of the GIS component.

Languages

Java, HTML, PHP, JavaScript, Python, Scala, SQL, CSS, Kotlin, XML, HTML5, ECMAScript (ES6), TypeScript, C, Bash, Sass

Paradigms

Microservices, REST

Platforms

Linux, Docker, Drupal, Mambo CMS, Joomla, MapServer, vBulletin, Eclipse, Apache Kafka, Android

Other

HTTP, Full-stack, Saetta Web Server, DNS, LXC, GNU, BIND9

Frameworks

Spring, Spring Integration, Zend Framework, Hibernate, Angular, AngularJS, Django

Libraries/APIs

jQuery, AMQP, React, OpenLayers, D3.js

Tools

Apache Maven, Ansible, SaltStack, NGINX, Git, RabbitMQ, Adobe Photoshop, Subversion (SVN), SugarCRM, Apache HTTP Server, Apache, Apache Tomcat, PHP-FPM, Vagrant, Jenkins, IntelliJ IDEA, Sublime Text, Vim Text Editor, Emacs, Gulp, Gradle, GIS

Storage

PostgreSQL, MySQL, GeoServer, JSON, Memcached, Redis, Elasticsearch, Cassandra

2003 - 2007

Bachelor's Degree in Information Systems

New Cairo University - Cairo, Egypt

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring