Lead Developer: PHP/Python

Parklink


1 month 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

  • 5 days ago

    We are looking to hire someone who relishes designing and building systems and services that can manage large data sets (billions and beyond) with a high transaction volume that are scaling constantly to meet customer demand. The ideal person takes pride in building coherent and usable interfaces making it easy to use and operate on data. This role would allow you to take on on challenging problems, choose the right tools for the job and build elegant, scalable solutions. Your work as an experienced Java engineer will empower over 9,000 businesses around the world to provide great customer service, and will support the other senior engineers on your team. 


    We leverage Solr for several tools at Help Scout. Knowledge or even expertise in Solr is desired. However, as our data needs grow we look beyond search and towards Big Data solutions. We are seeking someone who can join the team and help us solve all kinds of data processing and analysis problems.

    Currently at Help Scout

    • We develop in Java, Kotlin, JavaScript and PHP
    • We leverage AWS, RabbitMQ, Aurora MySQL, PostgreSQL, MongoDB, Apache Solr
    • We also use Slack, Jira, Trello, Github, Jenkins

    About the role

    • You will be the fourth member of our search and data services team, collaborating on the next generation of our large-scale search and reporting service and associated infrastructure. On a daily basis, you'll work on adding new functionality, improving existing code, and API endpoints while maintaining focus on testing and documentation.
    • We currently index millions of search and report events every day and at peak hours our API handles tens of thousands of transactions a minute. You will play a key role in evolving our services to handle 10X that.
    • You will own some of our large, upcoming challenges and collaborate with your team on all of these: building a streaming data reports pipeline, reworking how we index data and retrieve data to scale while controlling infrastructure costs, and significantly improving our search relevancy and customer-facing reporting capabilities. 
    • Our engineering team is over 40 people, more than half the company. As part of the search and data team you will be involved in the decisions made regarding implementation, testing, and backlog prioritization. You will collaborate with the rest of the engineering team through code, reviews. You will participate in making architectural discussion.
    • We work in using iterative software approach, communicate mostly via Slack and are committed to remote, agile development. When you are ready, you’ll create and send a pull request with tests and tag your team for review - using video and screen-sharing as needed. Your development builds can be easily tested on environments that closely match production. You’ll work autonomously for the most part and we trust you to get work done when/where you can be productive.
    • Your team performs engineering support when a question can’t be answered by our in-house support team and passes triage. We’ll get you up-to-speed with engineering support so you can help our customers and improve the product along the way.
    • Everything is secondary to the customer experience. We expect you to have a keen sense of how your code will impact the experience in terms of performance, security and usability.
    • You'll be working with product people that challenge you to get better every day. The founders are technical and committed to creating a magical experience for customers. You'll deploy work that moves the needle for businesses around the world.
    • To ensure sufficient overlap with your teammates, we're looking for candidates that live in UTC+3 (Eastern Europe) and UTC-7 (as far as San Francisco) time zones.

    About you

    • You became an engineer because you like writing software that helps people.
    • You bring a level of Java-specific expertise that will help us craft an outstanding experience for customers and fellow developers. 
    • You have experience building information systems and data processing platforms. 
    • You are skilled in the modern tooling that is used in data processing and retrieval domain. Big Data, Streaming Pipelines, Data Grids and Data Lakes are not just buzzwords to you.
    • You are excited about JVM ecosystem. We also like Kotlin here.
    • You are a skilled and passionate engineer who is friendly, collaborative, and supportive.
    • You value personal growth and constructive feedback. 
    • You demonstrate an empathetic, organized and collaborative communication style with fellow engineers and non-engineering stakeholders. 
    • You will consider how your work impacts others, and demonstrate thoughtful, flexible approaches to mentoring and guiding technical decisions.
    • Your code is not only a pleasure for customers to use, but for other engineers to read and understand easily.
  • We are looking for a C++ Robot Software Engineer to support the design and development of a framework for high-level robot task planners and schedulers.

    You will be:

    • Designing and implementing C++ functionality facilitating intelligent robot control

    • Working directly with the Robot behaviour control teams to adopt new functionality in a timely manner.

    • You will be measured by deliverables, engineering oriented approach, code quality, real robot integration quality and ability to communicate with peers and work in a team.

    Experience:

    • BSc/MSc/PhD in Computer Science, Robotics, AI/ML, Automisation or related field.

    • 5+ years of software development experience.

    Requirements

    Mandatory Requirements:

    • Experience in C++ design and implementation (C++ 11/14 and beyond).

    • Deep understanding of C++ language and toolchains (Compiler, linker, ABI, CMake).

    • Experience in Python.

    Nice-to-have Requirements:

    • Experience with Robot Operating System (ROS).

    • Robot task planning and scheduling.

    • Behaviour trees / State Machines / Rule-based systems.

    • Domain-specific language development.

    • GPGPU development.

    • Embedded C - Firmware / Audio processing / NLP.

    Benefits

    • This role permit flexible working hours. 

    • Contract work or a permanent position: we can accommodate you.

    • A lot of challenges in cutting edge robotics project.

    Company Description:

    Aeolus Robotics was founded to bring the first generation of household robot assistants to life, and to market. Integrating prowess from world-leading Taiwanese manufacturers and AI genius distributed over our international team we are breaking ground in general-purpose consumer robotics with capability in unstructured “human” spaces. 

    We invite top-notch people with a passion for robotics to join us in this technical adventure. Check our website for more information about our robots, and search the web for "Aeolus Robot" to find some of the many articles and videos about our robot demonstrations.

  • 5 days ago

    Owl Labs is hiring a Computer Vision Engineer to join our diverse development team.  The ideal candidate has strong experience developing computer vision algorithms for use in unconstrained environments.  Bonus if you also love developing robotics algorithms that can use the output of computer vision algorithms (and others) to build world models and make autonomous high-level decisions.

    Owl Labs' mission is to solve a problem we've all experienced: meetings suck, and they are especially painful for the remote participants on the other side of the call. Considering the rapid growth in remote and distributed work, this is a perfectly timed problem for Owl Labs to solve. The market is hungry for products and content that make remote and distributed work better.

    With $22.3M funding from Spark Capital, Matrix Partners, and Playground Global, Owl Labs has created the Meeting Owl, a 360° smart video conferencing camera that sits in the center of the table and uses robotics algorithms to automatically highlight different people as they talk. After launching the product in June 2017, thousands of companies have purchased the Meeting Owl, saying it offers the most natural and inclusive meeting experience they've ever seen.

    In this role, you will impact some of the company's most important product development goals.


    Skills & Requirements:

    • BS/MS in Computer Science, Engineering, or related field

    • Proficiency in C++ and C, and ability to develop clean well-documented modular code

    • Experience with OpenCV

    • Experience developing in Linux environment

    • Strong engineering test & debug skills for complex real-time systems

    • Experience with version control and bug tracking systems

    • Strong communication skills, appreciation of documentation, and co-worker & customer empathy

    Nice to Haves:

    • 5+ years professional computer vision experience

    • Interest & experience developing robotics-style models and algorithms (beyond CV)

    • Experience developing for mobile-class SOC

    • Experience developing consumer-type products

    • Strong git skills

    Owl Labs is ~30% remote and headquarters are based in Somerville, MA. This role can be either an on-site or remote position. Please specify in your application.

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!