The Back End developer is responsible for the system to work behind the scenes. Their role is to integrate the application with all required systems and services and provide clean and easy to use API for the frontend part of the system. Although their work is usually hidden from the user they bear the full responsibility for the application functionality, performance and scalability. They know how to write clean modern APIs, integrate with legacy systems and work with databases.
Key Result Areas
- Design and develop the business logic and backend systems of the product.
- Work closely with frontend developers to design and develop functional, performing and complete APIs
- Decipher existing companies software systems and be able to hook in application to applicable data sources
- Write both unit and integration tests, and develop automation tools for daily tasks
- Develop high quality, well documented, and efficient code
-
Challenge ideas and opinions to avoid pitfalls and inefficient solutions
Knowledge, Skills and Experience
- 4+ years of experience as a backend developer in Java Spring Boot programming
- Deep knowledge of Object-Oriented programing and engineering principles like SOLID
- Significant experience writing and utilizing autonomous services oriented RESTful API services and performance tuning largescale apps
- Experience with database systems, with knowledge of SQL and NoSQL stores (e.g. MySQL, Oracle, MongoDB, Couchbase, etc.)
- Experience integrating with JavaScript frameworks, such as React is a plus
- Ability to write effective unit, integration, and API tests
- Nice to have knowledge of immutable infrastructure, infrastructure automation and provisioning tools
- Strong understanding of Agile methodologies
- Experience as a Developer on a cross-functional agile team preferred
- Strong communication skills with ability to communicate complex technical concepts and align organization on decisions
-
Arabic speaking is must.
- Sound problem-solving skills with the ability to quickly process complex information and present it clearly and simply
- Utilizes team collaboration to create innovative solutions efficiently
- Passionate about technology and excited about the impact of emerging/disruptive technologies
- Wants to unleash inner self-starter and work in an environment that fosters entrepreneurial minds
- Believes in culture of brutal transparency and trust
- Open to learning new ideas outside scope or knowledge