The Engineering Company for the Development of Digital Systems

Contact Info
12A Haroun,Doqi, Giza Governorate, Egypt
info@rdi-eg.com
+20 2 37 49 94 63 +20 2 37 49 55 66 +20 2 37 49 95 61

Together We
Achieve More!

RDI is the leader in the area of Arabic Language technologies. RDI has developed a line of products and provides a number of services in the area of Speech Processing, Character Recognition, and Natural Language Processing. Being a leader in that area, it is willing to invest in developing unique products and services.

AVAILABLE JOBS

The following positions and corresponding qualifications are the most interesting ones to RDI whenever new employees are sought to join RDI family:

Job Description:
Typical tasks and work products include:

  • Design and Develop internal and external web-based applications.
  • Design, code, test, document and debug software applications.
  • Lead other developers in an agile environment.
  • Evaluate and provide technical solutions to complex application development problems.

Job Requirements:

  • J2EE Experience, Spring, Angular 2.x, JSP, Servlets, JSF, prime faces.
  • Experience in Design and Develop Web Services is a MUST.
  • Hands on experience with databases Specially MySQL, Preferred Postgree.
  • Understanding of front-end technologies, such as JavaScript, HTML5, and CSS3.
  • Full Systems Development Life Cycle projects utilizing the JAVA 2 Enterprise Edition (J2EE) platform.
  • Strong knowledge of object-oriented design principles, design patterns, modeling.
  • Knowledge of Functional or Automated Testing methods/tools like JUnit and Jmeter.
  • Development for Cloud is a PLUS.
  • Hands on experience in Building and Deploying Web Applications.

Other knowledge or expertise required:

  • BS in Computer Science, Engineering or related discipline.
  • 4+ years of hands on experience for senior position.
  • Strong problem solving and decision making skills.
  • Strong communication skills.
  • Self-motivated professional who demonstrates strong technical agility and responsiveness and who is eager to learn and grow within a consulting-like Technology Services organization.
  • Clear thinking, fact-based and to the point professionals who looks forward to working within a creative team atmosphere.

Description:

We are looking for a motivated new team member that can help us research and invent groundbreaking new software technologies at the intersection of software engineering and machine learning especially in the field of Natural Language Processing. The work is both analytical and experimental in nature and includes prototyping of new algorithms, investigating data, and evaluating algorithm performance. Ideally the successful candidate will have skills in – Python, Data Mining, Machine Learning, Natural Language Processing, Information Retrieval, Computational Linguistics and Deep Learning though having all isn’t a prerequisite for the role. The candidate must be a capable C++/Python programmer with demonstrable experience designing, prototyping, and delivering advanced algorithmic solutions.

Qualifications:

  • BSc in Computer Science, Computer Engineering or related fields doing research in the fields of NLP, especially related to machine learning and/or deep learning.
  • Practical experience with machine learning and deep learning packages, for example scikit-learn, TensorFlow, CNTK, etc.
  • Good presentation and writing skills.
  • 1-3 years of experience in Natural Language processing.
  • Excellent programming skills with Python, C/C++. CUDA is a plus.
  • Basic knowledge of Linux is advantage.
  • Basic knowledge of Python or Perl script is advantage.

Description:

  • Developing and maintaining software applications.
  • Promoting a collaborative work environment with team members and customers, providing task analysis and technical insight to help develop and deliver the needed capabilities.
  • Leading program reviews as necessary.
  • Giving presentations and demos.
  • Build prototypes at tech scoping stage of projects.
  • Working with the front end developers to build the interface with focus on usability features.
  • Standardizing the platform and in some cases apps to deliver across multiple brands with minimal duplication of effort.
  • Optimizing performance for the apps.
  • Explain technologies and solutions to technical and non-technical stakeholders.

Job Requirements:

  • A Bachelor’s Degree of Computer Science or Computer Engineering.
  • Object Oriented Analysis & Design.
  • 3+ years of experience in development with C++ for senior positions.
  • Knowledge of Linux OS is a must.
  • Experience in C++ development on Linux.
  • Good practice of data structures.
  • Cloud computing is a plus.
  • The ability to perform all aspects of the development tasks, including implementation, initial testing, and debugging.
  • Being aware of the new technologies.
  • Strong problem solving and analytical abilities are a must.
  • Ability to work efficiently and effectively in a deadline driven environment.
  • Excellent Software Development Lifecycle.
  • Excellent analytical skills.
  • Creative problem-solving skills and an ability to apply business logic to development requirements.
  • Ability to multi-task and good time management skills.
  • Excellent scoping and estimation skills.
  • Very good verbal and written English communication skills are essential.

