Scroll To View More
Youssef Sherif

Youssef Sherif

Cairo, Cairo Governorate, Egypt
Member since September 11, 2017
Youssef is a prolific software developer who thrives in dynamic, fast-paced working environments. He delivers world-class quality code in terms of architecture, readability, maintainability, and performance. He also has a hunger for learning about new advances in the software industry.
Youssef is now available for hire
Portfolio
  • ThoughtDesign
    Angular, Webpack, C#, Node.js, JavaScript, MongoDB, Sass, Express.js
  • ThoughtDesign
    Angular, Webpack, Sass, CSS, JavaScript
  • 34 MediaLabs
    Node.js, AngularJS, MongoDB, Express.js, Socket.IO
Experience
  • JavaScript, 3 years
  • React, 2 years
  • Python, 2 years
  • Angular, 2 years
  • Node.js, 2 years
  • Microservices Architecture, 1 year
Cairo, Cairo Governorate, Egypt
Availability
Part-time
Preferred Environment
Git
The most amazing...
...software I've developed is an Arabic text to speech converter. It is ranked as the best open source Arabic text to speech software in the world.
Employment
  • Technical Team Lead
    2017 - PRESENT
    ThoughtDesign
    • Built a Node.js application that demonstrates an architecture for building Node.js back-end services using the command query responsibility separation principle and event sourcing.
    • Built new features and fixed bugs in the front-end using Angular.
    • Conducted code reviews.
    • Assessed and interviewed senior developers for hiring consideration.
    • Migrated an AngularJS project to Angular.
    • Developed unit tests, integration tests, and end-to-end tests.
    • Built features and fixed bugs for a portal to manage Azure, AWS, and GCP compute assets for clients.
    Technologies: Angular, Webpack, C#, Node.js, JavaScript, MongoDB, Sass, Express.js
  • Senior Developer
    2017 - 2017
    ThoughtDesign
    • Migrated apps from old Angular versions to new Angular versions and updated dependencies accordingly.
    • Migrated a huge codebase from a SystemJS module loader to use Webpack loader and bundler.
    • Built Selenium E2E tests and refactored old tests to use the page object model.
    • Built API data-driven dynamic forms in Angular.
    • Used Redux-like architecture to manage complex central state in Angular apps.
    • Built a sophisticated client-side form wizard.
    Technologies: Angular, Webpack, Sass, CSS, JavaScript
  • Full-stack Developer
    2016 - 2017
    34 MediaLabs
    • Designed and developed an Angular app for restaurant reservations where admins could accept, reject, and check-in clients.
    • Designed and developed a Node.js API to mobile apps and to an admin panel.
    • Developed JSON web token authentication and authorization in Node.js.
    • Set up and configured servers on DigitalOcean for deployment.
    • Developed a notifications system for an admin panel.
    • Wrote sophisticated and performant queries utilizing MongoDB aggregate query syntax that reduced response times by hundreds of milliseconds.
    Technologies: Node.js, AngularJS, MongoDB, Express.js, Socket.IO
  • Front-end Developer
    2016 - 2016
    34 MediaLabs
    • Developed fully functional responsive admin panels.
    • Developed tables with search, filtering, sorting, and pagination.
    • Built a sophisticated JavaScript event calendar for an admin panel that utilized CalendarJS.
    • Maintained, developed features, and fixed bugs for the Angular client side of an admin panel for a startup project.
    Technologies: AngularJS, FullCalendar, Angular Material, CSS
