Senior PHP Developer
It is an ongoing project for the last 10 years with a lot more to develop and spread across a lot more countries so basically it has no end currently. We have a PHP team of 7 people (working on the development of the billing system of the dating platform) + partner company which has 10 more developers (working on the web development of a thousand dating websites).
The main company settled in Toronto and the owner of the product — the product is a dating platform with hundreds of dating sites covering European and American markets in different dating niches. Product is in development for more than 10 years, but profitable during last 6 years.
Product is a dating platform – very complex – it consists of hundreds of similar dating sites — (white label approach) – covering European and American markets. Developers are working with live traffic – at the same time users are taking actions like registering, signing up/in, updating their profiles etc.
Platform has tens of millions of profiles (ofc not all of them are active), and statistics shows that at 24h-level every day it has been sent 7-8 millions of emails. Each email is defined as an iteration between profiles. Platform is focused to getting new users, so there is not much space for experiments with ultra new technologies with live traffic (each mistake costs a lot if sites are down even for few minutes), so we are using well known proven technologies which already showed its efficacy.
- While developing new functionalities we use Test Driven Development – TDD, so Unit tests are very important. We also write acceptance tests, depending on which application it is about.
- We are trying to keep close to Domain Driven Design – DDD.
- We use SOLID principles and consider it as very important in work.
- We use Elastic Search as search engine.
- EDT working time;
- Employment as contractor with salary in gross range up to 4.5k USD;
- Vacation days: 10 working days + public holidays from his/her country;
- need candidates to be actual seniors, ideally strong ones;
- strong database skills, MySQL in specific, they don’t need to be a DBA however;
- E-commerce experience is a must. Not like, using a library in a wordpress site that can make transactions, but experience talking directly to processors (which we do all day, every day);
- Frontend is nice, but not required for the commerce developers we’re seeking;
- Queued processing (RabbitMQ specifically) is super helpful;
- distributed application experience, not necessarily a must, but it would go a long way;
- experience with large-scale distributed databases (plus if it considers 1,000,000 transactions per day) and with large-scale websites (plus if it considers more than 80 pages and up to 700,000 unique visitors per day).
Our core product is a member-driven application that interacts internally with a multitude of systems and processes, as well as externally with affiliate applications and reporting frameworks. Payment processing and email campaigns play a large role in the on-going objective to obtain new users and grow the platform. We’re looking for candidates who are interested in working on a live application with real users who want to contribute to the technical requirements of the application and the business, someone who is not shy of innovation when it comes to solving technical hurdles.
The Ideal Candidate Will:
- Have strong knowledge of the PHP language and have experience with frameworks like Laravel, Symfony or similar;
- Experience implementing and using RESTful APIs in a microservice architecture;
- Have usable understanding of front-end technologies;
- Understand the concepts of object oriented programming;
- Have familiarity with optimizing interactions with backend storage, such as MySQL;
- Have experience developing in a largely-distributed environment;
- Be eager to make an impact on the organization;
- Excellent written and oral English communication skills needed, as we have our team all over the globe and English is the common language.
- Develope, debug, and maintain website applications using our in-house methodologies and process flows;
- Solve complex, as well as basic, technology issues as they arise;
- Timely communication of issues and status information to Team Leads concerning system development activities;
- Provide architectural input for modifications to existing systems, as well as creating new systems from the ground up;
- Working closely with the project manager and senior staff to ensure stated business objectives are met.
- Other duties as may be assigned by management.
Expert Level Skills Required In:
- PHP (7+ years);
- MySql (4+ years);
- OOP Concepts (3+ years);
- Remote Processing.
Intermediate Level Skills Required In:
- Linux-based systems administration;
- Knowledge of open source solutions like AWS;
- Proficient understanding when committing code to Git, Branching and Merging code;
- Integration of multiple data sources and databases into one system;
- Payment Gateway Integration.
Additional Skills Preferred:
- Large volume email dispatching;
After we sign the agreement, we can start:
- Freelancer needs to get the resume of a motivated candidate and to direct him to fill out the technical self assessment HR survey. This survey is indicating to us if a candidate is a good one to be invited for a real test later. This is the survey which they need to fill out and score at least 7/10 (we have the key to scoring).
- I will check the score at self-assessment and if the candidate has 7/10, 8/10, 8/10 or 10/10 I am forwarding him/her to Canadian HR.
- Canadian HR chooses candidates who will be invited for a technical test of multiple choice with our colleague. Important: Canadian HR usually rejects candidates who are over budget limit or who are switching their employers in a year or even more often because they consider it as not being loyal and a red flag.
- She is conducting testing via Skype and if a candidate passes, he/she will be sent to a PHP lead for a review. If we come to the stage of a candidate being sent to PHP lead, that is a good sign, but however, candidate still needs to have a final interview with him.
Does this sound like the kind of place you want to work at? We look forward to hearing ‘hi’ from you!