хорошей практикой будет все-таки сперва определение круга желаемых задач и того что для них надо "закреплять" (развивать)
портирование софта - это analytical & problem solving skills, занимаются этим лохматые китайские-цыганские-германские-... проггеры похожие на роботов по устранению ошибок компиляции (как и реверс-инженеры), да они знают либы и ООП и синтаксисов разных языков могут знать аж кучу,
но как раз в алгоритмах и математике как правило очень тупые, художник и ксерокс совсем не одно и то же
...конечно, далеко не все портировщики таковы, есть менее "прецизионные" и более "творческие" люди, зависит от врожденных особенностей и от того чем заниматься будете, если больше допиливать и чинить чужое чем писать - то таким и будете