Engineer.
This is a post going over the differences between various elements of Solidity that are commonly mistaken such as mappings vs. arrays, visibility options, and interfaces vs. contracts.
This is a post about what structs in Solidity are.