# Edfa3ly Engineering team job descriptions ### About Edfa3ly Edfa3ly is an automated personal shopper service that allows the customers to know pre-ordering the exact cost for any product worldwide to be shipped to their doorstep and pay using their local payment methods currently delivering to the middle east. Yashry is an automated fashion store offering the latest women, men, kids trends from the most coveted brands all over the world. We use our autonomous system to provide customers with hundreds of thousands of products shipped internationally and locally, paying Cash On Delivery. We are a technology-based company that enables retailers to sell globally in a localized manner to over two billion online shoppers in more than 200 markets worldwide. Providing a universal checkout online solution, that enables retailers to greet customers in their language, show local pricing, and domestic shipping options. It also takes care of all the international logistics processes, including international customs clearance, third party screening, and parcel fulfillment and returns -- providing constant package tracking. Moreover, selling data useful to retailers, such as merchandising tips, global shopping trends, and customer insights. We started the business in October 2010 and became the highly growing regional start-up that is spreading across MENA, Asia & East Africa. Our team is expanding, and We are building a team that adopts Agile and Lean principles, never stops learning and exploring new technologies, and applies the acquired skills and knowledge. ### What are we looking for in Engineers? We're looking for smart, self-motivated, and continually developing engineers who care about the quality of code, performance, and can build complicated systems. ### Why work at Edfa3ly? 1. We are building our products (Yashry.com and Edfa3ly.com), we're not a software house building random projects. 1. E-commerce is a challenging and exciting software engineering area. We've to be always developing new features and enhancing the performance and architectural design of old ones. It's guaranteed that whoever joins our engineering team, will always find a new thing to learn every day. 1. We're a startup, we're flexible, and have a friendly environment, and even after becoming a team of 100+ members, we're making sure that the environment is as impressive as it has always been. 1. We value our engineers, and they're the backbone of our company. We only hire the best, so we will always make sure that you're surrounded by the best of the best. 1. We're data-driven. You will have a chance to experiment with whatever new ideas you have, and the data will guide you to where you should go next. 1. We pay competitive salaries. It's not just as we can, but as if you hire the best, then you should give them the best. ### Benefits * Unlimited COFFEE :) * Net salary: $xxx - $xxxx based on level of experience * Flexible working hours * Unlimited vacations (get-work-done make-plans-with-your-manager policy) * In the middle of a big task? work from home policy * Learning sessions & knowledge sharing implemented into the development process * Employee development - fully paid course of your choice. * Maximum discounts when using Edfa3ly services * Team bonding trips * Gym membership * Casual wear * Financially support your family events (marriage, labor, death, etc.) * Generous discount on international flights and international hotel stays for you and your family * Social and medical insurance. --- ## Back-end Engineer - PHP stack ### DESCRIPTION We are looking for a PHP Engineer who is dedicated to the craft, writes code that they are proud of and can hit the ground running. A PHP Engineer writes beautiful, fast PHP to a high standard, in a timely and scalable way that improves the code-base of our products in meaningful ways. You will be a part of a full-stack creative team that is responsible for all aspects of the ongoing software development from the initial specification, through to developing, testing and launching. ### RESPONSIBILITIES Write “clean”, well-designed code Troubleshoot, test and maintain the core product software and databases to ensure strong optimization and functionality Contribute in all phases of the development lifecycle Follow industry best practices Develop and deploy new features to facilitate related procedures and tools if necessary Produce detailed specifications ### REQUIREMENTS * 2+ years experience in the below competencies. * Proficient knowledge of at least one back-end programming language (PHP5, PHP7), we are okay if you dealt with other languages like Python, Ruby, Java, JavaScript, C#, GO or Scala. * Understanding of fundamental design principles behind a scalable application. * Good understanding of frameworks Symfony 3/4 is a plus, other frameworks like Laravel, Django, Play, Spring, .Net, Flask or express etc.. is good to have * Our current stack consists of the following: * PHP 7 * Python * Symfony3/4 * MongoDB * MySQL * Redis * Elasticsearch * Git * Linux ### HOW YOU WILL PROGRESS: * On the **second day** most new starters are ready to code * Around **two weeks** later your first lines of code will most probably hit production * In **one month** your impact to your team starts to become measurable * After **half a year** you will have significant domain knowledge of the topics you have been working on and be a contact point on this for all your peers * After **one year** at Edfa3ly you have become a core committer to number of our applications, being broadly as much as deeply experienced with technical and business challenges in your team and its direct vicinity --- ## Front-end Engineer - JS stack - React.js/Angular ### DESCRIPTION We are looking for a JS Engineer who is dedicated to the craft, writes code that they are proud of and can hit the ground running. A JS Engineer writes beautiful, fast JS to a high standard, in a timely and scalable way that improves the code-base of our products in meaningful ways. You will be a part of a full-stack creative team that is responsible for all aspects of the ongoing software development from the initial specification, through to developing, testing and launching. ### RESPONSIBILITIES * Write “clean”, well-designed code * Troubleshoot, test and maintain the core product software and databases to ensure strong optimization and functionality * Contribute in all phases of the development lifecycle * Follow industry best practices * Develop and deploy new features to facilitate related procedures and tools if necessary * Produce detailed specifications ### REQUIREMENTS * Strong proficiency in JavaScript, including DOM manipulation and the JavaScript object model Thorough understanding of React.js and its core principles * A business mindset that strives to balance between product delivery and code quality and that searches for new ways to improve Edfa3ly's products to enhance the overall customer experience. * Strong knowledge of REST services, testing methods and building distributed systems * Knowledge of modern authorization mechanisms, such as JSON Web Token * Experience with data structure libraries (e.g., Immutable.js) * Experience with common front-end development tools such as Babel, Webpack, NPM, etc. * Familiarity with newer specifications of EcmaScript * Experience with popular React.js workflows (such as Flux or Redux) ### HOW YOU WILL PROGRESS: * On the **second day** most new starters are ready to code * Around **two weeks** later your first lines of code will most probably hit production * In **one month** your impact to your team starts to become measurable * After **half a year** you will have significant domain knowledge of the topics you have been working on and be a contact point on this for all your peers * After **one year** at Edfa3ly you have become a core committer to number of our applications, being broadly as much as deeply experienced with technical and business challenges in your team and its direct vicinity --- ## Product Owner ### RESPONSIBILITIES * Your duty is to define requirements and priorities. * Responsible for managing the product backlog and product backlog visibility. * Facilitates marketing/business persons and guide them to make those goals achievable. * The Product owner is responsible for the product, from a business point of view. * Define epics/user stories to development team. * Should be available to the development team for the consultation, so that the team can implement the features correctly. * The focus is to report ROI, product effectiveness and risk analysis. * Ranks the product features so that development team can clearly understand them. * Needs to make sure that user stories are explained well and always in right priority in backlog. Backlog grooming meeting practice is conducted by the team of product owners, but it’s optional in some organizations. * Spend some time with the team to prioritize/groom the user stories with few team members. Not all need to be involved * Collaborates with stakeholders during the concept development and visioning of the product. * Work closely with lead software engineer and scrum master to ensure business requirements are always on your top of your focus * Ensures the business value of the product. * Might conduct training and give orientation to new comers. ### DAY-TO-DAY TASKS * Monitor triage channels (Help desk, internal meetings, customers meetings) to gather different features request and communicate with stakeholders to better achieve their goals. * Write JBTD, user stories and use cases * Do business documentation of new features * Allocate time to do business documentation for old system parts * Work step ahead of development team by gathering requirements, validation and writing JIRA issues * Communicate with business overall product timeline based on product roadmap meetings ### REQUIREMENTS * 2+ years of experience. * You’re passionate about building lovable products that truly add value to end users. You’re a wannabe entrepreneur, self-motivated, self-driven, creative, & extremely resourceful. You have a broad understanding of business, UX & Tech. You need to be able to understand that it’s all about the bigger picture & solving holistic problems. * You’re a test driven & analytical person who always test his hypothesis & value both qualitative & quantitative data. * You’ve fantastic interpersonal skills, can lead & play with others and add value inside and outside your team. You’re able to create buy-in for the product vision both internally and with key external partners. You can translate product strategy into detailed requirements and prototypes. * Establish shared vision across the company by building consensus on priorities leading to product execution * Integrate usability studies, research and market analysis into product requirements * Define and analyze metrics that inform the success of products --- ## QA Engineer ### ABOUT THE JOB * Ensure the quality of the company's product * Test new features on different test levels (integration, system, functional, regression, exploratory testing). * Act pro-actively communicating implications of defects found * Develop and execute testing strategies and plans for multiple products/projects * Work closely with development counterparts throughout the Agile to ensure high quality deliverable * Create and execute detailed test plans/Cases that exercise the system from an end-user perspective * Troubleshoot and isolate problems to aid development in identifying root-cause of defects * Create and maintain detailed bug reports with clear and repeatable steps and track/verify bugs as problems are found and resolved * Be the voice of the customer and ensure non-functional requirement are met (e.g. consistency, usability, etc.) * Coordinate/participate in meetings with the on-shore team on day to day basis and provide active feedback * Perform any other responsibilities assigned by the on-shore managers or off-shore managers. * Receive requirements and create a test plan for these requirements. ### REQUIREMENTS * Experience in Quality Assurance on web based software projects * 2-5 years experience in the below competencies. * Experience in Agile / Scrum project development * Ability to interface with both technical and non-technical staff and communicate fluently in English * Team player, willing to learn, and hard worker. ### RESPONSIBILITIES * Working closely with the Product Owner and developers in requirements analysis * Work with the other QAs to increase QA productivity and efficiency with automation * You find the best test strategy for new product features, making trade-offs between automated and manual testing approaches. * Understanding of continuous integration with end to end automated testing on web and mobile. * Experience in web and mobile (iOS and Android) test automation. * Experience with Jenkins and version control systems (SVN/Git). #### THE FOLLOWING ARE PLUS * Experience in continuous integration and testing tools (e.g. Selenium, Jenkins, TestNG, Cucumber) * Performance & Stress Testing * Ability of developing automated testing scripts will be an asset.