Download PDF


Innovative Software Engineer with great passion for developing top quality software products. A fast learner with significant experience in many software engineering and computer science fields: requirements engineering, project management, software design, and software development utilizing various technologies needed for many types of projects. Highly organized, tasks-driven, and able to manage time effectively to ensure achievement of projects' goals. Great team worker, with knowledge and experience in business communications, and ability to deal with customers. 

Skills & Competencies

  • Full Capability to work in the following fields:
    • Software Requirements Engineering.
      • Elicitation from end customers. 
      • Brainstorming and planning.
      • Validation and documentation.
      • Management and control.
    • Software Design.
      • Full systems and subsystems design.
      • Expertise in software design patterns. 
      • Solving application specific design problems effectively.
      • Relational databases design.
      • Expertise in promoting software quality metrics in product's design, to achieve Maintainability, Efficiency, Scalability, and Reusability.
      • Using UML standards for communicating and documenting designs. 
      • Designing communications protocols and API calls. 
    • Software Development.
      • Problem solving and algorithms development.
      • Implementing design documents.
      • Ability to maintain already implemented modules, and reuse external libraries. 
      • Experience in peer and extreme programming.
      • Implementing custom and complex data structures for specific applications.
      • Implementing design patters.
    • Software User Experience Analysis.
      • Conducting Usability and UX testing sessions with users.
      • Creating reports for UX of a system, to ensure full compliance with usability standards and user engagement.
      • Analyzing UI sketches to identify usability issues before development. 
    • Software Projects Management.
      • Documenting, tracking, and controlling project's status. 
      • Expertise in managing tasks distribution among team members. 
      • Expertise in planning and communicating tasks dependencies. 
      • Managing projects risks, and planning risks mitigation.
    • Software Testing.
      • Knowledge about tests design, automation and execution. 
  • Fluency and expertise in the following programming languages\environments. 
    • Oracle Java.
      • High experience with the language. 
      • GUIs, data structures, and networking applications. 
    • SQL databases.
      • Full proficiency in the syntax and semantics of the language.
      • Satisfying complex queries.
    • Web front-end development. 
      • HTML, CSS, and twitter bootstrap.
      • Expertise in Javascript and jQuery. 
      • Expertise in  AngularJS applications.
    • Web back-end development.
      • PHP.
      • NodeJS.
      • SocketIO, ExpressJS, MongoDB, Mongoose.
    • iOS development. 
      • Expertise in Swift language. 
      • Communicating with servers and web services. 
      • Ability to code in Objective-C.
    • Python.
      • Full proficiency in the language.
      • Experience in using Artificial intelligence and machine learning tools for applications implementations.
      • Implementing complex numerical calculations using appropriate libraries. 
    • Events Driven Programming. 
      • Using for Server-Client communications, based on sockets and events.
    • Aspect Oriented Programming.
      • Comprehension of aspect oriented concepts. 
      • Experience in AspectJ.
      • Applying aspect orientation to projects to greatly enhance software quality, product maintainability, and tasks management.
    • Functional and Logical Programming languages.
      • Comprehension of functional and logical paradigms concepts. 
      • Knowledge in Haskell Programming. 
      • Knowledge in Prolog programming using rules and queries. 
    • C.
      • Experience in programming in C.
      • Knowledge in writing OS level applications. 
    • Assembly.
      • Ability to write machine level code using assembly (Experience in MIPS assembly).

  • Full capability to adapt and learn any new programming environment in a fast and efficient manner.
  • Significant experience in team work.
    • Pair programming.
    • Splitting the system to submodules and working in a team for developing each submodule. 
    • Revising, using, and completing colleagues' code files.
    • Communicating progress, and task distribution with team members using project management tools.  
  • Communications and Skills in English language.
    • Experience in effective business communications.
    • Preparing and conducting professional presentations. 
    • Writing professional reports and letters.
    • Ability to coordinate events, and deal with customers.

Work History and Experience


Software Developer

Waqood Tech

Back end, Front end,  and iOS development. Requirements engineering, NoSQL database design. 

Part of internship program.


Project Manager/developer

Amal Project (Senior Project for KFUPM)
  • Implementation of artificial intelligence and machine learning algorithms to process X-Ray imagery.
  • Front end development.
  • DB and system design.
  • Project Management. 



B.S. In Software Engineering.

King Fahd University Of Petroleum and Minerals

Cumulative GPA: 3.8/4.0


  • Won the first prize in Elm's Hackathon competition in the iOS path [2015].
  • Won the first prize in the national NC3 ACM's Competition for problem solving [2016]. 
  • Graduated from KFUPM with first class honor. 
  • Delivered a full senior project with development of AI and Machine learning modules. 
  • Successfully delivered significant number of projects for many courses.