Develop and maintain high-quality PHP backend solutions for our web applications.
Collaborate with cross-functional teams, including front-end developers, designers, and project managers, to ensure efficient and effective implementation of features.
Design and implement scalable and efficient database structures using RDBMS, particularly MySQL.
Utilize popular PHP frameworks and follow best practices to build robust and maintainable code.
Implement and integrate RESTful APIs, microservices, and Service-Oriented Architecture (SOA) concepts into the backend systems.
Utilize messaging systems such as RabbitMQ or similar tools to facilitate communication between different components of the application.
Employ Elasticsearch and Redis for efficient data storage, retrieval, and caching.
Adhere to design patterns and SOLID principles to ensure clean and modular code.
Follow coding standards and best practices to ensure the maintainability and scalability of the codebase.
Work in an Agile environment, following Scrum or Kanban methodologies, and actively participate in sprint planning, daily stand-ups, and retrospective meetings.
Collaborate with the QA team to ensure the quality and reliability of the developed features.
Document technical specifications, system architecture, and API endpoints using Swagger or similar tools.
Use version control systems like Git to manage codebase, branches, and merge requests efficiently
Requirements
Bachelor's degree in Computer Science, Software Engineering, or a related field (or equivalent experience).
At least 5 years of professional experience in PHP backend development.
Strong proficiency in PHP and familiarity with popular frameworks such as Laravel, Symfony, or CodeIgniter.
Extensive experience with MVC (Model-View-Controller) architecture and building scalable web applications.
Solid understanding and practical experience with Service-Oriented Architecture (SOA) and microservices.
Proficiency in working with Elasticsearch for efficient search and retrieval of data.
Experience with message queue systems such as RabbitMQ or similar tools for building distributed systems.
Familiarity with Redis for caching and improving application performance.
Strong knowledge of RDBMS, particularly MySQL, including query optimization, indexing, and database design.
Deep understanding of software development principles, design patterns, and SOLID principles.
Familiarity with DRY (Don't Repeat Yourself), KISS (Keep It Simple, Stupid), and other best practices.
Experience working in Agile environments following Scrum or Kanban methodologies.
Proficiency in using issue tracking and project management tools like Jira.
Strong documentation skills, including API documentation using Swagger or similar tools.