β˜€οΈ
πŸŒ‘
Hi, my name is

Islam ElHakmi.

I'm a Full Stack (Heavy Backend) software engineer with +4 years of experience building web️ applications & contributing to open source projects :)

Get in Touch My Resume

Twitter GitHub Linkedin Stackoverflow
About me

I'm a Full Stack (heavy backend) software engineer (+4 Y.O.E) with a B.S degree in Computer Science from Mansoura University in Egypt

I'm interested in Open Source, Web Development, Cyber Security, DevOps, Site Reliability Engineering, and Marketing.

In my free time,I love listening to Music 🎢, playing the Piano 🎹, playing Computer Games πŸ€–, watching Anime 🎌, exploring different Technologies and Coding πŸ‘¨β€πŸ’» of course πŸ˜….

Skills

Programming Languages: C/C++, Javascript, PHP, Python, SQL, Java, C#

Libraries & Frameworks: HTML, CSS, Bootstrap, Materialize, JQuery, Vue.js, React.js, Next.js, Laravel, Yii, Node.js, Redux, Express.js, Socket.io, Laravel Echo, Pusher.js.

Testing: Jest, PHPUnit, Cypress.io

Operating Systems: Linux (ubuntu), Windows

Databases: MySQL, MongoDB, PostgreSQL

Cloud Providers: GCP, AWS, Digital Ocean

Other Skills: GIT, LAMP, PM 2(Process Manager), Redis, Cron Jobs, BeautifulSoup4, Docker, FFMPEG, Hyperledger Fabric (Blockchain), NLP (Wit.ai, Dialogflow)

Open Source Development Experience
March 2019 - Present

    • Improved the development server security by developing `serveIndex` option that enables/disables `serve-index` middleware so the user can control whether the development server directory lists folders without index.html or not.
    • Added support for webpack-cli v3.3.x+.
    • Developed `liveReload` option that helped the developers enable/disable the live reloading of the browser on file changes which greatly helped developers working on projects with so much content in single pages.
    • Added webpack-dev-middleware `callback` functions support through the development server.
    • Improved the performance of the development server by removing socket injection when hot & live reloading are disabled as then the socket injection won’t be needed and would consume more memory.
    • Helped in improving the debugging process by logging http server errors instead of ignoring them.
    • Improved `open` option by allowing it to accept an object instead of accepting only `Boolean` and `String` which allowed the developers to use all possible `open` package options.
    • Improved the readability and error detection by refactoring small parts of the code.
    • Added new tests for newly developed features and modifications and Improved existing ones using Jest testing framework.
    • Documented newly developed webpack-dev-server features.
    • Improved the documentation by adding missing options’ details for webpack plugins.
    • Allowed the developers to preprocess all html tags instead of adding every single html tag in the `tag` option by making the `tag` option optional so the plugin processes all the html tags if the `tag` option isn’t defined.
    • Added support for `Asynchronous` functions to`preprocessor` option to support all modern preprocessors.
    • Improved `encoding` option by adding support to all Node.js encodings instead of supporting only `base64` encoding.
    • Developed `generator` option to allow the developers to implement their own implementation of encoding data.
    • Allowed backers to reply to emails by adding `Reply-To` email header to emails which greatly improved the communication between the backers and collective admins.
    • Improved the sorting options for expenses by adding sort by `created_at` date.
    • Improved the consistency of shown information by flushing `CloudFront` cache after transaction refunding.
    • Generally improved the application by deprecating unused parts of code and fixing logical errors and small bugs.
    • Improved the UX by allowing users to view transaction details from the `All transactions` page as it was allowed only in the collective page.
    • Improved the UX of email unsubscription by building a front-end landing page with React.js instead of showing a JSON object.
    • Fixed a UI bug that caused the FAQ accordion to overlap the footer by dynamically modifying the height of the accordion container with JQuery.
Others
    • Added support for `Asynchronous` functions to `waitForFunction` option which prevented the hanging of the library on passing `Asynchronous` functions.
    • Fixed a bug that caused child elements to be highlighted like their parent elements by adding UUID for all target elements.
    • Fixed a bug that caused rust vulnerabilities scraper to fail.
Professional Work Experience

Scopic Software - Full Stack Software Engineer
October 2020 – Present
  • Achievements & Responsibilities
    • ● Worked with a multinational team on Sfera Studios localization platform in the Media and Entertainment industry.
    • ● Worked on automating the registration and payment process using Stripe API/SDK for vendors/studios.
    • ● Worked on transitioning the old codebase (Yii1, JQuery) to modern frameworks (Laravel, React.js [Material-UI, Redux]).
    • ● Worked on developing new features, debugging and fixing bugs.
    • ● Improved code quality by implementing SOLID principles and best practices.

● Skills : HTML, CSS, Javascript, PHP, Laravel, JQuery, MySql DBMS
Elryad.com - Back End Developer
April 2018 – December 2018
  • Achievements & Responsibilities
    • ● Developed and maintained Educational,E-commerce and CMS web applications using Laravel and JQuery.
    • ● Designed and developed RESTFul APIs for mobile applications.
    • ● Worked closely with clients to analyze their requirements and design efficient software solutions.
    • ● Mentored new engineers by giving advice and sharing tutorials, articles and best practices.

