There are hordes of Business Intelligence definitions, but they can all be reduced to one “denominator”: Business Intelligence is a set of processes, tools and technologies that help a business make important decisions based on data analysis. Some experts equate the concepts of Business Analytics and Business Intelligence, but this is a somewhat simplified approach.
The volume of information in the modern world is growing rapidly, and the vast majority of data are stored in electronic format. However, in their “raw” form, such information is of no use. In contrast, processed data are a valuable source of information. They can be used to improve enterprise profitability, identify and manage risks, streamline operations, and identify organizational weaknesses. Structured data help you monitor system and process performance using KPI metrics, improve customer communication, and forecast demand.
BI developer job description
The work of a Business Intelligence specialist can be roughly divided into several stages.
It all starts with working with data sources, which can be either structured or disparate, stored in different systems and different formats. Of course, it is most convenient to work with structured information, which most often comes from relational databases.
The next stage is data preparation or Back End process. The goal of this stage is to extract data from sources and move it to a warehouse for further use. Depending on the chosen architecture, either ETL (extract -> transform -> load) or ELT (extract -> load -> transform) approach is used. This means that the data is cleaned, standardized, transformed, validated and stored in a prepared form.
The final phase is Front End. At this level, you work with pre-prepared data stored in the Data Warehouse (or Data Lake). Using a variety of BI tools (in the Front End context, these are utilities for data visualization), reports, dashboards, scorecards, as well as interactive graphs, maps and diagrams are created. Also, communication with the customer can take place here to clarify what kind of information he/she needs, the formation of infographics or any other research at the request of stakeholders.
Is it one person doing all this?
It all depends on the specific project, its goals and budget. As a rule, in real projects, there are 3-4 main roles. Most often they are performed by different people. Combining related roles is possible, but rarely one engineer is involved in the entire process from start to finish.
To work effectively with data and to scale the system further, they must be carefully and correctly prepared. This is done by the DWBI (or ETL) developer. Such a specialist develops a data model, configures and develops the process of receiving, transforming and loading data into the warehouse, as well as cleaning it for further use in analytics. This person writes code, integrates all tools and processes.
Good knowledge of SQL is extremely important for a DWBI developer as it is the foundation of all tooling. You also need to know the general principles of working with databases, the quality of the code and the final data depends on it. We add an understanding of the principles and skills of building ETL processes and data warehouses, knowledge in the field of Big Data (MapReduce, Hadoop, Spark, etc). For further development in the profession, you will also need cloud skills (AWS, Google Cloud, Microsoft Azure, etc), as well as knowledge of one of the high-level programming languages – Python, Java or Scala.
Data quality engineer
The Data quality engineer evaluates the correctness of the ETL process setup, testing prototypes, writing tests and documentation, checking the product for compliance with customer requirements.
Knowledge of SQL, principles of working with databases, understanding of the principles of building ETL processes and data warehouses is also critical for them. A Quality Engineer should have the same theoretical base as DWBI Developer, but with a focus on testing. Plus, performance testing skills will come in handy, since Business Intelligence involves working with a large amount of data.
Business Intelligence Reporting Developer
Data visualization and reporting is the responsibility of the Business Intelligence Reporting Developer. First of all, this person is engaged in the development of new and support of existing reports and dashboards. Also, his/her responsibilities may include configuring and customizing the BI tools used, tasks to improve the performance of the developed reports.
Such a specialist often works directly with stakeholders, therefore, in addition to owning specific tools for building dashboards (and their number is already in the tens and is growing rapidly), knowledge of SQL and experience working with databases, he/she needs excellent communication skills and confident knowledge of a foreign language when working with international clients.
A similar role is played by the Data analyst, who analyzes information to identify certain dependencies and trends at various stages of working with data. A specialist in this field must be well versed in the project domain – be it medicine, tourism or banking – to correctly draw logical conclusions. Experience in data modeling (UML, logical models) and, of course, SQL and experience with databases will also come in handy.
BI developer responsibilities under a magnifying glass
Let’s have a closer look at the Business Intelligence developer position. The scope of duties usually includes:
Setting business demands
It all starts with the goal and objectives of a particular customer. It is the specifics of each project that determine which business analysis tools will be used.
Converting business issues into technical ones
When the customer’s requirements are collected, they need to be turned into technical specifications. In other words, answer the questions:
- How will the user interact with the platform?
- Do i need a drag and drop interface?
- What will be the visualization system and etc.
Team leading while development, deployment and maintenance stages
Not necessary, but since BI developer is usually aware of all the requirements for the project, he/she can act as a manager or lead.
Reports and data modeling
BI developer executes certain queries in the database and, based on the received data, produces reports in the form of texts or certain visual aids, such as diagrams.
Also, BI developer is responsible for building data models. This is how users will later receive information and what information will be available.
Data warehouse design and its documentation
Although the data structure does not affect the resulting reports, the BI developer competencies can be useful in creating the warehouse for enterprise data.
The warehouse documentation and metadata recorded by the BI developer can later be used, for example, to make strategic decisions.
Making up technical documentation for BI interfaces
Any product is accompanied by technical documentation. The BI developer does not interact directly with users. However, his/her responsibilities include writing a number of recommendations, for example, API documentation, known technical issues, etc.
How to start a career in Business Intelligence?
The basic skill set for beginners is not that big. The basics are SQL, an understanding of the key concepts of relational databases, and the English language. It will also be helpful to understand the algorithms and basic principles of OOP.
In addition to knowing the basics, an advantage will be:
- experience in using relational databases (MySQL, MS SQL, Oracle, PostgreSQL, etc),
- understanding the concepts of Data Warehouse and Data Lake),
- skills in using tools for data visualization and/or BI platforms (Tableau, Power BI, QlikView, etc).
Those who seriously decide to develop in the profession need to be prepared regularly and quickly enough to learn new technologies and tools, including master one of the programming languages, cloud technologies, Business Intelligence platforms, tools from the BigData stack (Hadoop, Hive, Spark), ETL tools (Informatica, Talend, Pentaho), Bash scripting.
We discussed technical skills above, and soft skills are equally important.
BI developers constantly communicate with company executives, so communication skills are very important. They must have a good memory and confidence in their abilities. BI developers spend most of their time at the computer, therefore perseverance, ability to concentrate, high speed and pedantry in work processes dominate in their character.
Useful resources to start
- Top 50 SQL Interview Questions & Answer
- SQL Tutorial – for Beginners and Junior BI developers
- Developing SQL Databases – this is an introductory edX course for those who already have basic IT skills
- Database Concepts – a great source of Database concepts from Oracle Help Center
- Books on Relational DB Concepts (e.g. Tom Kyte about Oracle, Isik Ben-Gan about MS SQL)