Job Description:

Your role will vary depending on project requirements. You may join a project at the initial implementation stages to assess potential risks (TDD), or be brought on to a project midway through, when testing becomes a key requirement.

You’ll need to perform the following:

  • Write C++ and Java unit tests
  • Monitoring applications and software systems
  • Stress testing
  • Performance testing
  • Functional testing
  • Scalability testing
  • Concurrency testing
  • Write and executing test scripts
  • Running manual and automated tests
  • Testing in different environments/platforms
  • Writing bug reports
  • Reviewing documentation
  • Quality assurance
  • Providing objective feedback to software development project teams
  • Problem solving
  • Designing tests to mitigate risk

Qualifications:

  • [2 – 3] years of experience for junior position.
  • 4+ years of experience for senior position.
  • Strong knowledge of Test Driven Development.
  • Proficient in C++ and Java programming.
  • Experience with Linux environment.

Responsibilities:

  • Design, build, and maintain high performance applications for Android platform
  • Help maintain code quality, organization, and automatization
  • Identify, correct bottlenecks and fix bugs.

Skills:

  • Ability to understand business requirements and translate them into technical requirements.
  • Strong knowledge of Android SDK, different versions of Android, and how to deal with different screen sizes.
  • Familiarity with RESTful APIs to connect Android applications to back-end services.
  • Strong knowledge of Android UI design principles, patterns, and best practices.
  • Experience with offline storage, threading, and performance tuning.
  • Experience with managing basic hardware features (i.e.: Camera, Speakers, Mic, etc…).
  • Experience with importing “C” Code using NDK.
  • Knowledge of the open-source Android ecosystem and the libraries available for common tasks and image processing.
  • Familiarity with cloud message APIs and push notifications.
  • Familiarity with the use of additional sensors, such as gyroscopes and accelerometers.

Requirements

  • Bsc degree in Computer Science, Engineering or a related discipline.
  • Proven working experience in Android app development.
  • Experience with Android SDK.
  • Experience working with remote data via REST and JSON.
  • Experience with Native, third-party libraries and APIs.
  • Working knowledge of the general mobile landscape, architectures, trends, and emerging technologies.
  • Understanding of code versioning tools, such as Git.

Job Description:

  • We are looking for a Linux Administrator who will be responsible for designing, implementing, and monitoring the infrastructure; also, to collaborate with other team members to develop automation strategies and deployment processes.
  • Perform daily system monitoring, verifying the integrity and availability of all hardware, server resources, systems and key processes, reviewing system and application logs, and verifying completion of scheduled jobs such as backups.
  • Perform regular security monitoring to identify any possible intrusions.
  • Perform daily backup operations, ensuring all required file systems and system data are successfully backed up to the appropriate media, recovery tapes or disks are created, and media is recycled and sent off site as necessary.
  • Repair and recover from hardware or software failures. Coordinate and communicate with impacted constituencies.
  • Install new / rebuild existing servers and configure hardware, peripherals, services, settings, directories, storage, etc.
  • Research and recommend innovative, and where possible automated approaches for system administration tasks.
  • Participate in creating disaster recovery plans.
  • Updating the technical documentation and the team knowledge base.
  • Participate in the overall secure design and performance of system/server’s environment.
  • Take lead in resolving operational issues, perform root cause analysis, and implement necessary corrective actions to prevent re-occurrence.

Job Requirements:

  • Experienced with network configuration.
  • At least 3 years working experience in the IT field and practical hands on experience in Linux/Unix environment.

Qualifications:

  • Bachelor’s degree in Engineering, Marketing, Communications or Journalism.
  • 3+ years of professional experience writing websites and marketing content for technical products.
  • Fluency in Arabic and English.
  • Strong interactive writing/editing skills in both languages.
  • Experience with Microsoft Office programs (Word, Excel, and PowerPoint).
  • Background in machine learning, data science or related industries is preferred.
  • Experience collaborating with large teams using outstanding communication skills.
  • Experience successfully executing and balancing multiple projects and tasks.
  • Demonstrated ability to write clear, compelling content that adheres to style guidelines and is substantially error-free.
  • Attention to detail, especially as it relates to complex customer interactions and compliance-mandated content.
  • Experience working with multiple stakeholders in a fast-paced, deadline-driven environment, with proven ability to respond flexibly to changing priorities.