Ehab Al-Hakawati

Engineering Manager

An engineering manager based in Amman, Jordan. Specializes in the creation of compelling user-driven applications. Fluent in a number of programming languages & frameworks and comfortable with both front and back end web development. Learns quickly and always keen to master the right tool for the job. Has an eye for detail and a love for the finishing touches that make a product excel.


Excellent communication skills, both verbal and written, highly motivated & willing to take the initiative when working both individually and as part of a team.

Ehab Al-Hakawati

Skills

  • High leadership skills (breakthrough thinking, drive to achieve, team leadership, teamwork, knowledge transfer, personal dedication, passion for the business).
  • Attention to details and strong problem-solving skills.
  • Industrial experience with Java programming language.
  • Expert knowledge in Object Oriented Programming (OOP)
  • Expert knowledge in Spring framework including ( Spring core, Spring context, Spring Data, Spring websockets, etc..)
  • Good knowledge in search engines such as Solr (Lucene) & FAST ESP and big-data handling.
  • Good knowledge in Amazon web services ( Beanstalk, EC2, RDS and S3 ).
  • Excellent experience in configuration management systems e.g. Git...etc.
Java
Spring framework
Web development
Relational databases
Search and BigData
Linux
NoSQL
C++ and PHP
Beginner
Intermediate
Proficient
Expert

Education & Certificates

  • 2002 - 2006 The Hashemite University, Zarqa - Jordan.
    BSc in computer science - (Excellency Degree, 3.64 GPA, Rank 1st).
  • 2001-2002 Al-Hussain College school.
    Science stream - (Grade of 88,3).
  • 2008 SCJP certificate.
    Sun certified programmer for the Java platform standard edition 5.

