Join our team!


Database Administrator is responsible for operational support, managing system health, resource management and enforcing technology standards for physical databases on specific database technologies in the production environment.

ROLES AND RESPONSIBILITIES

  • Day to Day Administration of PostgreSQL and MongoDB.
  • Support migration effort from another DB engine to Postgres.
  • Demonstrates the ability to perform database troubleshooting of various types of issues, including performance, stability, and operational.
  • Models/implements preventative and proactive monitoring in the database environment and provide it to application teams.
  • Collaborates with projects teams and assists with design, execution, and implementation of projects requiring database deliverables.
  • Assists with the creation, implementation, and enforcement of enterprise standards around database technologies.
  • Experienced in installing clustered PostgreSQL and MongoDB and managing them.
  • Must be able to patch/upgrade PostgreSQL in a HA architecture.
  • Installation, Administration and Configuration of PostgreSQL database on RHEL.
  • Knowledge on PostgreSQL Database Architecture.
  • Managing database through PG admin tool.
  • Pgbouncer/pgpool configuration.
  • Pgbadger configuration.
  • Npgsql awareness..
  • Provide support and direction to development and infrastructure teams as it pertains to database configuration and usage.
  • Train other DBAs in the use and administration of Open-Source Databases.
  • Install, configure, upgrade and patch databases.
  • Experienced in Backup & Recovery using native Backup utilities and logical / physical backups.
  • Monitoring and optimizing the performance of the database.
  • Analyze, implement & maintain database system and data security.
  • Develop & implement processes and procedures to monitor and tune databases.
  • • Assist software developers with tuning.

Preferred Qualifications

  • 3+ years’ experience in related field.
  • Strong knowledge in UNIX/LINUX platforms.
  • Ability to perform advanced troubleshooting for issue resolution.
  • Has knowledge of and experience with more advanced DB concepts like backup and recovery, monitoring, performance tuning.
  • Has strong open source systems background.
  • Able to perform capacity forecasting.
  • Strong background in performance and process improvement.
  • Strong knowledge in Open-Source Databases.



A Business Analyst looks at how a company operates – conducting research and analyzing data to develop his/her knowledge – and suggests methods or solutions for the company to improve their practices and generate enhanced revenue.

ROLES AND RESPONSIBILITIES

  • Create a detailed business analysis, outlining problems, opportunities and solutions for the solution.
  • Analyze the structure of a solution, how it uses technology and what its goals are.
  • Identify problems within a solution, through using data modelling techniques.
  • Communicate with his/her HOD to find out what they hope to achieve.
  • Formulate ways for businesses to improve, based on previous research.
  • Lead ongoing reviews of solution processes and develop optimization strategies.
  • Ensure solutions meet business needs and requirements.
  • Conduct meetings and presentations to share ideas and findings.
  • Persuade internal stakeholders of the benefits of new strategies.

QUALIFICATIONS AND EDUCATION REQUIREMENTS

Education Requirements

  • A degree in Business or any related field from an accredited university with a minimum of 2 to 4 years of related experience.

Operational Skills

  • The ability to influence stakeholders and work closely with them to determine acceptable solutions.
  • Excellent documentation skills.
  • Fundamental analytical and conceptual thinking skills.
  • Experience creating detailed reports and giving presentations.
  • Competency in Microsoft applications including Word, Excel, and Outlook.
  • Excellent planning, organizational, and time management skills.

Interpersonal Skills

  • Exceptional oral, written and interpersonal communication skills with the ability to apply common sense to carry out instructions and instruct others, interpret documents, understand procedures, write reports and correspondence, communicate clearly with stakeholders.
  • Exceptional ability to interact with staff in a fast-paced environment, even under pressure, while remaining flexible, proactive, resourceful and efficient.



DevOps engineer introduces processes, tools, and methodologies to balance needs throughout the software development life cycle, from coding and deployment, to maintenance and updates.

ROLES AND RESPONSIBILITIES

  • Building and setting up new development tools and infrastructure.
  • Implement a secure, robust and high availability DevOps pipeline.
  • Understanding the needs of stakeholders and conveying this to developers.
  • Working on ways to automate and improve development and release processes.
  • Testing and examining code written by others and analyzing results.
  • Identifying technical problems and developing software updates and ‘fixes’.
  • Working with software developers and software engineers to ensure that development follows established processes and works as intended.
  • Planning out projects and being involved in project management decisions.

QUALIFICATIONS AND EDUCATION REQUIREMENTS

Education Requirements

  • Bachelor degree in Computer Science or Engineering.
  • 3+ years of professional experience as DevOps practices.

Experience Requirements

  • Knowledge of Linux or windows scripting languages, such as Python, Bash, or PowerShell etc.
  • Deploying, configuring, monitoring, maintaining, and troubleshooting Micro services.
  • Experience with version control systems, GitHub or GitLab.
  • Ability to write tools and applications to automate work.
  • Experience working in an agile environment and working directly with the development teams.
  • Quality-first mindset with focus on test automation and CI/CD pipelines.
  • Experience supporting and working with cross-functional teams in a dynamic environment.
  • Excellent communication skills and a strong teamwork ethic.
  • Strong experience working with automation tooling (Terraform, Ansible, etc.)
  • Strong experience with containers (Docker, Compose, Kubernetes).



An R&D Software Development Engineer analyzes, designs, programs, debugs, and modifies software enhancements and/or new products used in local, networked, or Internet- related computer programs, primarily for end users. Using current programming language and technologies, writes code, completes programming, and performs testing and debugging of applications. Completes documentation and procedures for installation and maintenance.

