Graduate kdb+ Developer
A kdb+ developer builds systems using kdb+, a time series database used for collating, analysing and storing large datasets – sometimes in excess of billions of rows of data! kdb+ developers are involved at all stages of the software development life cycle; planning, analysis, design, implementation, testing and maintenance.
A client system using kdb+ usually handles large amounts of real-time and historical data. Data can come from a range of sources – for example stock prices on the financial markets, the usage of electricity from an energy storage facility and in AquaQ we even measured the usage of the Belfast bikes!
kdb+ developers need good logical and analytical minds to write quick and efficient code using q, the terse but powerful functional programming language built-in to kdb+. Because of the terseness and expressiveness of q, kdb+ developers will spend much of their time thinking about the best way to approach problems with the results being a few lines of code, rather than writing hundreds or thousands of lines of code as can be the case for developers using other technologies and languages.
As part of the role, developers often interact with project managers and clients as well as support and infrastructure teams, so good communication skills are needed. Developers will work with project managers to understand requirements, set expectations and manage tasks; and with support teams to help diagnose and fix any issues or bugs that may have been found.
kdb+ developers will work on maintaining and improving existing systems as well as designing and building new systems. Problem solving ability is an essential skill for fixing issues in existing code as well as when implementing new features.