Who Am I
Hola 👋,
I’m Yousef, a Pragmatic Software Engineer obsessed with Javascript, highly focused on the performance of web applications with +2 experience building resilient products on top of NodeJs and Typescript.
I love writing due to the love of knowing and mastering something, I love digging into the internals of anything I am exposed to, so writing helps me have a clear and strong mental model about that thing.
📖My writings are mainly about:
- Explaining Backend & Software Engineering Technical concepts.
- Best Practices of coding
- Internals of Architecture, tools, and languages we use on a daily basis
- Software Engineering career guidance and advice.
Other profiles: linked in | Leetcode | Datacamp | Pluralsight
Education
- Udacity Advanced Full Stack Nanodegree.
- Electronics Engineering, Menoufia University, Computer Engineering.
- Related Coursework: OS, Data structures, Algorithms, Design Patterns, Software Engineering, Compilers, Networking, Distributed Systems.
Tech Stack
- Technologies: Docker, GraphQl, Express, NestJs, Nginx.
- Languages: Javascript, NodeJs, Typescript, Golang, C++, bash.
- Databases: PostgreSQL, MySQl, MongoDB, Redis.
- Cloud: Kubernetes, AWS, CircleCI, TravisCI, Jenkins (CI/CD), Heroku, Vercel.
Skills
- Understanding of OOP & Functional programming.
- Understanding Test Driven Development and Unit, Integration, E2E Testing.
- Agile Methodologies - Scrum, Kanban.
- Knowledge in (Linux & Windows) Configuration & shell scripting (
bash
,powershell
). - Understand parallelism and concurrency and related patterns (e.g. CSP, actor-based) and its implementations in golang
- Knowledge Linux programming (syscalls, filesystems, namespaces and others).
- Understanding of the different storage types (object, block, file) and its use cases.
- Understanding Hypervisors and containerization (the theory and practices).
- Understanding of RDBMS, NoSQL databases, Big Data and Database Sharding techniques.
- Knowledge and experience about NoSQL solutions such as
MongoDB
,Redis
,couchDB
. - Experience in different RDBMS -
Oracle
,SQL Server
,MySQL
,PostgreSQL
. - Understanding of OSI model and related protocols (
HTTP/HTTPs
,TCP
,UDP
,DNS
,ARP
,FTP
,SSH
,TLS
), and good knowledge about networking tools like iptables, wireshark, tcpdump, and more. - Knowlege and Practice of (
WebRTC
,WebSockets
,RPC
,gRPC
) - Understanding of
OIDC
andOAuth 2.0
protocols.
Projects
E-Commerce API, Udacity Scholarship link
- Creates an API for users to track their orders besides adding, deleting or modifying products from orders.
- Implemented User Authentication, Authorizations using JWT (Access and Refresh Tokens).
- The API is built on top of NodeJs, Typescript, Express, PostgreSQL using migrations and documentation best practices.
- The API follows a TDD best practices, and was unit and integration tested using jasmine.
- This project was mainly part of the Udacity Scholarship and fully reviewed by a Udacity’s software engineer.
Food Delivery Application link
- Connects user, markets and delivery man together to make user able to track his shipment, The user can add payments or withdraw it, cancel an order and can be notified based on shipment status
- Setup and integrate the Stripe payment gateways for collecting payments
- The web application is built on top of NodeJs, Express, MongoDB, Stripe, WebSockets.
- The project is tested using unit and integration testing.
Image Processing API, Udacity Scholarship link
- Creates an API for user to process Images.
- The API is created on top of (NodeJS, Typescript, PostgreSQL).
- The API is unit tested using jasmine.
- This project was mainly for Udacity Full Stack Scholarship.
Hosting full stack application, Udacity Scholarship link
- I was tasked to host this full stack application (Back, Front) on AWS besides writing the automated deployment script
- Hosted the backend code on AWS EB and RDS
- Hosted the frontend code on AWS S3
- Wrote the automated deployment script using CircleCI as a pipeline service
- Wrote the unit and integration testing for the frontend and backend code.