Skip to main content

Aspiring KDB/Q Developers: Your Path to Mastery

Before we start

Just like learning to walk before running, mastering KDB/Q starts with getting the basics right. Before diving into advanced topics, ensure you’ve covered the essentials. If you haven’t yet, check out the Pre-School study plan here. I encourage you to work through it and make sure you’re comfortable with the foundational concepts.

Becoming a senior developer or Subject Matter Expert (SME) in any field requires years, if not decades, of experience, and KDB/Q is no exception. While you can learn and understand the language fairly quickly, true expertise only comes with time. The following study plan is designed to deepen your understanding of the KDB/Q programming language, a typical KDB/Q Tick platform, and common coding practices. Although it’s extensive, it’s by no means exhaustive—learning never really ends. There will always be new techniques, tips, and hidden functionalities to discover, whether through hands-on practice, reading everything KDB/Q-related, or studying other people's code. Enjoy the journey and make the most of it!

Core KDB/Q Knowledge

Q for Mortals

In my experience, the best way to start learning KDB/Q is still by diving into Q for Mortals. I recommend breaking the book down into three main sections, working through each one fully before moving to the next. Here’s how I’d structure it:

tip

After completing each section, take time to solidify the concepts covered. Review any areas where you feel less confident and work through the examples in the book to reinforce your understanding.

Once you've covered everything above, you're ready to progress to the next section.

DefconQ - Q made easy

DefconQ is the KDB/Q tech blog I launched in September 2023, just over a year ago. As a mostly self-taught KDB/Q enthusiast, I’ve experienced the steep learning curve firsthand. Driven by my passion for teaching, I created DefconQ to simplify and break down complex KDB/Q concepts. The blog posts below are designed to complement Q for Mortals.

tip

Just a reminder: this blog post is here to support you on your KDB/Q learning journey. How to Read, Understand and Learn KDB/Q code

The material above should deepen your understanding of key KDB/Q concepts and support your development as a more proficient KDB/Q developer.

Q Tips: Fast, Scalable and Maintainable Kdb+

My second favorite KDB/Q book is Q-Tips: Fast, Scalable, and Maintainable KDB+ by Nick Psaris. I strongly believe it's a must-read for every KDB/Q developer, offering invaluable insights and skills. However, it’s not ideal for complete beginners; I recommend working through the foundational content above before diving into this book.

You can get a hardcopy of the book here: Q-Tips: Fast, Scalable, and Maintainable KDB+

KX Academy

Everyone has unique learning preferences; some of us are more visual learners and thrive with a classroom-style approach. If you prefer video tutorials over reading materials, the KX Academy offers an ideal platform. The following courses cover similar content to Q for Mortals and can be used as an alternative or as a complementary resource to enhance your learning experience.

KX Whitepapers and Advanced Material on code.kx.com

KX Whitepapers are concise technical papers that delve into core concepts of the KDB/Q programming language, architectural design, or practical applications. The following whitepapers specifically focus on the language aspects of KDB/Q, and I highly recommend exploring them once you’re comfortable with the basics.

Additionally, code.kx.com offers sections with more advanced material, which are well worth exploring.

KDB/Q Tick Architecture, Design and Big Data Platforms

Mastering the KDB/Q programming language is just one part of becoming a skilled KDB/Q developer. As you gain experience and transition into a more senior role, it’s essential to start engaging in architectural and design decisions, contributing to the broader structure of a typical KDB/Q Tick Application. The following section offers learning resources to build the knowledge you’ll need to excel in these areas.

Database Maintenance

A core responsibility of a KDB/Q developer is maintaining the Historical Database (HDB), including updating table schemas as needed. While this may sound complex, the process is simplified with KX's dbmaint.q database maintenance script. Below, you'll find resources on dbmaint.q and guidance on managing bloated sym files—a common challenge for KDB/Q developers.

Data Intellect's TorQ Framework

Data Intellect is a technology consultancy with over a decade of experience in KDB/Q development, home to some of the industry’s brightest KDB/Q developers. They offer a free, production-ready KDB/Q Tick framework called TorQ. The TorQ documentation provides invaluable insights into designing, building, and implementing advanced KDB/Q applications, and its rich codebase exemplifies strong KDB/Q practices. Reviewing this framework can be a highly effective way to learn from real-world, well-structured code. Access the TorQ documentation and source code through the links provided below.

Data Visualisation

When working with big data, it’s often helpful to start with a visual overview of your data, or at least a subset of it (since visualizing all data in one graph is rarely practical). Having data visualization tools in your toolkit can be invaluable. Below are two options: KX’s native tool, KX Dashboard, and an alternative visualization tool, Pulse, by Timestored, which is versatile and compatible with multiple databases, including KDB/Q.

KX Products, Tools and others

As a KDB/Q developer, you’re likely to work with the full suite of products KX offers. Additionally, with many clients adopting cloud-based data strategies, it’s advantageous to become familiar with the cloud solutions available. The following section includes resources to help you explore these topics further. Note: Some KX tools require a commercial license.

Data Intellect Blog: KDB/Q and beyond

If you’ve worked through all the material above, you’ve already covered some of the best KDB/Q resources available. One last recommendation is to follow the blog by Data Intellect. It offers not only valuable insights into KDB/Q but also covers surrounding technologies—alternative databases, integration tools, and general KDB/Q knowledge. Data Intellect’s blog is definitely worth keeping on your radar.