I'm trying to train an SVM classifier but I'm quite new to ML. I know there are two steps here: parameter tuning and feature engineering, but which one goes first? It seems this answer suggested do feature engineering first, is it correct? If it's correct, do I randomly pick a set of SVM parameters to do feature engineering?
You have to perform the feature engineering/feature selection first. You have to know what variables you will be using before you can tune the values.
As for how you do the feature selection, that is another question. You can use a technique such as Principal Component Analysis, Singular Value Decomposition or many others. This is an active research area and if you just search on Google you'll find a lot of papers that describe various techniques.
This is a paper that I recently read that uses an entropy based technique for feature selection.