Keyskills: software development programming languages data structures algorithms Machine Learning Artificial Intelligence testing software design architecture C Python unsupervised learning clustering anomaly detection data analysis databases operating systems UI design mobile