The Java Developer is responsible for gaining command of the internal working of company's existing products and technologies, implementing enhancements, supporting bug fixes, performing data analysis and reporting of key metrics for the company's platform, and working on the next generation evolution of the product. The responsibilities of the Java Developer include but not limited to:
Contribute to building and maintaining the policies, procedures, and technical assets in the company's cloud infrastructure.
Support various teams with a technical vision in the core areas of interest for the company's products.
Support multi cloud-based communication products, especially as an augmentation to the internal technology team and working with partners’ software development teams.
Work closely with service delivery teams to support product deployments to the cloud.
Understand and use the company's technical architectures, tools, and techniques to build powerful, efficient, flexible, and scalable solutions.
Work on cloud-based development and deployment, including the following: AWS (EC2, SQS, S3, RDS, Aurora).
Ability to perform basic database administration, performance optimization, index optimization, write advanced select queries, and replace cursor usage with relational SQL.
Collaborate with product owners, scrum masters, and other developers to deliver a quality product using tools such as JIRA and Git.
Hands-on 5+ years of recent experience in programming JAVA and other technologies in the telecommunication industry.
Solid experience in managing Linux servers and applications (Nginx, apache2, etc...) and in MVC frameworks, Java Rest frameworks (like Jersey).
Practical experience in queuing systems/Message Brokers and stream services (preferably RabbitMQ and Kafka).
Proficiency in a Linux environment and in consuming and designing RESTful APIs.
Practical experience with cache technologies (Memcached, Redis).
Excellent knowledge of software development life-cycle.
Bachelor degree in Engineering, Software, or a related discipline or the equivalent.
Strong problem solving and analytical skills.
Ability to apply business logic to development requirements in a creative manner.
Familiar with SaaS and PaaS integration architecture and applications.
General knowledge in telecommunications (SMSC, VOIP, SMPP, etc...).
Travel is required, including the possibility of overseas travel - the candidate will need to visit the company’s customers and/or partners.
Fluent in English and Arabic with excellent writing/editing and verbal communication skills.