A Developer's Tools of the Trade

This article will highlight the systems and programmes used in the daily life of a developer at Nova Futur. We’ll have a look at the tools used, what they are used for and we'll hear how a few of our new joiners have felt about adapting to our system of work.

Slack

It is so important to have easy communication and connectivity within a company. Considering we have offices in London, Rome and Lecce it is especially pertinent to make communication as convenient and seamless as possible. To do this we use Slack daily to message one another. Through Slack you can send a private message, have a quick call, easily send code and share company-wide messages on specialised channels. It is also great for moral boosts as we have developed an “appreciation channel” used to acknowledge and commend the work of others.

Google Hangouts 

Google Hangouts has been especially useful during lockdown to maintain the daily morning stand-ups as well as all other meetings both internally and with external clients of the company. The ability to check the calendar of other participants to the meeting prior to it to ensure everyone is available has been especially helpful, all information about the meetings are kept private but you are able to easily check availability to prevent double-booking. 

Zoom

We also use Zoom though this is primarily reserved for larger company-wide meetings on a Friday afternoon. During this meeting, a different team each week presents what they have been working on recently to the rest of the company, after which there are questions and open discussion is highly encouraged. This initiative was introduced since working from home became mandatory but has been very successful to increase connectivity, communication and a feel of togetherness within the company. 

Google Drive

Nova Futur has a G Suite Google business account, everyone within the company has a business email address connected to this account which has made sharing documentation as easy as possible. It is also through this account we can check other people’s schedules as it is connected to the google calendar and google hangouts. All in all a very useful system.

Jira

Jira is the holy grail of project management tools for our developers. Most likely you have used Jira before but if you have not, it is fairly easy to get the hang of. We use the Kanban Board System to work through our sprints, a sprint being a set of tasks that need to be completed within a set time period. A task is completed and defined as UAT Ready when it has progressed through all the stages possible: “To Do”, “Needs Attention”, “In progress”, “Code Review”, “Code Reviewed”, “To Be Tested”, “Testing” and finally “UAT Ready”. All tasks are separated into ‘tickets’ with a set estimated time-span for getting the tickets completed. Developers pick the ticket they are going to work on one by one and methodically work through them. Following completion of the sprint which usually takes a fortnight, there are code reviews and quality assurance (QA) testing to check that the new code works and the requirements have been met. Once this has been done the whole process begins again.

Interactive/Integrated Development Environment: VSCode, IntelliJ IDEA, PyCharm, JupyterLab

These are what our developers and Data Scientists use to write their code. They have Github embedded which makes it significantly easier to test the code. Most code is written in Java Script but our Data Scientists primarily use Python.

Github

Github is connected to Jira and is used for ‘version control’. What this means is it allows our developers to work on a ticket and ensure the code works before merging it to the production code.  You implement  your code in a branch of the original and check it all works then combine it with the main code, it will only copy over the changes. Each branch is named after a Jira ticket so they are easy to track and access. Github is an essential tool in the role of a developer. 

Postman

Postman is extremely useful to make HTML requests without the hassle of having to write lots of code just to check an API’s functionality.

Figma

Our design team use Figma instead of Sketch for many reasons, primarily because of its file sharing capabilities similar to that of Google Docs. The ability to use Figma in the browser means that multiple designers can collaborate simultaneously from separate computers regardless of whether it is a Mac system or Windows, this is known as “Live collaboration”. The developers can access the designs on Figma and use them to build the front-end.

TablePlus 

TablePlus is a very useful tool for our developers that allows them to organise and administrate their databases. 

All of these systems may seem overwhelming if you are not accustomed to using them daily. We asked our newcomers how they felt and were pleased at the 100% acceptance rating with all feedback mentioning how easy it was to introduce new systems into their working lives. It should also be noted that all employees have the freedom to use any systems or components they wish to while working so long as it can integregrate with the rest of their team’s work. This means that even if something you find useful is not listed here you can continue to use it if you find it beneficial to you.

If this has peaked your interest into joining our company, have a look at our Careers page to see what positions are available.

Written by:
Aoife McCardle
Marco Seoane