Experience

  • Winfooz September 2017 - Present

    Engineering manager
    1. Setting company technical vision and leading company’s technological development.
    2. Developing strategic plans and setting timelines for evaluation, development, and deployment of all technical, web, and mobile services.
    3. Collaborating with department heads, marketing, production, and operations as advisor of all technologies involved with company.
    4. Ensuring technology standards and best practices are met.
    5. Supervising quality assurance processes, integration, and system tests.
    6. Establishing software development process and set objectives for process.
    7. Reviewing timeframes and budgets.
    8. Sharing technological visions, opportunities, and risks company-wide.
    9. Studying current and new industry trends, technologies, and software development.
    10. Leading the strategy for technology platforms, partnerships and external relationships.
    11. Develops, implements and maintains software engineering policies and standards with collaboration and input from the software engineering staff.
    12. Communicates and coordinates all development activities and priorities with the CEO.
    1. Technologies :
    2. Java
    3. Ruby
    4. Spring core
    5. MySQL
    6. Spring data
    7. Spring boot
    8. Hibernate
    9. RESTFul
    10. GIT
  • CASHU December 2016 - Augest 2017

    Engineering manager
    1. Analyze technology, resource needs, and market demand, to plan and assess the feasibility of projects.
    2. Evaluates proposed product architectures to ensure product design will meet specifications.
    3. Proposes and designs system architectures for complex products.
    4. Recruit employees; assign, direct, and evaluate their work; and oversee the development and maintenance of staff competence.
    5. Lead and inspire engineering development teams.
    6. Delegate responsibilities for development tasks and monitor employee progress to ensure development projects remain on schedule.
    7. Provides clarity to the software team in the areas of process, schedule and priorities. Develops and reinforces habits that maintain software development best practices.
    8. Develops, implements and maintains software engineering policies and standards with collaboration and input from the software engineering staff.
    9. Communicates and coordinates all development activities and priorities with the CTO and the CEO
    1. Technologies :
    2. Java
    3. Spring core
    4. Angular 2
    5. Apache HBase
    6. MySQL
    7. Spring data
    8. Spring boot
    9. Hibernate
    10. RESTFul
    11. GIT
  • ReserveOut November 2012 - December 2016

    Technical Team Leader / Principal Software Engineer.
    1. Leading, Organizing and coordinating the activities of the development team.
    2. Executing project plans within stated deadlines and/or budgets and ensuring high quality results.
    3. Responsible for code assessment management.
    4. Support the entire software development and deployment life cycle.
    5. Supervising the activities of engineers and coordinating their activities with other team members and departments.
    6. Ensure the team comprehends and applies the established processes, policies, standards and procedures.
    7. View software packages, products and define, prioritize, plan and implement solutions across multiple complex projects.
    8. Provide status reports to Managers and review boards on complex development projects.
    9. Guide and direct project teams in the requirements gathering, design, and development of complex software solution.
    10. Responsible for software tools and frameworks used by the development team.
    1. Technologies :
    2. Java
    3. Spring core
    4. Amazon elastic beanstalk
    5. MySQL
    6. JSP
    7. Websockets
    8. Spring data
    9. Spring context
    10. Spring boot
    11. Spring web MVC
    12. Amazon Linux
    13. NoSQL
    14. XMPP
    15. Hibernate
    16. Javascript /jQuery
    17. RESTFul
    18. GIT
  • EastNets September 2011 - November 2012

    Senior software developer.
    1. Defines software objectives by analyzing user requirements envisioning system features and functionality.
    2. Optimize and enhance software solutions performance against big data in term of search and update.
    3. Participate in defining the system architecture of the software solutions.
    4. Participate in the development, installation, and integration of computer-based systems.
    5. Write, modify, integrate, test and maintain software code according to the best practices defined and adopted.
    6. Work with the quality assurance team in defining test cases and help resolve technical issues.
    7. Identify and communicate technical problems, processes, and solutions.
    8. Research and evaluate different technologies and solutions. Perform proof of concepts and make technical recommendations and assessments.
    9. Migrate legacy C++ code into modern Java language.
    1. Technologies :
    2. Java
    3. C++
    4. Oracle
    5. BigData Analysis
    6. Solaris OS
    7. AIX
    8. Ubuntu
    9. SWIFT network
    10. HTML
    11. SVN
  • Souq.com September 2009 - August 2011

    Senior software developer.
    1. Participate in development an in-house e-commerce framework that covers "souq.com" custom and advance needs.
    2. Review and improvise code in extreme conditions.
    3. Design, develop and document logical and physical data models that serves a multi-dimensional product catalogue system.
    4. Apply the search theory and create a custom index that enable e-commerce product search solution.
    5. Design and develop data analysis solutions.
    6. Research and implement SEO technologies to improve site searchability.
    7. Monitor systems, define weakness points, report them and fix them.
    1. Technologies :
    2. Java
    3. PHP
    4. MySQL
    5. Zend Framework
    6. Amazon Linux
    7. Apache Solr
    8. Smarty
    9. FAST ESP
    10. SVN
  • Araby.com May 2008 - September 2009

    Senior software developer.
    1. Integrate applications by designing database architecture and server scripting; study and establish connectivity with search engines, and information servers.
    2. Complete application development by coordinating requirements, schedules, and activities.
    3. Troubleshoot development and production problems across multiple environments and operating platforms.
    4. Prepare high and low level design document in accordance with requirements.
    5. Work with Quality Team to ensure all deliveries met defined quality standard.
    6. Debug programs and troubleshoot application issues, in production and development.
    7. Build a custom search solution that served a strategic need of Maktoob.com channels.
    8. Develop and optimize scalable web services.
    9. Participate in development a high end Arabic search algorithm that served the need of the Arabic users, with varieties of general and focused search.
    1. Technologies :
    2. Java
    3. Spring core
    4. MySQL
    5. Spring web MVC
    6. CentOS
    7. FAST ESP
    8. BigData analysis
    9. SVN
  • ProgressSoft July 2006 - May 2008

    Software developer.
    1. Develop and maintain system drivers for electronic check scanners.
    2. Integrate electronic check scanners with a complex software solution.
    3. Develop and maintain cheque image OCR algorithm that extracts and recognize magnetic ink character.
    4. Author complex web pages.
    1. Technologies :
    2. Java
    3. C++
    4. ATL
    5. MFC
    6. Oracle
    7. SQL server
    8. Struts
    9. Assembly
    10. Jasper reports
    11. SVN