About Me
I'm a backend software engineer with 4 years of experience, working at a Progineer Technologies. My work focuses on building and maintaining high-performance backend systems, contributing to system stability, efficiency, and correctness.
I have experience developing web applications with Spring Framework, building RESTful APIs, and implementing secure authentication systems. I also have strong hands-on experience with Oracle, Cassandra and MongoDB databases, including data modeling, query optimization, performance tuning, and working with large-scale production datasets. I work on system-level concerns such as debugging production issues, analyzing logs, identifying performance bottlenecks, and addressing deployment-related problems.
My background is rooted in real enterprise systems—long-lived codebases, strict requirements, production incidents, and collaboration with cross-functional engineering teams. I focus on reliability, maintainability, and correctness rather than demos or experimental projects.
Production-First Mindset
I prioritize reliability and stability over shortcuts. I've handled production incidents, debug runtime issues, and ensure system correctness in real enterprise environments.
System Engineering
I work with performance-critical components and system-level concerns. I'm learning how systems behave, how to optimize them, and what it takes to run them reliably in production.
Database Expertise
I work with Oracle for schema design and SQL optimization, and Cassandra for distributed data modeling. I've worked with large-scale production datasets and continue learning what it takes to keep them performant.
Education
Bachelor of Computer Science
An-Najah National University
Nablus, Palestine • 2018 - 2022
Languages
Skills & Technologies
Core Backend
Databases
Backend Frameworks
Cloud & Infrastructure
DevOps & Tools
Projects
Bloom – Venue Booking Platform
Personal ProjectProblem
Venue booking platforms need to handle complex reservation logic (full-day, time-based, event-based), ensure data consistency across concurrent bookings, and provide secure multi-tenant access with role-based permissions.
Solution
Built a production-ready Spring Boot REST API with clean layered architecture, implementing robust booking workflows, JWT authentication with refresh tokens, and database-driven multi-language support. Designed generic ownership validation and global exception handling for maintainability.
Tech Stack
My Role & Responsibilities
- Architected and implemented the entire backend system using clean architecture principles (Controllers → Services → Repositories)
- Designed and implemented JWT-based authentication system with refresh token rotation and role-based access control
- Built generic ownership validation framework ensuring users can only modify their own resources
- Designed MongoDB schemas optimized for booking queries with proper indexing strategies
- Implemented multi-language support system with database-driven translations (EN/AR/HE)
- Deployed and configured backend on AWS EC2 with production-ready setup
- Integrated AWS S3 for media storage and OpenAI API for chatbot functionality
Architecture & Backend Decisions
Layered architecture with separation of concerns: REST controllers handle HTTP requests, service layer contains business logic, repository layer manages data access. Implemented global exception handling, request validation, and comprehensive API documentation. Used MongoDB for flexible schema design supporting multiple booking models.
Impact / Results
Successfully handles complex booking scenarios with data consistency guarantees. Supports concurrent bookings without conflicts, and provides secure multi-tenant access. System demonstrates production-ready patterns suitable for scaling.
Minor Mentoring System Project
Graduation ProjectProblem
University students need effective mentor matching based on skills, career goals, and mentor expertise, with a system to track mentorship progress and task completion.
Solution
Developed a full-stack mentorship platform with intelligent recommendation algorithm that analyzes multiple factors to create optimal mentor-student matches, along with comprehensive task management and progress tracking capabilities.
Tech Stack
My Role & Responsibilities
- Designed and implemented recommendation algorithm using skill-based matching and career goal analysis
- Built RESTful APIs for mentor-student matching, task management, and progress tracking
- Developed secure authentication and authorization system with Spring Security
- Designed database schema optimized for recommendation queries
- Integrated with university systems for student data synchronization
Architecture & Backend Decisions
Traditional MVC architecture with Spring Framework. Service layer implements recommendation algorithm, repository layer uses JPA for data persistence. RESTful API design with clear separation between matching logic and task management.
Impact / Results
Successfully matches students with relevant mentors based on multiple criteria. Task management system enables structured mentorship programs with measurable outcomes.
Work Experience
Backend Software Engineer (C)
ProGineer Technologies
08/2022 - Present
Ramallah, Palestine
Key Responsibilities
- Develop and maintain backend services written in C for production systems, focusing on performance-critical and memory-sensitive components
- Contributed to 5+ major projects and numerous bug fixes, working within a team of 20 engineers to deliver enterprise solutions
- Optimized critical database queries, reducing execution time from ~2 hours to 1-4 seconds (99.9% improvement), significantly enhancing system performance
- Work with databases containing millions of records, managing 100+ tables across multiple schemas and collaborating in designing 20 new tables for 2 major projects
- Resolved 10-15+ production incidents and performance enhancements, including successful on-premise performance optimization for Asian customer that resulted in high satisfaction
- Handle production issues and system debugging in challenging environments, including on-premise deployments with no cloud access, requiring deep system-level analysis
- Work with Cassandra NoSQL systems for distributed data modeling, focusing on scalability and availability
- Collaborate with cross-functional engineering teams on backend design and system behavior decisions
Technologies
Software Engineer
Bloom – Venue Booking Platform
Personal Project
Bloom is a booking and management platform for chalets, wedding halls, and event venues. The system enables users to browse venues, check availability, and make reservations with support for different booking models (full-day bookings, time-based reservations, and event-based bookings).
Key Responsibilities
- Worked on designing and implementing core backend logic and REST APIs, handling booking workflows, validation, and business rules
- Worked on ensuring correctness, reliability, and maintainability of backend services
- Worked on designing database schemas and domain models, working with MongoDB for application data
- Optimized queries and indexes for performance-critical operations, working on ensuring data consistency across bookings, venues, and related entities
- Handled backend deployment on cloud servers (EC2), configured runtime environments and application setup
- Handled server-side debugging, logs, and production issues for backend stability
- Worked on designing and integrating media storage using AWS S3, managing upload, retrieval, and organization of images and videos
- Took responsibility for backend stability and production behavior, contributing to technical decisions on backend design and infrastructure
Technologies
Backend
Database
Infrastructure
Environment
Continuous Learning
Beyond formal education, I'm committed to continuous professional development and staying current with industry best practices and emerging technologies.
Focus Areas
- Advanced Database Optimization
- Microservices Architecture
- System Performance Tuning
Technologies
- Cloud Platforms
- Container Orchestration
- Advanced SQL Techniques
Get In Touch
Contact Information
I'm always open to discussing new opportunities, interesting projects, or collaborating on innovative solutions. Whether you have a question, a project idea, or just want to connect, feel free to reach out!