● Skills : HTML, CSS, Javascript, PHP, Laravel, JQuery, MySql DBMS
Moov Store (Formerly New Yaum) - Back End Developer
October 2017 – February 2018
  • Achievements & Responsibilities
    • ● Worked on an E-commerce platform that enabled the users to browse nearby registered sellers.
    • ● Worked on the Delegate module which was responsible for verifying, and communicating with newly registered sellers.
    • ● Improved the UX for the users by suggesting and Implementing new features and improvements such as browsing history.
    • ● Developed real-time chat and notifications systems using Socket.io, Vue.js, Node.js, Laravel Echo and Redis.
    • ● Improved the performance and UX of search pages by converting all search pages from form-submitting to AJAX.
    • ● Developed RESTFul APIs using Laravel.
● Skills : HTML, CSS, Javascript, PHP, Laravel, JQuery, AJAX, Socket.io, Laravel Echo, GIT
Neoxero - Back End Developer
March 2017 – November 2017
  • Achievements & Responsibilities
    • ● Developed the frontend and the backend of an indoor (RMS) Recruiting Management System from scratch with a notifications system that notifies both the recruiter and the candidate via Email and SMS using Laravel, Nexmo API/SDK, and JQuery.
    • ● Developed search, profile and reservation systems for a Medical Services Platform using Laravel, Vue.js and JQuery.
    • ● Installed and configured LAMP Stack on Ubuntu Servers.
● Skills : HTML, CSS, Javascript, PHP, Laravel, JQuery, AJAX
Education

September 2016 – August 2020 (Expected)
B.S in Computer Science
  • Graduation Project
      • A mobile application that depends on Hyperledger Fabric to make a secure and private Blockchain network to store the medical history of the patients.
        My responsibilities were developing the back end (Node.js) and writing the smart contracts for Hyberledger Fabric SDK and integrating them together.
        My team won the 1st place for our project in the 4th Egyptian Computer Science Olymlics wich was held in Benha University (Feb 2020).
Achievements & Awards

Volunteer Experience

Devmix - Technical Member
April 2017 – June 2018
- Helped in writing technical posts and articles.
Trosc - Technical Team Member
September 2015 – June 2016
- Helped in organizing events, competitive programming on a2oj.com & fast typing contests on 10fastfingers.com & writing Technical articles.
Resala - Member
September 2015 – June 2016
- Helped in packing and distributing food & clothes to the needy in Mit Ghamr, Dakahlyia.
- Helped in cleaning and repainting the streets of Mit Ghamr city.
Projects I'm Proud Of πŸ€—

sferta studios
Sfera Studios
Working at Scopic Software
I was assigned to work in Sfera Studios OneDub team.
My Achievements :
● Worked on automating the registration and payment process using Stripe API/SDK for vendors/studios.
● Worked on transitioning the old codebase (Yii1, JQuery) to modern frameworks (Laravel, React.js [Material-UI, Redux]).
● Worked on developing new features, debugging and fixing bugs.
● Improved code quality by implementing SOLID principles and best practices.
PHP [Laravel, Yii1] Javascript [JQuery, React (Material-UI, Redux)]
prexoo.com
Prexoo
Prexoo is a social network project that delivers new and unique experience for the users.
It was launched in Feb 2019 and got +3300 users and +20,100 unique visits from +50 different countries.
My Technical Achievements:
● Built a service that preprocess newly uploaded images and videos to various qualities using FFMPEG to improve the browsing experience.
● Built a js music player built from scratch that streams music through PHP server that allows serving partial content (playing the song from any second immediately).
● Built a followers system that allows blocking and friendships.
● Built a real-time chat and notifications system using Socket.io, Vue.js, Node.js, Laravel Echo and Redis.
● Built a voting system that notifies the users with results after the deadlines through CRON jobs.
● Built a posts/comments system that allows users to upload images, videos and also allows voice comments using Web Audio API.
HTML5 PHP (Laravel) Javascript [JQuery,Vue.js] Laravel Echo Redis Socket.io Twitter API
classify-it
ClassifyIt
ClassifyIt is a Facebook Group posts Classifier using category based words occurrences count algorithm.
It was built only in 2 days.
HTML5 Javascript [Node.js,Express,React.js,Next.js] MongoDB Facebook API

edumeter
Edumeter
Working at Elryad.com
I was lucky to lead the development of an E-learning system that Helps Edumeter an educational institution in Saudi Arabia to provide E-learning services.
So far It's used by +1000 Students and +50 Teachers, improving the education and making real impact.
HTML5 PHP (Laravel) Javascript [JQuery]
What's next ?

Get In Touch


I'm available for all opportunities, my inbox is always open. Whether for a potential project or just to say hi, I'll try my best to answer your email !

Say Hello