Amr Mostafa

Amr Mostafa

$60/hr
Web Developer
Reply rate:
-
Availability:
Hourly ($/hour)
Age:
39 years old
Location:
Cairo, Cairo, Egypt
Experience:
12 years
Cairo, Egypt --http://amrmostafa.org Amr Mostafa Full stack software engineer. Extensive experience delivering web apps and services. java php python scala linux html css javascript spring hibernate rabbitmq mysql salt-stack postgresql amqp sass angularjs jhipster ansible elasticsearch docker cassandra Technical Skills Likes: Experience Software Engineer (Contractor) Sep 2016 → Current java, javascript, angularjs, docker, cassandra, apache-kafka, microservices, saml, gradle, mysql, cucumber, spring, hibernate, jwt, raml, postgresql, typescript, angular Technical Lead – Mubasher International Sep 2012 → Aug 2016 java, spring, hibernate, python, php, nginx, linux, mysql, rabbitmq, amqp, html5, javascript, css, gulp, salt-stack, vagrant, sass, ansible, elasticsearch Accomplishments include: Improving team performance and efficiency by continuously nurturing processes, identifying missing roles and practices Leading internal and production sysops Implementing our now indispensable monitoring solution for our services, applications and servers, which decreased our outages and increased our errors response rate by orders of magnitude Migrating our servers to a new hosting provider with zero downtime Implementing solid integration with unstable and erroneous backbone to receive business critical data Implementing and documenting our HTTP caching layer, required identifying and fixing key issues to make the app behave correctly behind an HTTP cache Advocating for the use of new technologies and internal practices Planning, strategy and advocacy for transforming the existing code-base for our main product to a more modern one by way of small, limited-scope code refactoring which increases code longevity, resolves complex bugs, improves performance and enhances developer productivity Implementing various core modules and improvements Lead Performance Engineer – N2V php, vbulletin, nginx, php-fpm, mysql, replication, git Jul 2011 → Mar 2012 Lead a team to improve the performance & scalability of vBulletin, the software powering an extremely high-traffic women community — Hawaa World. Key Responsibilities: Lead development and system operations Continously analyze performance and bottlenecks through the complete stack Explore and seek out new concepts, tools and technologies that could contribute to improving the performance or scalability of the stack Determine the architecture & software design changes necessary to boost performance and/or scalability Educate and mentor team on system or architecture related topics Implement improvements at the application & system level Set and maintain team processes, tools, guidelines, practices, conventions and standards Communicate with stakeholders regarding all aspects of the team's work & objectives Technical Consultant – N2V php, java, linux, apache, bind, http, dns, nginx, scalability, performance, openx, git Feb 2011 → Dec 2011 Manage the servers infrastructure for all N2V projects Provide support and consultation to the technical teams on the knowledge areas they lack Help projects improve the technical performance and scalability of their projects Contribute to the inception and early stages of new projects giving technical guidance and providing support and advice Recommend alternatives to the business owners regarding available technical solutions Java Team Leader – Mubasher.info (a sister-company of N2V) java, j2ee, eai, spring, spring-integration, amqp, hibernate, tomcat, xml, json, git Jul 2010 → Mar 2011 Mubasher.info is a leading financial portal in the middle east, part of Mubasher financial services. The team I was leading implemented one of the corner-stones of the platform – the integration layer – that streamed the backend data to critical internal & external clients using push and pull methods, and different formats and protocols. Key Responsibilities: Business & system analysis for a legacy integration layer, document requirements, verify across stakeholders Devise the architecture & the design for the new integration layer Lead a small team of 2 developers to implement the integration layer and expose business services using its different push/pull channels through a unified, secure and manageable mechanism Set and maintain team processes, tools, guidelines, practices, conventions and standards Document architecture, system features, API, integration how-to Communicate with internal & external stakeholders to ensure proper implementation Analyze portal (J2EE) performance, find bottlenecks and communicate across team. I contributed to the stability and performance the system PHP Team Leader – N2V php, vbulletin, zend-framework, mysql, replication, apache, git May 2009 → Jun 2010 Led the development & system operations for a very large online women community (ranked 11xx on Alexa worldwide, 12-15 on KSA). My team was responsible for scaling and improving the performance of the platform and for the development of new product features. Key Responsibilities: Lead the development and operations Continously analyze performance and bottlenecks through the complete stack Devise solutions and communicate across team & stakeholders Implement performance & scalability improvements at the application or infrastructure level Lead a small team to implement new product features based on vBulletin and Drupal Set and maintain team processes, tools, guidelines, practices, conventions and standards Communicate with stakeholders regarding all aspects of the product & the infrastructure Head of Software Development – IT Synergy Jul 2007 → Dec 2008 php, drupal, zend-framework, apache, mysql, subversion, gis, mapserver, geoserver, openlayers, kamap Head the company software development department. Manage projects from proposal to implementation and to closure. Reporting directly to the CEO & CTO. Key Responsibilities: Manage projects from inception to closure Prepare proposals and win new software development projects Estimate schedule & cost for new projects during proposal preparation and during the different project phases Bootstrap projects, assemble teams, prepare schedules, cost, system features break-down, kick-start different project processes Main point of contact between all stakeholders regarding all aspects of managed projects Improve the company SDLC Set and maintain team processes, tools, guidelines, practices, conventions and standards Explore new ways, technologies and approaches for improving the software development practice company-wide Attract and select new talents Coach developers Lead complete implementation of selected projects Participate in setting company's technical direction and strategy Participate in defining and improving the company's internal culture During that time, I also made many contributions to Drupal, browesable through my drupal.org public profile, and to Zend Framework 1 (archived, samples): ZF-3358 ZF-3355 ZF-2988 ZF-2870 Senior Software Developer – IT Synergy php, drupal, mambo, joomla, sugarcrm, mysql, subversion, gimp, gis, mapserver, kamap Jul 2005 → Jun 2007 Build and maintain new and legacy web applications Gather & analyze system requirements Design UIs and implement them using standard XHTML and CSS Estimate development tasks Mentor juniors and new comers Performance Engineer – EgyFilm Apr 2006 → Sep 2006 Analyzing and assessing bottlenecks of high traffic entertainment portal Analysis on the application layer, and the services layer (LAMP) Working with System Administrators and/or Development team for evaluating and carrying out candidate solutions Measurement of performance gain or lose Web Developer, Designer and System Administrator – EgyFilm Jul 2001 → Jun 2005 I was responsible for the development and day-to-day maintenance of a high traffic portal focused on the film industry, usually ranked between 3k and 10k amongst other websites worldwide traffic wise according to alexa.com. Though my job responsibilities weren't very well defined, I was usually responsible for launching new services and designing advertisement campaigns. I was also maintaining a home made CMS and was running its GNU/Linux based servers. Key Responsibilities: Developing custom modules for the content management system Administrating Apache web server and MySQL RDBMS on the main server of the portal website. Site development include graphics design, front-end code and server side code Provide different kinds of consultancy and technical support to various departments and partners Education PMP Preparation Course – RITI project-management, pmp Dec 2011 → Current PMP is a project management credential offered by PMI. This course explained PMI's approach to project management which – while different from Agile & Scrum – provides a solid foundation of the working corner-stones of project management. It covered management of scope, time, cost, human resources, quality, risk, as well as communication and procurement. Software Process Improvement – Software Engineering Competency Center software-engineering, cmmi, project-management Aug 2007 → Nov 2007 The course aims at improving the quality of software engineering. I attended the following topics: Overview of Software Engineering with a focus on CMMI Requirements Engineering Project Management Configuration Management Visual Effects – Raa'fat ElMeihy Cinema Arts & Technology Academy softimage, photoshop Oct 2006 → Nov 2007 A one year visual effects course on: The art and application of visual effects for cinema, using Softimage XSI systems General cinematic topics including: directing, photography, screen writing, Greek mythology, etc Video editing and composting Bachelor of Information Systems – New Cairo Academy for Science & Arts Projects & Interests Stack Overflow – http://stackoverflow.com/users/43597/amr-mostafa Written 32 answers. Active in java and php. Sep 2003 → May 2007 2008/12 → Current JHipster – https://github.com/amr/generator-jhipster java, gulp, angularjs, spring Apr 2014 → Current Hipster stack for Java developers. Yeoman + Maven + Spring + AngularJS in one handy generator. For me, it represents many good ideas for building modern Java / Spring web apps with modern front-end tooling. I've contributed various patches with the majority being for GulpJS builds, which led to me being the current primary maintainer of Gulp in the project. backup-tools – https://github.com/amr/backup-tools shell Jun 2011 → Current An organized set of scripts for backing up projects data to a remote server Working with our system administrator who could only write in bash, we set out to create a simple backup system for use in the company. I designed the application theory of operation, its configuration system, and supervised the implementation to ensure correct implementation of things like atomicity, resilience, security and data integrity. I also wrote the rsync-wrapper (in utilities/) and wrote 90% of the documentation. mod_log_performance – https://github.com/amr/mod_log_performance c, apache Apr 2011 → Current Logs performance-related stats for Apache 2.x Prefork MPM Back in 2009, was leading development for a very busy portal running a LAMP stack, one of the busiest in the world, ranked as 10xx on alexa world-wide. We had this problem where some of our PHP (mod_php) requests would leak memory, causing their HTTPd processes memory usage to eventually sky-rocket. No existing tools at the time have helped in identifying which requests actually cause this. I implemented this minimal module for the Apache HTTP server, to log the memory usage of each httpd process before/after the request is processed. It was immediately successful in identifying which requests where responsible for the faulty behavior. rsod – https://github.com/amr/rsod Reverse SSH On Demand Nov 2008 → Current
Get your freelancer profile up and running. View the step by step guide to set up a freelancer profile so you can land your dream job.