This is going to be a series of posts where I intend to dive into the stuff which "formally trained" programmers seem to know.
The easy way to think of it is programmers who have a university education, or similar, where the focus on theory matters a lot. It also feels to me that the old & wise men of programming all just know this and the upcoming generation doesn't seem to have this knowledge. I don't put myself in that group of formally trained, and even after 20 years I don't know these things well enough to hold a conversation about them.
What will I be covering? (these will be linked as the posts go up)
The way we structure data, the advantages and disadvantages of each.
Algorithms are ways of working with data and data structures in a consistent way. The advantage to knowing them is two-fold; First it helps communication since we can all use the same names and secondly it expands our thinking about programming.