Experience
  • Manage Center (Development)

    This is a platform related to one of the world's largest companies in the information technology services. I was involved with migrating AngularJS modules to Angular 5.

  • Cloud Gate (Development)

    A platform for one of the world's largest companies in the information technology services. This platform is used for administrating managed cloud hosting on Amazon AWS and Microsoft Azure. My role involved Angular front-end app migration, code reviews, feature development, and bug fixes.

  • Neural Networks Mini Projects (Development)

    1. Built a logistic regression classifier to recognize cats with a test accuracy of 70%.
    2. Implemented a 2-class classification neural network with a single hidden layer.
    3. Built a deep neural network with more than one layer and used ReLU activation function to recognize cats with a test accuracy of 80%.

  • Convolutional Neural Networks Mini Projects (Development)

    1. Used a pretrained model to map face images into 128-dimensional encodings and used these encodings to perform face verification and face recognition.
    2. Used the attention model in an RNN built by the encoder-decoder to convert different formats of dates into one specific format.
    3. Implemented YOLO and used object detection on a car detection dataset.
    4. Built and trained a ConvNet in TensorFlow for a classification problem that classifies a dataset consisting of 6 signs.

  • Table Ping (Development)

    Restaurant reservation system with real-time notifications and different authorization access layers.

    My role involved building the admin panel for the client company and for the restaurants and developing the Socket.IO notification system in the back-end and in the admin panels.

  • Merck Smart (Development)

    A quiz platform that features quizzes for employees at Merck, a multinational pharmaceutical company. The system consists of a Node.js back-end, Angular admin panel, iOS app, and Android app.

    I worked on architecting and developing the back-end and the admin panel. The back-end involved multilayered MongoDB aggregate queries, crude operations, and authentication for the mobile app and the admin panel. The admin panel involved CRUD operations for various entities and for displaying quiz results and statistics for each quiz category, company department, and user.

  • Dinosaur Name Generator (Development)

    A character-level text generation recurrent neural network. The project involved synthesizing data by sampling predictions at each time step and passing it to the next RNN-cell unit.

  • Emojifier (Development)

    A machine learning model that uses word embeddings to predict the emoji for sentences with an 83% accuracy on test data with 127 training examples.

  • Sequence Models Mini Projects (Development)

    1. Used the encoder-decoder model for machine translation.
    2. Used Keras to develop a sequence model that can be used to generate musical values, which are then post-processed into midi music.
    3. Used a spectrogram and a 1D conv layer to pre-process audio data as a step before entering the RNN and then used an end-to-end deep learning approach to build a trigger word detection system.
    4. Implemented a machine learning model that uses word embeddings to predict the emoji for sentences with an 83% accuracy on test data with 127 training examples.

  • Word Vector Representation Machine Learning Model (Development)

    A recurrent neural network model that uses word embeddings to solve word analogy problems. It utilizes pre-trained word vectors and measures similarity using cosine similarity

  • Donation Places (Development)
    https://github.com/Life-Saving-Team/donation-places-server

    An app that allows adding donation places that include drives and places. The donation places are viewed in a map and in a list that provides back-end pagination, filtering, and search.

    Preview url: https://donation-places-admin.herokuapp.com/map
    Code url (server): https://github.com/Life-Saving-Team/donation-places-server
    Code url (client): https://github.com/Life-Saving-Team/donation-places-client

  • Firewall and Builds (Development)
    https://github.com/youssefsharief/firewall-builds

    Small single-page app that simulates presenting the build and testing process of code and firewalls with a mock API.

    Preview url: https://youssefsharief.github.io/firewall-builds/
    Code url: https://github.com/youssefsharief/firewall-builds

  • YouTube Trending Videos (Development)
    https://github.com/youssefsharief/youtube-trending-videos-per-country-app

    A small demo app that uses YouTube API to list and view YouTube trending videos per country using search functionality.

  • CQRS and Event Sourcing Node.js Architecture Sample App (Commander Service) (Development)
    https://github.com/youssefsharief/nodejs-cqrs-event-handlers

    Sample application that demonstrates an architecture for building Node.js back-end services using the command query responsibility separation principle and event sourcing.

  • CQRS and Event Sourcing Node.js Architecture Sample App (API and Read Model) (Development)
    https://github.com/youssefsharief/nodejs-cqrs-web-api-read-model

    Sample application that demonstrates an architecture for building Node.js back-end services using the command query responsibility separation principle and event sourcing.

  • CQRS and Event Sourcing Node.js Architecture Sample App (E2E Tests) (Development)
    https://github.com/youssefsharief/nodejs-cqrs-e2e

    Sample application that demonstrates an architecture for building Node.js back-end services using the command query responsibility separation principle and event sourcing.

  • CQRS and Event Sourcing Node.js Architecture Sample App (Event Handlers) (Development)
    https://github.com/youssefsharief/nodejs-cqrs-event-handlers

    Sample application that demonstrates an architecture for building Node.js back-end services using the command query responsibility separation principle and event sourcing.

  • Tweet Service (Development)
    https://github.com/youssefsharief/tweets-server

    A Node.js back-end service that connects to OAuth to authenticate with Twitter’s server and provide APIs for other client-side apps

  • Course Availability Notifier (Development)
    https://github.com/youssefsharief/notifyWhenCourseAvailable

    Node.js back-end service that checks if a university course is available using a cron job and notifies the user by email.

  • Blood Donation Real-time Map (Development)
    https://github.com/youssefsharief/blood-donation-real-time-map

    A Node.js back-end service and an Angular app that allows donors to register themselves through clicking on their location on a map with search and location functionality. The map updates either adding, deleting, or updating a donor's location, which is reflected in real time without the need for page refresh for other observers, including donors and patients.

  • Smoott (Development)

    A platform concerned with buying, selling, and bidding services online. My role involved building Angular views, adding unit and end-to-end tests and providing functionality through a mock API.

  • Laundry Locker (Development)

    An app lets users manage their laundry and dry cleaning account. My role involved fixing bugs on the Node.js back-end and developing features on the client-side AngularJS app.

