Full Stack Developer: PHP/Python - remote

Parklink Development Limited
Posted 3 years ago
GitHub Jobs

Full Stack Developer: PHP/Python

Parklink Limited seeks a skilled, motivated candidate to fill the position of remote Full-Stack Developer fluent in Python and PHP, who loves the challenges of high-availabilty SaaS and working with hardware. To maintain team coherence, we are looking specifically in Europe: GMT+0 - GMT+3.

Company Introduction

Parklink Development Limited provides RFID duplication devices to locksmiths and security professionals.

Our flagship product is 'Rebadge'. It's a patented machine that duplicates RFID badges for customers. Before Rebadge, it was impossible to duplicate consumer RFID badges. Since the launch of Rebadge, literally hundreds of thousands of people have been able to make copies of their badges, and the number increases every day.

Each machine is an embedded linux system running Python + Qt, and tethered online. Supporting the machines is a RESTful API (CakePHP). There is also a full back-office system for client management, machine management, billing, etc.

We've got over 2,000 machines online (Check out our coverage map here: https://rebadge.eu )

We've recently expanded into Australian market, and are rolling out mobile tools. With this growth comes new challenges, and this is where your expertise comes in.

The team currently consists of five staff: the founder, operating as COO, our CTO as Dev Lead, an Electronic Engineer, Administrative staff and a Technical Support role. The successful candidate would be the sixth member on the team. The company structure is based in Hong Kong, but the team is spread around the world and fully remote.

We are a highly optimised / lean company. The successful candidate will have the ability to work autonomously on a constantly evolving product and rapidly expanding client base. You will work on a real product that is used by thousands of people daily.

Working for us means you'll be able to flex your development muscles, and you'll have a real impact on a real product that exists in the real-world, used by thousands of people every day. It's an exciting possibility.

We are not another boring SaaS company. We create, manufacture and deploy real hardware on a global scale, with back and front end code managing it all. You'll have a chance to get your hands onto hardware, software, development and deployment. If you're driven, curious, and a hacker at heart, this position is for you.

We will provide you with all the training and tools you need, an annual travel budget, and a dynamic, fair and respectful work environment.

Reciprocatively, we are seeking to work with someone that is honest, skilled, self-motivated, and reliable.

Tasks

As a Full Stack Developer, your tasks will be divided into two categories:

  • Backend Development (CakePHP)
  • Embedded Development (Python)

Backend Development

Our systems (API + Back-office) are based on the CakePHP framework, backed by a geographically Distributed High-Availability LAMP stack (Europe + Asia)

The RESTful API provides the interface to the network of machines, and the back office provides administration functionality for us and our clients. Backend Development Tasks

  • Maintaining &Developing the API [PHP / CakePHP]
  • Maintaining &Developing the Administration Interface [PHP / CakePHP]
  • Maintaining &Optimisation of the Database [MySQL]

We have short, medium and long term goals, and milestones setup for our system. You're coming into a stable, clean, code base that we'll give you all necessary training on.

Our frameworks are under GitHub source control, with a CI environment for staging and production.

We will provide necessary development environments (VirtualBox environment).

Embedded Development

We have 2000+ networked machines deployed. Each machine is powered by a Raspberry Pi 3, with dual-frequency RFID readers and touch screen. We have a custom linux deployment running the client software, written in Python + Qt [Pyside]

The software is under clean, stable, and under active development. Embedded Development Tasks

  • Maintaining &Developing machine software [Python]
  • Maintaining a Unit Testing framework [Python / FrogLogic Squish]
  • Development / Maintenance of System scripts / environment [Linux / Bash]

We will provide all necessary training + hardware required to get started on the systems.

Skill / Experience Requirements Technical Skills

Python 3 [Fluent]

  • QT / PySide Experience Bonus
  • Ability to write, respect &maintain unit tests

PHP 5/7 [Fluent]

  • OOP (PSR-1 &2) Obligatory
  • CakePHP Experience Bonus
  • Ability to write, respect &maintain unit tests (CodeCeption, PHPUnit)

Git/GitHub competency

  • Fluent with Git, respecting &maintaining development procedures (issue branch, code review, pull request, merge, etc)

Database (Mysql)

  • Query optimisation for high load environments

High Traffic, High Availability Clusters

  • Experience with distributed server clusters and writing highly optimised code for high-load environments - understanding the requirements of high-load environments

Linux Familiarity

  • Intermediate configuration &administration tasks (SSH, Bash, etc)
  • Rasbian Experience Bonus
Bonus Skills

Mobile Development

  • Native iPhone Development
  • Native Android Development

Hardware Familiarity

  • Raspberry PI
  • Serial / UART

NFC Familiarity [Bonus]

  • 13.56 (Mifare, libNFC, etc)
  • 125KHz (T55, EM4XX etc)
Personal Skills
  • English (Fluency in written + spoken)
  • Ability to communicate clearly and efficiently
  • Ability to work autonomously &self-motivate
  • Ability to integrate into an existing team &structure
Time Requirements

Physically based in Europe / GMT+0 - GMT+3 This is a full time, remote position (8 hours per day, 5 days per week) Reachable during work hours via phone / slack

Compensation
  • 45 - 50k EURO per year (depending on experience and skills coverage)
  • 2k EURO Hardware Allowance
  • Annual Travel Allowance
  • We will provide all training required
  • We will provide all hardware necessary (Devices, parts, badges, etc)
  • Flexible time off: 25 Paid Vacation days + 11 Paid Public Holidays
Application Pre-requisites
  • Your updated CV
  • A brief email explaining who you are, why you fit the position, and how your experience is relevant.
  • A link to your GitHub/GitLab account - if applicable
  • An overview of your side projects that you work on / contribute to.

Applying

Please send an email with all requisite documents to jobs@parklink.asia.

We will take time to study each application with diligence - please take the time to read over the position requirements carefully.