Plentific

Plentific is a property management platform for large landlords to control their properties and communicate with their tenants as well as liaise with contractors for maintenance tasks.

Technology

Plentific is a heavy Django user and they use proven technology to achieve rapid development. The technologies I used in this role were as follows:

  • Python3
  • Django
  • Django Rest Framework
  • ReactJS
  • PostgreSQL
  • RabbitMQ
  • Celery
  • Docker
  • Sentry
  • AWS
  • Gitlab

My role

As a senior developer at Plentific, my primary activities consisted in developing and maintaining the main platform's back-end code, as well as writing specifications and planning for the future versions of the platform's APIs.

Docker

Docker was new to Plentific and it was only being looked at by the OPS team when I joined. It quickly dawned on me that the existing developer setup was very complex and error-prone; day-to-day it required a lot of effort to keep a sane dev setup. I worked with the OPS team to make their docker experiments a production reality, and to use the same container setup for development environments. Such that all developers needed to do was to run a docker-compose command and have everything working locally.

API Design

A large project for Plentific was to re-design its main API to be more restful and generally more consistent and nicer to handle. Given my prior experience, I was asked to take and lead and design and guide the implementation of those endpoints.

I wrote a full specification of the expected endpoints and modifications to existing endpoints and participated to the code changes to fulfil those specs.

Mentoring and management

As a senior developer, I was assigned a graduate developer to mentor into the company. I forged a strong relationship with my mentee and eventually the management decided to give me some management duties and let him report directly to me and keep this good dynamic going.

As part of my management duties was to assign tasks, set performance goals and review performance.

Automated testing

Plentific was also experiencing issues with quality consistency at the time, largely due to mostly manual end-to-end testing. I worked together with my mentee to reuse the development docker setup in gitlab-ci and perform automatically the end-to-end tests written with selenium.