3 ms·
I work in an academic research institution but my main responsibilities are in traditional relational db modeling, SQL programming, ETL, and data reporting. I
by clusterhacks 6y ago
I work in an academic research institution but my main responsibilities are in traditional relational db modeling, SQL programming, ETL, and data reporting.
I spend about 1/4 time on unsupervised learning. This is mostly about integrating and optimizing clustering (hierarchical and graph-based) packages into tools for data analysts to use. Quite a bit of that is actually literature review - reading and keeping up to date on the latest academic results in this space. Usually, there are packages already developed in C/C++ with Python or R wrappers. I occasionally develop parallel algorithms in C++ when there are obvious multi-core performance advantages not available in a package.
I have BS and MS degrees in computer science. Almost all the RDBMS, SQL, ETL, and reporting tools are self-taught skills that I picked up professionally after leaving graduate school.
I love the high performance computing work but I have found it hard to build a career solely on that work. Lots of research projects don't have funding to support a full-time programmer for that effort and other internal teams support installation and administration of standard tools.
I am really not paid for the HPC work - it is just a nice option available because I am relatively efficient at all the traditional IT work and my workplace is happy to have a little "extra" help on the HPC stuff.