It was recently National Programmer Day in the U.S and we wanted to celebrate the great minds in development who work to not only keep Tractivity running smoothly, but who also make exciting new developments.
Our team is headed up by Development Manager Tom Keep, who joined Tractivity 10 years ago as a junior developer and now manages the development team, designing all enhancements to the system as well as working closely with new clients to get them up and running with Tractivity. We caught up with him to tell us more about the team, what they are working on and to pick up his advice for those starting their careers in development.
Can you introduce us to some of the team to give an overview of the kind of work you undertake?
We have a great team here at Tractivity. Jamie is our Lead Developer and understands Tractivity inside and out. He is the go-to person for technical design and development questions which usually starts with ‘Jamie, is this possible…?’. He is generally allocated the most complicated developments, whilst also mentoring the other developers and undertaking code reviews.
Our developers undertake a wide range of tasks and we endeavour to allocate based on their strengths. For example, Adam is our guru when it comes to database design and efficiency and has recently been working on building our new reporting facility, including the setup of the server, the building of the reports and the designing of the dashboards. People grow in their role as well, for example another developer, Steve joined straight from university and has been with us 5 years. He was responsible for the majority of the development of the Tractivity Surveys software and has built the brand new data upload tool from scratch.
What would surprise people about how new feature development works?
The amount of time that goes into specification, design and testing and how some seemingly simple requirements can translate to weeks or even months of development. It is also interesting for us all to see that even small changes to one area of the system can have large effects on other areas. Our role is all about mitigating any negative effects here!
What has been the most interesting new development for you recently?
Tractivity Version 6 as a whole. This has been the single biggest upgrade to the system in the 10 years that I have been working here. There have been a large number of developers working solely on enhancements for 4 months and we have created a number of great new features. Features that not only help the client, but also that will improve the maintainability of Tractivity moving forwards. Managing the different developers, working on different features, whilst ensuring that all of the changes play nicely together has been an interesting challenge and it’s really fulfilling to see all of the long hours of effort translating into a finalised, working version of Tractivity.
What has been the most challenging and why?
Sharing of data across projects. This development has required a vast amount of changes to the core architecture of Tractivity. Over 6000 files needed to be edited, tested and code reviewed, but it was worth the huge effort from the whole team. Clients will now be able to share stakeholders across multiple projects and view all communications, issues and feedback that have taken place between their organisation and that stakeholder. The individual project data will remain attached to a project, but if the user has access, they will be able to view those interactions from anywhere in the system giving a much better view of engagement with key stakeholders such as MPs.
Finally, what tips would you give to developers who are just beginning their career?
A great developer needs to be intelligent, inquisitive and willing to learn. The development landscape is constantly changing and developers need to keep up with these changes or be left behind. On a daily level there are a few things I have learned. Firstly, it’s the doing that helps you learn. University can teach you a lot, but programming isn’t about memorising things, it’s about working on real life problems. We all use Google extensively throughout the day to help us find and understand the answers to those tricky problems.
It’s also good to rid yourself of the fallacy that a true programmer is someone who only works in isolation. Programming is about being comfortable working in a team and being okay asking for help. Computers are so complex that you simply can’t know everything, and that’s normal. At the same time, thinking with a clear head about any issue before you ask others for help can actually bring clarity to the problem. I like to ask what I think should be happening, what is actually happening and why I think it should be working in a different way. Looking at a problem from this simple standpoint often brings real solutions to mind.
Finally, I would say to any developer in any level of their career that they should always celebrate each success. When you are working with a system that’s as complex and interesting as Tractivity it can be easy to be swept up in the next big development or change, but it’s nice to take time to admire things that have worked really well. Seeing our clients use and appreciate the changes in the system makes it a really interesting and rewarding job.