During a random conversation with someone who was recently interviewing a lot of KCA certificate holders it became clear that that had no idea how to do problem determination in general and even less clue how to write even a simple shell script. Truth is, it warmed my heart. I was leery about teaching shell scripting as a first language (along with the Linux terminal) and I could not be more free from that doubt now. Learning POSIX shell first, and bash almost immediately after that should always be the first languages any technologist learns. Even if you think all you are going to do is create web sites, you will be using the terminal in any technical profession today and as soon as you touch the command line you are coding in shell. Might as well learn the rest of it so your terminal usage is all that much better. It is really crucial to get those skills in early because like scales on the guitar, if you don’t learn those skills early you bake in alternatives that are never quite right. Unfortunately, almost no organizations are teaching any shell skills until far too late, and those that do don’t even know how to use the fucking shell in the first place.