Lead Developer: PHP/Python

Parklink


3 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

  • 4 weeks ago
    Heetch is a mobility app with a simple mission: we want people to enjoy going out.
    Every night and every day, our drivers are doing their best to make their rides unforgettable and friendly!
    We are focused on young people's expectations and are competing within a fast-paced market.
     
    The service was launched in Paris on September 2013 and has been growing since then, with thousands of rides every night in France, Belgium and Morocco.
    With more than 1 million users in Europe, we are proud to be one of the fastest French growing startups!
     
    Driver Growth @Heetch
     
    We're a thoughtful, talented, full stack and distributed product team of backend, mobile, frontend and QA engineers, as well as product managers and product designers. We're responsible for the acquisition, engagement, and retention of all our drivers ?.
    Our multi-disciplined team allows us to work autonomously across the realms of our scope. This means we own our roadmap entirely, and we empower each team member to contribute and influence what we work on and how.
     
    Our mission is quite simple; Deliver Driver happiness and ensure they get the optimum experience that they deserve. Drivers use and rely on the products we build every single day to earn a living. This is a responsibility that we hold dear and do not take for granted.
     
    SRE within Driver Growth
     
    Our infrastructure receives 2.5 millions of events per day and processes 100M of API requests. We also serve over a dozen thousand rides, have a Driver signup funnel with 50 separate Data fields and process hundred of gigabytes of log and interaction data daily. Our team owns upwards of 20 microservices on top of Elixir, Kafka and Docker, and are focussing our efforts on adding to this number as we extract from our legacy codebase.
     
    To put it simply; The services we support and the code we produce are critical to the business. Be it a potential driver going through our acquisition funnel, an active driver entering our marketplace or a driver viewing their earnings and account details to name but a few, the impact our backend engineers have on the business as a whole is enormous.
     
    Team Values
    • Transparency: We discuss everything openly within the team. Our speak up culture is strong.
    • Remote first: Our team is fully distributed, and we work hard at that, but feel free to work from any of our offices in Paris, London, Brussels or Casablanca.
    • The courage to fail: We celebrate the wins, but more importantly we're not afraid to fail, we always learn and go again.
    • Team unity: No one is left behind.
    • Code quality: It's not software without tests.
     
    Your role
    In this role, you'll be in charge of building the tools and systems that every backend engineer in the Driver Growth team uses to develop, scale, understand, and monitor their operations.
    You will dive deep into gnarly operational issues; from the software, systems, automation, and process perspectives, and, you will work with our production services throughout their entire life cycle, from design and architecture, through implementation, deployment, and sustaining operations.
     
    What will you do?
    • Build tools and infrastructure to make the team iterate faster without overthinking about the core infrastructure.
    • Partner with fellow backend engineers to architect and build mission-critical systems that can stand the test of scale and availability, while limiting operational overhead.
    • Perform deep dives into both systemic and latent reliability issues; partner with software and SRE engineers across the organization to produce and roll out fixes.
    • Design, build & support systems to detect, alert and remediate or escalate on the team' platform.
    • Contribute to standardization efforts across multiple disciplines and services in conjunction with the Core SRE team
    • Handle efficiencies in systems and processes: design, configuration management, performance tuning, monitoring, and root cause analysis.
    • Participate in an on-call rotation and contribute to needed escalation missions.
     
    What do you need?
    • Software Engineer background (+5 years)
    • Practical knowledge of various aspects of service design like messaging protocols & behavior, caching strategies and software design practices
    • Solid understanding of systems and application design, including the operational trade-offs of various designs
    • Excellent programming skills in Go, and an ability to pick up new programming languages
    • Excellent written and social communication, and documentation skills in English
    • Be adaptable and able to focus on the most straightforward, most efficient & reliable solutions
    • Experience in the Linux environment and a deep understanding of its fundamentals and internals: filesystems and modern memory management, threads and processes, the user/kernel-space divide, networking
    • Exposure to the AWS ecosystem
    • Real world experience with Packer/Terraform
    • Customer service skills and empathy to develop solutions that span multiple teams
    • Work well with and be able to influence a myriad of personalities at all levels
    Bonus
    • Experience building highly-available fault-tolerant distributed systems with microservices, including containerized architectures, application security, monitoring, and storage systems
    • Experience with message brokers (such as RabbitMQ or Kafka)
     
    Perks
    • Stocks
    • Paid conference attendance/travel
    • Heetch credits
    • A Spotify subscription
    • Code retreats and company retreats
    • Travel budget (visit your remote co-workers and our offices)
    Hiring process:
    • Non technical interview with the Engineering Manager of your potential team (1h30)
    • Take home assignment (~5 days deadline)
    • Interview with your future teammates (1h)
    • Day on site (Paris) to meet your future stakeholders
     
     
    Check out our Engineering Blog and follow our twitter :)
    You can also have a look at our open-source projects and contributions here
  • 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!