Senior Software Engineer (Java / PHP) at Unifonic (Riyadh, Saudi Arabia)
Location: Riyadh, Saudi Arabia
Type: Full Time
Created: 2020-02-08 05:00:10
Communication is our business
Unifonic provides solutions for better customer engagement through a cloud-based platform. We empower businesses to engage with their people through a variety of channels, making their communication conversational, more meaningful and with ease!
Senior Software Engineer
The Senior Software Engineer will be working with diverse team of engineers and developers and will be responsible for gaining command of the internal workings of the company's existing product and technology, 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 while using the latest tools and technology within agile scrum teams.
Engineering principle: We ship robust, high-quality code, written for humans to read and maintain!
Tech Stack: Linux, Drone CI, K8S, Bitbucket and GitOps, Kubernetes, Jenkins Ansible, Docker, Java, AWS, PHP, Python.
The responsibilities of the Senior Software Engineer include but are 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 (Spring Framework) or PHP (Symfony), on complex projects, preferably in the Telecommunications domain.
- Hands-on Web Development (HTML, CSS, JS), Full Software Lifecycle, Agile, Gradle, Maven, Git, AWS, Linux, Distributed Architectures (REST, SOAP, Queue-based), and Microservices.
- Solid experience in managing Linux servers and applications (Nginx, apache2, etc...) and in MVC frameworks (Yii).
- Practical experience in queuing systems/Message Brokers like (beanstalkd, SQS, etc...).
- 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's 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 with excellent writing/editing and verbal communication skills.