Newground operate a web application, Legislation Update Service, which helps organisations manage their compliance with a range of legislation.

Projects I have worked on include:

  • Debugging firewall rules.
  • Assisting with migration to a cloud hosting provider.
  • Improving internal search results.
  • Refactoring of legacy code.

I also review pull requests from other developers and take part in weekly stand-ups.

Performance analysis and optimisation

One of the areas I have focused on is performance analysis and optimisation, at both the application and database level. These involved using the general and slow query logs in MySQL to identify and fix:

  • Query that was being run 1000 times on each page that could be collapsed into a single query.
  • Missing indexes that when added reduced a query from a full table scan to an index scan.

I also used Xdebug’s profiling mode to analyse function calls, which resulted in the identification of a single function that was called thousands of time per page, even though the data returned did not change between calls. This was fixed by moving the data into a Redis cache which was only refreshed when the data changed.