To the researcher, the most important skill is understanding how a machine learning algorithm works at a high level. Following this, understanding data structures is the most important. From there, an actual algorithm may be written.
Of note would be the difference between data representation and data structure. Perhaps some day in the future—hopefully not too far from now—we will have programming languages where data representation does not matter. But now, data representation still matters. A good representation will yield an efficient algorithm. A poor representation yields poor algorithm performance.
For the most part, my advice is to start simple, by making things as understandable as possible as first. Then start subtracting ...