Feature engineering is the process of creating new input variables for a machine learning algorithm based on the existing "natural" features. After carefully studying the observation characteristics and discussing with the field experts, you may want to create new features. For example, a real estate agent can tell you that, for a given surface area, a house with three bedrooms will cost more than a house with two bedrooms. Does your data already contain a feature that takes into account this information? If not, can you build it from the square footage and the number of bedrooms? These are the kinds of questions that can be answered in this phase of the project.
It is also important to be aware that some algorithms will only perform well on standardized features, meaning the feature distribution must be normal. Before running these algorithms, you need to transform your data so that the distributions match the expected one.