Sunday, January 22, 2017

Are You a Thinking Data Professional?

Note: The following was intended as a comment to my post Don't Design Databases without Foundation Knowledge and Conceptual Models  by Todd Everett. He is a reader I deem a "thinking data professional" -- always the qualitative rather than quantitative target of my writings and teachings. It merits to be a post in its own right to benefit others.

I have been using the proceeds from my monthly blog @AllAnalytics to maintain DBDebunk and keep it free. Unfortunately, AllAnalytics has been discontinued. I appeal to my readers, particularly regular ones: If you deem this site worthy of continuing, please support its upkeep. A regular monthly contribution will ensure this unique material unavailable anywhere else will continue to be free. A generous reader has offered to match all contributions, so please take advantage of his generosity. Thanks.

I'm sure the author of the first reply meant well and tried hard. Your clarification on a point mistaken (pointed out also by Erwin Smout on StackExchange) is very helpful and shows the necessity not only of patient study but of the repetition of that study and periodic return to the most basic fundamentals even when you believe you have mastered them. Thanks for this. (Ed. Note: Repetition is useful, but the critical element in education is feedback from direct interaction with other students and good teachers. This is one reason I consider the substitution of online self-learning/automated courses for traditional education a serious costly mistake.)

A while ago, as I spent more time reading this blog, I developed for myself a framework to improve as a data professional. It involved breaking the learning down into four distinct parts--fundamentals, disciplines, technologies and tools. So let's say as a data professional I realize my fundamentals are math and logic, my disciplines are conceptual modeling and database design, my technology is Oracle and my tools are the Oracle Data  Modeler (misnamed as it is) and Oracle SQL Developer.

So I set about improving on all of these. What I discovered was I was spending most of my time on the technologies and tools (which after all are the most fun) and very little time on the fundamentals. Despite my efforts I could never achieve the skill of my better colleagues. Then I had an epiphany one day. Those colleagues to whom I aspired all had degrees in mathematics. And CJD is a mathematician. And of course Codd had a PhD in  mathematics. And DMG is a physicist and logistician. And on and on.

And so I resolved to focus all my available learning time on fundamentals, and once those were shored up to move on to disciplines, and only then back to technologies and tools. Turns out I had to back up all the way to basic algebra, finding deficiencies in my ability to understand quadratic equations and factoring, back to some basic arithmetic as well. Now this is depressing (to have to back up to the 8th grade no less), but also liberating. It confirms what dbdebunk is all about: 

  • You can't use technologies and tools to effectively practice a discipline without fundamentals;
  • K-12 schools are missing the boat when they want to teach kids to code instead of focusing on basic math and logic;
  • Universities are missing the boat when they have degree programs sponsored by Cisco and Oracle where the majority of the learning is on those technologies instead of on the disciplines of database design or algorithm design;
  • It is possible for me and professionals just like me to achieve higher levels of skill in the practice of the data management profession if we just stop listening to the siren song of the industry to learn the next technology or tool and instead focus on the fundamentals, and seek out sources, like this blog and the writings of those endorsed here, that teach the disciplines of data management grounded in those fundamentals.
Ed. Note: Shortly after I received the above comments from Todd, I came across a news item about Donald Knuth (79) still Previewing New Math Section For His ART OF COMPUTER PROGRAMMING--check out the comments! Sadly, one of the commenters had this to say:
"Donald Knuth is an elitist. It is not necessary to have a background in mathematics to write software. I taught myself PHP and I certainly don't have any kind of mathematics background whatsoever. It isn't dumbing down as he claims. It's about creating opportunities. If you can code and you can do it well without mathematics, so be it. The math side is for those that want to do research. I work in the real world..."
Unfortunately, the consequence of the collapse of the Western education system (just now in Sillicon Valley: San Francisco Middle Schools No Longer Teaching ‘Algebra 1’) is the proliferation of this type of unthinking "professional".
"Wow. I first met Don Knuth about 1979. That anyone could be so unthinking as to call him an elitist, or to eschew learning real computer science over learning PHP or any language, is mind boggling. The very fact that Knuth has spent so many years in trying to organize and purvey knowledge to anyone willing to look makes him the opposite of an elitist. I suspect the commenter doesn’t open dictionaries any more often than he does highly regarded books on computer science.
I once evaluated a new would-be product for John Scully when he was CEO at Apple. The product claimed to do things that Don’s early books explained were not possible for any algorithm. Because of that knowledge, I was able to show quickly that the results achieved were a very special, very fragile case and dissuade Apple from investing in the product."--David McGoveran

No comments:

Post a Comment

View My Stats