3+ years industry experience in designing software architecture, and operating scalable software systems.
Requirement analysis, failure analysis, API design, distributed consistency.
Distributed caching (memcached, Redis, or comparable technology).
Metrics, analysis, and software profiling.
Strong object-oriented design skills with understanding of common design paradigms.
Experience with Java or other object oriented languages- preferably on a UNIX or Linux platform including JVM internals or equivalent lower-level implementation.
Experience with distributed (multi-tiered) systems, algorithms, and relational databases.
Experience writing unit and system level tests using dependency injection frameworks and object mocking.
Experience in optimization mathematics (linear programming, nonlinear optimization).
Oral and written communication skills (ability to produce runbooks, technical, and non-technical documentation).
Experience coaching junior software development engineers including code review and design review.
Bachelor's degree in computer science, computer engineering or related technical discipline.
Strong, object-oriented design and coding skills (C/C++ and/or Java preferably on a UNIX or Linux platform).
Knowledge of Python, Perl, or other scripting languages a plus.
Experience with functional programming languages such as Erlang.
Ability to effectively articulate and drive solutions to technical and business challenges.
Deal well with ambiguous/undefined problems; ability to think abstractly.
Experience working with driving product vision to deliver long term customer and advertiser value.
Willingness to own all stages of development process: requirements, design, implementation, testing, and operational support.
Excellent interpersonal communication with strong verbal / written English skills.
Location Amman - Jordan
Information & Communication Technologies
Job Type Full-Time
Unspecified Login to Apply