Job Description
<p><strong>About The Job</strong></p><p><br></p><p>We are looking for an expert Backend Developer — who has an experience working with production environments. In this position you will be working on building the core functionality for new features and maintaining current ones, throughout the lifecycle of development, testing and deployment as well as defining best practices and architecture of the system.</p><p>How can you expect an arcab to be reliable? When you build the foundations right. Our product(s) need to process information at massive scale, real fast and extend itself way beyond a van boarding people.If you are an analytical problem solver with a strong Node.JS knowledge and a passion for teamwork and innovation, we have the perfect job for you!</p><p><br></p><p><strong>You Would</strong></p><p><br></p><ul><li>Lead the backend team & review existing backend infrastructure and suggest improvements if needed</li><li>Work as part of a team developing applications and services using Agile development methods</li><li>Build our application/security/cache/data system and implement core business logic.</li><li>Help our product team to build a 99.999% uptime and global distributed infrastructure.</li><li>Support the development of a platform to empower multiple mobility services across the city.</li><li>Writing reusable, efficient, and clear code, test and operate node.js based services</li><li>Effectively use tools and ingenuity to identify and fix defects before they become a problem</li><li>Implementation of data protection and security, integration of user-facing elements, and data storage solutions</li><li>Keep up-to-date of advancements in the field of Node.js and recommending improvements to technologies</li></ul><p><br></p><p><strong>We’d Love To Meet If You Have</strong></p><p><br></p><ul><li>Five+ years of experience building infrastructure for great products.</li><li>A proven experience for working with Node.js</li><li>Relevant Bachelor’s degree or certification. A masters would be a plus.</li><li>Excellent knowledge of at least 3+ programming languages (e.g. Java, PHP, Ruby Python, Javascript, etc.)</li><li>An understanding of core web concepts (HTML, CSS)</li><li>Working knowledge of nix systems, networking and internet protocols.</li><li>Proven experience with software design and OOD methodologies.</li><li>Experience with Web services development (SOAP, REST).</li><li>Strong in Object Oriented Programming, MVC, Design patterns and SOLID principles.</li><li>Experience with Microservices using Docker and Kubernetes.</li><li>Experience architecting and developing distributed systems. Experience in concurrency, multithreading and synchronization.</li><li>Experience with Unix/Linux environments.</li><li>Experience with database internals, database language theories, database design, SQL and database programming.</li><li>Understanding of technologies such as virtualization and global infrastructure, load balancing, networking, data storage, Hadoop, MapReduce, message queue and security.</li><li>Experience with major cloud platforms (AWS).</li><li>Experience building dashboards would be a plus.</li></ul><p><br></p><p><strong>Our Current Stack: <em>(Only apply if you are comfortable heading most of these)</em></strong></p><p><br></p><ul><li>NodeJS for the major APIs,</li><li>Python for Billing and Seat Allocation</li><li>PHP For Admin Dashboard</li><li>Infrastructure is on AWS EC2 with Kubernetes configured by Kops</li><li>All APIs and Dashboards run out of Docker,</li><li>Billing and Seat Allocation on AWS Lambda</li><li>Docker Images are stored and updated in AWS ECR,</li><li>SMS and Email handled by AWS SNS and AWS SES.</li><li>MySQL as our Database</li><li>Redis as Cache Server</li><li>AWS DynamoDB to store temporary and expiring data</li></ul><p><br></p><p><strong>Work Here If You’re</strong></p><p><br></p><ul><li>Driven, accountable, humble and honest to the point</li><li>A collaborative team player and can mediate differences in opinion</li><li>Communicate ideas in an articulate manner with your team, technical</li><li>and non- technical audiences through written, oral and presentation</li><li>mediums</li><li>Open to trying different approaches to arrive at the best possible</li><li>solution</li><li>Able to accept and adapt quickly and constructively to change</li><li>Keen to learn and self-improve</li><li>Inclined towards making work simple and organised</li><li>Able to easily switch between thinking creatively and analytically</li><li>It Is natural to understand and share our users’ emotions</li><li>A big dreamer with guts to get into the unknown.</li></ul><p></p>