Predictive maintenance strives to maximize the availability of engineering systems. Over the last decade, machine learning has started to play a pivotal role in the domain to predict failures in machines and thus contribute to predictive maintenance. Ample approaches have been proposed to exploit machine learning based on sensory data obtained from engineering systems. Traditionally, these were based on feature engineering from the data followed by the application of a traditional machine learning algorithm. Recently, also deep learning approaches that are able to extract the features automatically have been utilized (including LSTMs and Convolutional Neural Networks), showing promising results. However, deep learning approaches need a substantial amount of data to be effective. Also, novel developments in deep learning architectures for time series have not been applied to predictive maintenance so far. In this paper, we compare a variety of different traditional machine learning and deep learning approaches to a representative (and modestly sized) predictive maintenance dataset and study their differences. In the deep learning approaches, we include a recently proposed approach that has not been tested for predictive maintenance yet: the temporal convolutional neural network. We compare the approaches over different sizes of the training dataset. The results show that, when the data is scarce, the temporal convolutional network performs better than the common deep learning approaches applied to predictive maintenance. However, it does not beat the more traditional feature engineering based approaches.