I introduced myself to Ruby and then rails in 2010, and ever since, I have been a full-time rubyist/railer.

I worked with many projects, a handful of gems, tons of issues and bugs, banged my head against the wall for days and nights, and enjoyed many many times the sweetness of creating something cool for several clients.

Through years of working, I acquired:
  • a set of skills in software and database development and analysis.
  • a focused experience in back-end eCommerce websites, web applications, and web APIs, using test-driven & behavior-driven development (TDD/BDD), with Ruby, Sinatra, Rails, Node.JS and Javascript.

I work on a daily-basis with:

  • Ruby (1.9 +), Sinatra, Ruby on Rails (3.x +), Ruby gems, Resque, Restful APIs and web services, and test-driven with RSpec, FactoryGirl, Guard, Capybara and Cucumber.
  • Javascript, Node.js (test-driven with Mocha and Chai), jQuery, AngularJS, CoffeeScript, Ajax, JSON, HTML, Haml, CSS.
  • NoSQL databases (CouchDB, Redis) and SQL databases (MySQL, PostgreSQL).
  • Vim, Tmux, Git and Github, Heroku, Jenkins, JIRA, RVM, Passenger, Nginx, Unicorn, Vagrant, with Linux Ubuntu and Mac OS.

I have done some work recently with:

    Facebook and Twitter apps development, JRuby, Node.js, C/C++, Java, PHP (CakePHP and Zend), Objective-C, iOS (Cocoa Touch), Oracle database, Microsoft SQL, Android, OpenGL, Agile, Assembly, and Computer Hardware Maintenance A+.

I currently work at:

03/2014 - PRESENT
Spirent Communications – Senior Software Engineer (Full-time)
  • As a software engineer with Spirent's cloud services team, I develop and maintain the cloud-based load testing API - Blitz.io, using Ruby on Sintra. {{https://Blitz.io}}
  • I also worked on the cloud-based security testing tool Armorhub, using Ruby on Rails. {{https://Armorhub.com}}
  • Designed and developed a cloud-based billing management micro-service, using Node.js and Express.

Companies I worked with in the past:

11/2012 - 10/2014

12/2011 - 03/2014

11/2012 - 12/2012

03/2011 - 11/2011

05/2010 - 03/2011

06/2005 - 12/2007

06/2006 - 08/2006
X5 Ventures / WeBuyHouses.com – Architect & Lead Developer (Part-time Freelancer)
  • Defined software application strategy and functionality of WeBuyHouses.
  • Designed the schema of the database driving all operations of the system.
  • Integrated complex billing and recurred billing operations with Authorize.Net and ruby on rails.
  • Integrated a notification system with emails and SMS texting with Twilio platform.
  • Leading full-cycle software design, programming, development, testing and deployment operations using Ruby on Rails and Javascript technologies.
  • Providing continuing support and maintenance of system after live deployment.
Click Here Labs (A subsidiary of The Richards Group) – Software Engineer (Full-time)
  • Created and deployed several cutting-edge websites and web apps that increased reachability and served as sales and marketing platforms for several clients such as The Salvation Army, Advanced Auto Parts, Hits400, and others.
  • Written RSpec tests to test and maintain several websites for major clients.
  • Built a cutting-edge Content Management System (CMS) using Rails 3.2, and maintained an older CMS used in building web products for clients.
  • Redesigned and Rebuilt an advanced version of The Richards Group’s website and built a wiki used by R&D teams internally.
Integra Mortgage Solutions, LLC – Software Engineer Consultant (Part-time Freelancer)
  • Defined high-level mortgage management system’s strategy, and assisted with assessment and selection of development technologies.
  • Defined high-level system architecture to fulfill functional requirements, software deployment strategies (releases) and how to handle customizations, development approach, protocols and tools to support development lifecycle.
  • Implemented frameworks, tools and environments in preparation for development.
Vitrue, Inc (currently Oracle Social Company) - Software Engineer (Full-time)
  • Built several customized social media applications (5 full SDLC Facebook apps) used to expand engagement with customers and fans of global brands, using Ruby on Rails, PHP 5.3 (LAMP), Javascript, JQuery, CSS, JSON, and MySQL on MacOS 10.6.
  • Built and maintained social campaigns of polls, sweepstakes, and coupon applications integrated within Facebook/Twitter networks.
  • Transferred, from Rails 2.3 to Rails 3.0, a global product used by more than 50 markets; developed new requirements into it.
  • Maintained code scripts using GIT and Subversion (SVN) systems.
  • Deployed products to the production environment using Capistrano.
EquityMetrix, LLC - Applications and Database Developer (Full-time)
  • Processed and migrated data from giga-sized files into PostgreSQL and Oracle 10g/11g tables; built database schema using SQL, pl/SQL, pg/SQL, views, indexes, triggers, Ruby scripts, and Linux (Ubuntu 10.04).
  • Validated consistency of data after migration using SQL; cleaned data in tables using Ruby scripts.
  • Built an internal accounting and analysis system with Ruby on Rails, JSON, Dojo, HTML, JQuery, Javascripts and CSS.
Bara' Software & Computer - Applications Developer - Java / .NET (Full-time)
  • Built accounting and warehouse management applications with Ja2.5*1E and Java EE using JBuilder and Eclipse, on DOS and Windows XP.
  • Built a custom firewall application using C#.NET with Microsoft SQL 2005.
  • Tested Java software packages and provided customer training on products.
  • Guided and trained junior staff on object oriented of Java and .NET.
Arcadia Software Development Co. - Intern Software Developer (Full-time)
  • Built GUI components of .NET using ASP.NET, C#.NET, HTML, and CSS.
  • Provided consulting and performed research related to .NET development in the R&D department.

My education:

2008 - 2010

2002 - 2007
M.Sc. in Computer Science
University of North Texas - Denton, TX
Specialty in Information Management and Analysis.

B.Sc. in Computer Engineering
An-Najah National University - Nablus, West Bank

In summary, on a full-time basis, I try my best creating better tools, fixing problems, helping businesses online, and fixing the broken internet.

So, that's me. If you have a problem you need some help with, or wondering if I can fix a problem you have (software one I mean ;D), don't be shy - contact me now, and I'll see what I can do.