I’ve created a Julia package to help people put together data from the Panel Study of Income Dynamics (PSID). Given a simple JSON file describing the variables you want, PSID.jl will look up all the years that variable is available, identify and code missing values, generate consistent labels across time, check whether a variable is meant for the household head or household spouse, and create a panel of individuals linked across time with a consistent ID. You can find it here
https://github.com/aaowens/PSID.jl . Knowledge of Julia is not required. It outputs a CSV which you can open in Stata.