Skills
  • Languages
    ECMAScript (ES6), JavaScript, TypeScript, Sass, CSS, Python, C#, Go
  • Frameworks
    Angular, Jest, Redux, Mocha.js, Express.js, Jasmine, JSON Web Tokens (JWT), AngularJS, Protractor, Flex, Angular Material, OAuth2, Machine Learning, Bootstrap
  • Libraries/APIs
    Node.js, Socket.IO, HTML5 APIs, React, React Router, Formik, Redux Observable, RxJS, YouTube API, Passport.js, Facebook API, Google APIs, PrimeNG, Moment.js, jQuery, Underscore.js, Lodash, HTML5 Web Workers, ArcGIS API 4, OpenCV, Keras, TensorFlow, MobX, Ramda, Nexmo, Firebase Web SDK, Web Worker, Twitter API
  • Tools
    Karma, Mongoose, Webpack, SuperTest, NPM, Angular CLI, Git, Mocha, Gulp.js, Redux Thunk, apiDoc, Auth0, Visual Studio, AWS SQS, AWS SES, AWS CloudFormation, Dialogflow, Atlassian, Actions on Google, Grunt, Trello, Google Cloud Machine Learning Engine, Flow
  • Paradigms
    Unit Testing, REST, Asynchronous Programming, Agile Software Development, Test-driven Development (TDD), Microservices Architecture, Functional Reactive Programming, Reactive Programming, Event-driven Programming, Event-driven Architecture, E2E Testing, Serverless Architecture, CQRS, Event Sourcing, Object-oriented Programming (OOP), Functional Programming, Continuous Integration (CI), Continuous Delivery (CD)
  • Platforms
    Visual Studio Code, AWS Lambda, Google App Engine, Protracto, Amazon Web Services (AWS), Azure Functions, Linux, Azure, Mac OS
  • Storage
    AWS S3, MongoDB, AWS DynamoDB, Redis
  • Other
    Web Performance, Algorithms, Axios, Domain-driven Design (DDD), Text to Speech (TTS), Text Processing, Azure Web Functions, User Experience (UX), Google+ Authentication, Lean Development, OAuth, Google Cloud Functions, Neural Networks, Machine Learning Algorithms, Computer Vision, Sentiment Analysis, Google Cloud Machine Learning, Enzyme, Text Generation, Google Assistant, Natural Language Processing (NLP), Integration Testing, Firebase Hosting
Education
  • Bachelor's degree in Engineering
    2010 - 2015
    American University in Cairo - Cairo, Egypt
