PhD in Electrical Engineering, Computer Science, Computer Engineering or related field; Proficiency in at least 1 hard programming language (C/C++, Java, etc.); Experience implementing solutions using any of the following unsupervised methods: Clustering (k-nearest neighbor, DBSCAN, Dirichlet, etc.), autocorrelation, Deep learning methods (DNNs, CNNs, RNNs, LSTMs, etc.) and packages (TensorFlow, Theano, Torch, Caffe, Neon, etc.), GMMs, HMMs, etc. Experience implementing solutions using at least 2 of the following supervised methods: SVM/SVR, fuzzy systems (TSK, etc.), tree ensemble methods (Bayesian, bagging, boosting, etc.), NNs (supervised), others; Experience applying advanced math and statistics, especially optimization and related linear algebra techniques.