Lead Developer: PHP/Python

Parklink


2 weeks ago

04/30/2019 12:10:08

Job type: Full-time

First appeared on Github

Category: Software Dev


Parklink Limited seeks a skilled, motivated candidate to fill the position of remote Lead Technician fluent in Python and PHP, who loves the challenges of high-availabilty SaaS and working with hardware.


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 and US markets. With this growth comes new challenges, and this is where your expertise comes in.

The team currently consists of three staff - the founding partners operating in the roles of CTO and COO, and a technical support role. The successful candidate would be the fourth member on the team. The company structure is based in Hong Kong, but the partners are EU based


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 lead technician, 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]

Developing / Deploying 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/6/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


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

This is a full time, remote position (8 hours per day, 5 days per week)

Reachable during work hours via phone / slack

Compensation

40000EU per year / ~$50,000 USD

2kEU Hardware Allowance / $2450 USD

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

An overview of your side projects that you work on / contribute to.

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


Please mention that you come from Remotive when applying for this job.

Help us maintain Remotive! If this link is broken, please just click to report dead link!

similar jobs

  • 3 weeks ago

    Right now, we are looking for a project based position for our operations. Like the whole team you can work from anywhere. This is an opportunity for you to work and influence a fast growing SaaS service. You’ll work on our GraphHopper Directions API infrastructure and lead the architecture discussions, as well as taking care of failures and complications related to our cloud offering. And furthermore improve the system through more automation and testing. Travel is not required. The communication is mainly done through slack, Email and GitHub tickets.

    Required skills:

    • Develop software for our distributed systems and GraphHopper Directions API offerings
    • Ability to work with a remote team and speak in English
    • Active communication and discussion style
    • Preference to self-learning
    • Experience with automation (CI) and automate as much as possible

    Optional:

    • Experience with Linux cluster administration
    • Expertise with Ansible
    • Experience or ability to respond to operational issues
    • Expertise with bash or python scripting or Java
    • Bachelor or MS Degree in Computer Science

    Additional information:

    • All team members take care of a good work-life balance
    • Competitive pay
    • You’ll be supported to speak about your work in blog posts or at conferences if you like
  • Precision and correctness are two of your core values. Thanks in part to your formal CS education, you have an excellent understanding of algorithm performance and can make good decisions regarding tradeoffs. You know the fundamentals of how computers and networks operate and have programmed in a low level language such a C or Go. Your Node.js experience builds on top of these fundamentals and you have a complete understanding of the Node event loop. 

    You have experience building complex systems and keeping them humming. You find great satisfaction in solving challenges that only appear at scale. It helps that you're an expert at troubleshooting problems using a vast amount of logs generated across multiple services. Once you've identified a performance bottleneck, you know how to correct it.


    Whilst you spend most of your time writing software, setting up infrastructure from time to time is no big deal and you're comfortable working with Linux, Docker and GCP/AWS. 

    Does this sound like you? If it does, join us and change the way modern web apps are built! You’ll be directly responsible for shaping the architecture behind our unique infrastructure. This is not just a standard webapp but a complex, highly elastic, multi-cloud browser rendering service consisting of mostly stateless and some stateful services.

  • Development specialized on the free software project Open edX, used by many universities and companies to run online courses. See edx.org, stanford.edu or fun-mooc.fr for examples of Open edX instances.

    The Open edX platform is a large Python/Django codebase, with good code standards and architecture (a lot of the edX engineers come from MIT). You would work on different clients contracts using the platform. The clients list/references include Harvard, MIT, edX themselves, the French government, and various startups & universities currently running their own instances, or looking to create one. Tasks are very varied, from developing core platform features, custom exercises and tools for specific courses (XBlocks), customizing and deploying instances, working fullstack, operating our service infrastructure, improving our hosting platform, etc. You won't get bored here.


    Most of your work is published as free software (Open edX is released under the AGPL license, which requires clients to release modifications under the same license), and you would also contribute to the free software project, pushing most of your developments upstream through pull requests, contributing features, documentation or help on mailing-lists.


    - 3+ years working with Python
    - Experience with Python web frameworks, specifically Django
    - 3+ years of HTML, Javascript, and CSS (experience with React is a big plus!)
    - Experience with unit testing
    - You feel comfortable working in a Linux environment, specifically Debian or Ubuntu
    - Experience with databases: MySQL, MongoDB, PostgreSQL
    - Experience with contributing to free software projects, and communicating within a free software community

    You would have to work with tasks from the following categories, but you would be able to pick up the skills on the job if you don't master this yet:

    - DevOps experience, especially on Debian/Ubuntu servers, Terraform, Vault, Packer, Prometheus, ELK, Docker. We are building a modern infrastructure and having a strong DevOps presence on top of core software engineering skills is a big plus with us.

    - Cloud computing, like AWS or OpenStack

    - Configuration management tools such as Ansible

    - RabbitMQ, Redis & Elasticsearch

    - git source control

    - Mobile development (iOS and/or Android)

    - Managing clients & projects from beginning to completion (senior developer)

    - Public speaking at conferences (you would present a talk every year at the Open edX Con)


    We are a team of twenty developers, all working remotely from Europe, North & South America, Asia & Australia. You would arrive at a critical moment, as we scale up to handle increasing demand from clients on the edX platform. The company is not affiliated with edX, but contributing and working with them on various projects. This is a full time position, were you would be able to work remotely from anywhere you want, as long as you have a good internet connexion. : ) 

Remotive can help!

Not sure how to apply properly to this job? Watch our live webinar « 3 Mistakes to Avoid When Looking For A Remote Startup Job (And What To Do Instead) ».

Interested to chat with Remote workers? Join our community!