, ,

My comment on Nine secrets you should have been taught as part of your undergraduate statistics degree  via StatsLife follows.

Since you asked, I have a few additional suggestions.

For statistics students

Even if your interest is in mathematical statistics, do take at least one course in observational methods. Statistics for sociologists might seem tedious; it did to me! It is sufficiently different, e.g. Chi-squared, SPSS, that you’ll be happily surprised you had some exposure to it, even years later.

Secret 6 of 9 is excellent advice. Statistics and probability theory give you a cabinet of analytic tools. In the workplace, you’ll have the freedom
and the responsibility to decide which inference test or model is best, given the problem and available data. It is fun and exciting!

While reading that entry from the Opinion section of StatsLife, a pleasingly casual publication of The Royal Statistical Society, I noticed that it referenced another helpful list, 10 Secrets You Should Have Learned with Your Software Engineering Degree – But Probably Didn’t. Given the spirited and seemingly interminable debate about NoSQL versus traditional relational database management systems, I found Secret 5 of Software Engineering amusing and ironic.

Secret 5: SQL

Question: All the SQL I know I learned on the job. Why are databases an elective? What doesn’t use a database?
Answer: The era of storing data in flat files is over. Everything goes into and out of a database. SQL is used to retrieve it. SQL is also a declarative language, not a procedural language, and so requires learning a new way of thinking about problem solving. Every programmer should understand the basics of database normalization and SELECTs, basic INNER and OUTER JOINs, INSERTs, UPDATEs and DELETEs.


In the NoSQL ecosystem, MongoDB is particularly famous for its speed but less so for… many things, e.g. no schema, no JOINs. In recognition of such, I have included the infamous “MongoDB is Web Scale” video. It underscores the importance of several entries in the “10 secrets of software engineering education” post! For reinforced concept understanding, the video’s creator devoted an entire website, MongoDB is web scale to the transcript and back story.

Warning! Some NSFW language; visual is safe for all ages

What IS web scale?

There even seems to be some confusion about that over on Serverfault, see MongoDB: What does web scale mean?

I’ll try to be serious for a moment. MongoDB is touted as a document database, not a table database. Also, remember that NoSQL is often used as a general term for a non-relational database. NoSQL means “not only SQL” rather than “absolutely no SQL is allowed”!