Position: Microservices PHP developer
Company: eduki
Category: PHP
Experience required: 2y
English level: intermediate

We are the marketplace for teachers in their process of preparation for lessons. Life of a school teacher can be described with two words: overworked, underpaid. Insane amount of time is invested into lessons, checking works and preparation for lessons. While preparing, teachers produce artefacts: digital documents that would be use in lesson. It could be a lesson plan, a homework, crosswords, illustration, cut-out, you name it. Teachers are free to use any material they want in their lessons, and we offer a  way for teachers to access all those materials.

As any other marketplace, we do have users, products, orders, prices, payments, taxes, discount vouchers, sales, with a nice feature of being purely digital marketplace we don't have delivery, returns, logistics. We are entering new countries and actively working on things like fiscal addresses, country taxes, different languages, currencies, etc.

We are profitable, well-funded, on a growing curve, entering new countries and languages, so we are a good fit if you are looking for an experience of a successful startup. We are distributed, not going to office, located in different cities, join us if you like to work self-managed, independently, remotely.

We started with monolith on Symfony, and this still has some place, but we switched to **microservices** few years ago, and looking for PHP developers who likes and excels on microservices. Don't have sheer experience yet? We can teach you, if you are ready to learn.

Required skills:
– Good skills in **PHP**. Normally, that comes after a few years of working on various tasks.
– Microservices world knowledge: network errors, mutual locks, race conditions, rate limits, data consistency problems, approaches to solving them.
– Handy with any mainstream RDBMS, ideally **MySQL**. ORM is not enough, you need to know **SQL** well.
– Basic **Docker** skills. 
– **English** (oral, written). Enough to discuss work-related topics.

Additional points for :
– Knowledge of **Swoole**
– Knowledge of **ElasticSearch**
– Experience with **RabbitMQ**
– Practicing **12 factor app** principles

What have we got?
– A piece of monolith (Symfony) on the way out (you would not need to work on it)
– Sexy microservices growing in number (you are needed here!)
– DO-hosted cloud servers setup, K8s, RabbitMQ, Docker
– MySQL (Percona), ClickHouse, ElasticSearch
– React on front-end, RN for apps (all using same API)
– Attention to performance, code quality (via reviews), testing (automated!)

How we work:
– We work remotely, as highly responsible trusted adults (no time tracking), fulltime, anytime (you decide how to distribute your 40 hours in your week). We follow Agile principles.
– We we are still rather small company: not a lot or management happening, easy to talk to anybody in the company, get all the numbers you need, affect any story, bring ideas into every process. 
– We are serious about technical debt. Decisions on tech stories are made by the tech team along with product stories.

How we understand if candidate is good:
– We talk and have an impression.
– We do coding exercise to see practical skills (not longer than 1 hour of coding needed!). No theoretical problems, real problem from our life.
– That's it! Human impression and a little mastery demonstration - and we are ready to make you an offer!