Position: 2036/03 PHP developer
Company: Argument
Experience required: 3y
English level: intermediate

**Требования**
Опыт работы: 3 года
PHP - 3 года
Опыт в MySQL
Опыт в REST API
Опыт в JavaScript
Опыт в Ajax
Опыт в HTML & CSS
Опыт в Vue.js
Опыт в React
Опыт в Laravel
Опыт в Symfony

**Requirements:
Back-end skills:**
- MySQL: maintenance, optimization, knowledge of complex queries (JOIN, UNION, subqueries), understanding of InnoDB engine; experience in working with large databases is desirable (over 10 million records);
- PHP: deep understanding of OOP (classes, objects), MVC models and ORM techniques, Laravel and Symfony experience is a big plus, ability to work with other developers' code;
- Experience with building REST API and using JSON is desirable;
- Expertise in building scalable real-time applications would be a good plus;
- Experience with inter-process communication, caching and message queues, knowledge of Redis could be a plus;

**Front-end skills:**
- JavaScript: basics + strong knowledge of AJAX requests and how to build and optimize them; basic knowledge of Node.js is preferred, but not required;
- Ability to produce performant and memory-effective front-end code and to improve existing code base;
- HTML/CSS: basics; advanced expertise in CSS and/or experience with Uikit, ability to optimize styles is desirable;
- Knowledge of modern js frameworks like Vue.js (preferably) and React, is a plus but not required;

**Other skills:**
- Must be a true team player and great communicator;
- Experience with working in a team using GIT;
- Experience with writing unit tests is desirable;
- Linux/Unix: SSH/SFTP, bash commands, cron, Nginx/Apache web server;
- English technical writing level is sufficient

**Responsibilities:**
- Write complex, clean, well-documented, reusable code;
- Optimize existing databases;
- Write complex yet optimal requests for extracting data;
- Protect good performance, stability, and security of the systems;
- Improve User Interface and Experience;
- Apply bug fixes and improvements based on users and QA reports;
- Allocate tasks and priorities for the team;
- Understand project goals and convert them into clear tasks for developers.