ROLES AND RESPONSIBILITIES

  • Designs enhancements, updates, and programming changes for portions and subsystems of end-user applications software running on local, networked, and Internet- based platforms.
  • Analyzes design and determines coding, programming, and integration activities required based on general objectives and knowledge of overall architecture of product or solution.
  • Writes and executes complete testing plans, protocols, and documentation for assigned portion of application; identifies and debugs, and creates solutions for issues with code and integration into application architecture.
  • Be a technology champion by evaluating and staying ahead of emerging technologies, tools, and trends.
  • Demonstrated experience in monitoring, analyzing and recommending solutions to performance problems in high-traffic, large-scale distributed systems and integration architectures.
  • Collaborates and communicates with management, internal, and outsourced development partners regarding software applications design status, project progress, and issue resolution.
  • Represents the software applications engineering team for all phases of larger and more-complex development projects.
  • Provides guidance and mentoring to less- experienced staff members.

QUALIFICATIONS AND EDUCATION REQUIREMENTS

Education Requirements

  • MS degree in Computer Science or Engineering with a minimum of 1 year of related experience.
  • 5+ years of professional experience in design, development, implementation, and maintenance of large-scale or mid systems.
  • Very good oral and written communication skills in Arabic, English.

Experience Requirements

  • Experience with programming in Java, C# or Go.
  • Experience in software architecture design.
  • Experience with version control systems, GitHub or GitLab.
  • Using software applications design tools and languages.
  • Strong analytical and problem-solving skills.
  • Designing software applications running on multiple platform types. Software applications testing methodology, including writing and execution of test plans, debugging, and testing scripts and tools.
  • API integration design and related technologies.
  • Experience with microservice patterns, design patterns, event-driven architecture and data modeling.
  • Experience with DevOps patterns and tooling is plus.
  • Experience with container management platforms and configuration.
  • Knowledge of Network fundamentals.



A Solution Architect develops and implements systems architecture that will meet business needs. Gathers requirements and functional specifications, assesses the current software systems in place in order to identify areas in need of improvement.

ROLE AND RESPONSIBILITIES

  • Create and lead the process of integrating IT systems for them to meet an organization’s requirements.
  • Conduct a system architecture evaluation and collaborates with project management and IT development teams to improve the architecture.
  • Collaborate with various stakeholders to determine software requirements.
  • Create low-level product specifications and design documents.
  • Provide the development team with architectural blueprints to follow.
  • Update software solutions as required.
  • Create and update solution documentation.

QUALIFICATIONS AND EDUCATION REQUIREMENTS

Education Requirements

  • A degree in Computer Science or any related field from an accredited university with a minimum of 2 years of related experience

Operational Skills

  • Experience in software architecture design.
  • Understanding of coding languages
  • Sound knowledge of various operating systems and databases.
  • Efficient communication skills.
  • Excellent documentation skills.
  • Competency in Microsoft applications including Word, Excel, and Outlook.
  • Excellent planning, organizational, and time management skills.

Interpersonal Skills

  • Exceptional oral and written communication skills, in order to write documents and correspondence, and communicate clearly with stakeholders.
  • Exceptional ability to interact with staff in a fast-paced environment, even under pressure, while remaining flexible, proactive, resourceful and efficient

REQUIRED COMPETENCIES

  • Highly analytical mindset, with an ability to see both the big picture and the details.
  • Strong communication and presentation skills.
  • Strong documentation skills
  • Meticulous
  • Detail oriented


A Data Analyst will support our product, sales, leadership and marketing teams with insights gained from analyzing company data. The ideal candidate is adept at using large data sets to find opportunities for product and process optimization and using models to test the effectiveness of different courses of action.

ROLE AND RESPONSIBILITIES

  • Work with stakeholders throughout the organization to identify opportunities for leveraging company data to drive business solutions.
  • Mine and analyze data from company databases to drive optimization.
  • Assess the effectiveness and accuracy of new data sources and data gathering techniques.
  • Develop custom data models and algorithms to apply to data sets.
  • Use predictive modeling to increase and optimize customer experiences, revenue generation, ad targeting and other business outcomes.
  • Develop company testing framework and test model quality.
  • Coordinate with different functional teams to implement models and monitor outcomes.
  • Develop processes and tools to monitor and analyze model performance and data accuracy.

QUALIFICATIONS AND EDUCATION REQUIREMENTS

Education Requirements

  • A degree in Engineering or Computer Science from an accredited university with a minimum of 2 years of related experience

Operational Skills

  • Strong problem-solving skills with an emphasis on product development.
  • Experience using statistical computer languages (R, Python, SLQ, etc.) to manipulate data and draw insights from large data sets.
  • Experience working with and creating data architectures.
  • Knowledge of a variety of machine learning techniques (clustering, decision tree learning, artificial neural networks, etc.)
  • Knowledge of statistical techniques and concepts (regression, properties of distributions, statistical tests and proper usage, etc.) and experience with applications.
  • Excellent written and verbal communication skills for coordinating across teams.
  • A drive to learn and master new technologies and techniques.

Interpersonal Skills

  • Exceptional oral, written and interpersonal communication skills with the ability to apply common sense to carry out instructions and instruct others, interpret documents, understand procedures, write reports and correspondence, communicate clearly with stakeholders.
  • Exceptional ability to interact with staff in a fast-paced environment, even under pressure, while remaining flexible, proactive, resourceful and efficient

REQUIRED COMPETENCIES

  • Communication skills
  • Problem analysis and resolution
  • Attention to detail
  • Analytical Thinking
  • Stress Tolerance
  • Emphasizing excellence
  • Innovation