Certifications
  • Structuring Machine Learning Projects
    MARCH 2018 - PRESENT
    Cousera
  • Sequence Models
    MARCH 2018 - PRESENT
    Coursera
  • Neural Networks and Deep Learning
    MARCH 2018 - PRESENT
    Coursera
  • Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization
    MARCH 2018 - PRESENT
    Coursera
  • Convolutional Neural Networks
    MARCH 2018 - PRESENT
    Coursera
  • NumPy Data Science Essential Training
    JULY 2017 - PRESENT
    Lynda.com
  • Machine Learning Essential Training: Value Estimations
    JULY 2017 - PRESENT
    Lynda.com
  • Learning the Python 3 Standard Library
    MAY 2017 - PRESENT
    Lynda.com
  • Data Science & Analytics, Career Paths & Certifications: First Steps
    MAY 2017 - PRESENT
    Lynda.com
  • Learning Python and Django
    APRIL 2017 - PRESENT
    Lynda.com
  • Learning Python Generators
    APRIL 2017 - PRESENT
    Lynda.com
  • Learn Webpack: The Basics
    APRIL 2017 - PRESENT
    Lynda.com
  • TitleCode Clinic: JavaScript
    APRIL 2017 - PRESENT
    Lynda.com
  • AngularJS 1: Form Validation
    APRIL 2017 - PRESENT
    Lynda.com
  • Angular 2 Testing and Debugging
    APRIL 2017 - PRESENT
    Lynda.com
  • Learning AngularJS 2
    MARCH 2017 - PRESENT
    Lynda.com
  • Angular 2 Forms: Data Binding and Validation
    MARCH 2017 - PRESENT
    Lynda.com
  • Angular 2 Essential Training
    MARCH 2017 - PRESENT
    Lynda.com
  • Web Project Workflows with Gulp.js, Git, and Browserify
    OCTOBER 2016 - PRESENT
    Lynda.com
  • Javascript Templating
    OCTOBER 2016 - PRESENT
    Lynda.com
  • CSS: Visual Optimization
    OCTOBER 2016 - PRESENT
    Lynda.com
  • jQuery for Web Designers
    SEPTEMBER 2016 - PRESENT
    Lynda.com
  • Up and Running with Underscore.js
    SEPTEMBER 2016 - PRESENT
    Lynda.com
  • Up and Running with ECMAScript 6
    SEPTEMBER 2016 - PRESENT
    Lynda.com
  • TypeScript Essential Training
    SEPTEMBER 2016 - PRESENT
    Lynda.com
  • Tooling with NPM Scripts
    SEPTEMBER 2016 - PRESENT
    Lynda.com
  • Programming Foundations: Object-Oriented Design
    SEPTEMBER 2016 - PRESENT
    Lynda.com
  • Learning Node.js
    SEPTEMBER 2016 - PRESENT
    Lynda.com
  • Learning NPM the Node Package Manager
    SEPTEMBER 2016 - PRESENT
    Lynda.com
  • Learning JavaScript Debugging
    SEPTEMBER 2016 - PRESENT
    Lynda.com
  • Learning ECMAScript 6
    SEPTEMBER 2016 - PRESENT
    Lynda.com
  • Learning AngularJS 1
    SEPTEMBER 2016 - PRESENT
    Lynda.com
  • JavaScript: Functions
    SEPTEMBER 2016 - PRESENT
    Lynda.com
  • JavaScript: Enhancing the DOM
    SEPTEMBER 2016 - PRESENT
    Lynda.com
  • JavaScript for Web Designers
    SEPTEMBER 2016 - PRESENT
    Lynda.com
  • HTML5: Web Forms in Depth
    SEPTEMBER 2016 - PRESENT
    Lynda.com
  • Functional-Lite JavaScript
    SEPTEMBER 2016 - PRESENT
    Lynda.com
  • Coding Faster with Emmet
    SEPTEMBER 2016 - PRESENT
    Lynda.com
  • CSS: Selectors
    SEPTEMBER 2016 - PRESENT
    Lynda.com
  • CSS: Page Layouts
    SEPTEMBER 2016 - PRESENT
    Lynda.com
  • CSS: Animation
    SEPTEMBER 2016 - PRESENT
    Lynda.com
  • jQuery Essential Training (2014)
    AUGUST 2016 - PRESENT
    Lynda.com
  • User Experience for Web Designers
    AUGUST 2016 - PRESENT
    Lynda.com
  • Up and Running with Git and GitHub
    AUGUST 2016 - PRESENT
    Lynda.com
  • Learning Responsive Design
    AUGUST 2016 - PRESENT
    Lynda.com
  • Learning How to Manage a Hosted Web Site
    AUGUST 2016 - PRESENT
    Lynda.com
  • Learning Git and GitHub
    AUGUST 2016 - PRESENT
    Lynda.com
  • JavaScript and JSON
    AUGUST 2016 - PRESENT
    Lynda.com
  • JavaScript Essential Training (2011)
    AUGUST 2016 - PRESENT
    Lynda.com
  • HTML5: Structure, Syntax, and Semantics
    AUGUST 2016 - PRESENT
    Lynda.com
  • CSS: Core Concepts
    AUGUST 2016 - PRESENT
    Lynda.com
  • Programming Foundations: Databases
    JULY 2016 - PRESENT
    Lynda.com
  • Programming Foundations: Data Structures
    JULY 2016 - PRESENT
    Lynda.com
I really like this profile
Share it with others