What do developers need to know about data management? Your first thought may be: not much. After all, developers typically write applications. Figuring out how to store, secure, integrate, transform and govern data is a task that usually falls to engineers who specialize in data management. But developers can make the jobs of data engineers easier--and improve outcomes for users and the business as a whole--by adhering to some core data management best practices when it comes to data management.
This article walks through several data management best practices to highlight the role developers can play in making overall data management more secure, less costly and more efficient.
1. Make Data Storage-Agnostic
No one loves an application that requires data to be stored in a specific, rigid way. And, yet, many such applications still exist.
It’s easy to understand why: Applications are often easier to write, deploy and update when they can count on data (like configuration files or access credentials) to be structured in a specific way or stored in a particular type of database.
But data that needs to be stored in a certain way is harder to manage. It may also be more costly to store because it makes it difficult to take advantage of the most cost-efficient storage options.
The best applications can support a wide variety of storage types and formats. By making their applications agnostic with regard to how they store data, developers can simplify data management as a whole.
2. Bake Data Security into Applications
More than a few data security issues arise from mistakes that are external to applications themselves. You might accidentally create an IAM rule that allows public access to sensitive cloud data, for instance, or fail to encrypt data.
Developers aren’t responsible for mistakes like these. But they can help to mitigate their impact by handling data security at the application level, to the extent possible.
For example, instead of creating an app that spits out sensitive data in plaintext and assumes an IT engineer or data engineer will encrypt it, have the app encrypt it by default. That’s not particularly hard to do in most cases, and it reduces the risk of oversights that can lead to data security issues after applications are done processing data.
3. Store Data Only with Good Reason
Developers tend to like having applications that spew out as much data as they can. After all, it’s not on the developers to figure out how to store and manage all of that data securely and cost-effectively.
Although there are plenty of good reasons for generating data from applications, developers should think strategically about which data their applications produce. There may just not be a good reason to save a particular file or log a particular event. More data just means more problems if the data doesn’t serve any useful purpose.
4. Include Data Controls in Applications
The more controls you insert into your application that allow stakeholders to customize how data is produced and processed data, the easier it is for users to manage data effectively.
Inserting data controls in applications means providing options that govern which types of data are produced, how the data is structured, and so on. For example, if you let users (or data engineers, in the case that they are not end users) require that personal data be anonymized before it is written to a database, you make it easier to secure data at the application level, instead of having to do it separately.
Developers may not play a leading role in data management. But because developers bear primarily responsibility for designing and building the applications that generate and process data, they are in a position to lay the foundation for optimal data management within their organizations. For that reason, it’s worth thinking carefully as a developer about how applications manage data, and where applications fit within broader data management workflows and data management best practices.