The Alt-Ac Job Beat Newsletter Post 6 2024-01-03

Hi Everyone,

I am back at it after the winter break. A few newsletters ago I mentioned jobs in healthcare are a specific industry to focus on (you can view old newsletters here). Another is jobs in banks (or financial sector more broadly). The area I think criminologists have the most to contribute is via fraud. For example, I was interviewing at Bank of America (before I was hired at current company in healthcare) to work on models to identify who claim their card was stolen, when in fact they were the ones to make the purchases.

My interview at BoA asked questions that most folks who have a quant focus in social science would pass. I was asked about imputation techniques for missing data, PCA, and a Fermi type challenge how I would estimate the potential market size for contact lenses.

Banks and FinTech also have many broader roles than just fraud, but you don't need specialized finance backgrounds. Overall it looks to me that banks are using tabular data models (forests/boosted) and outlier detection methods that better align with social scientists for many of their positions (as opposed to deep learning image/text/audio data that comes up more often in STEM applications).


Job board link

For some of the recent gigs

I am not as familiar with Europe/Canada, but for the few international folks on the list will try to forward opportunities when I see them. (I saw Open Sanctions on the monthly Hackernews job board thread, they have many European companies).


Justin Kurland, PhD from UCL, works for Northwestern Mutual as a data scientist. He works on identifying fraud in life insurance applications.


In SQL, CTE's (Common Table Expressions) are a good tool to be able to chain queries together to make them simpler. For example, say you have transaction level data, and someone wanted you to calculate the days after the first transaction for a person. One way to do it would be:

-- initial CTE
WITH DateAgg AS (
    MIN(date) AS mindate,
  FROM Transactions
  GROUP BY personid

-- final table with difference field
  DATEDIFF('day',,Da.mindate) AS days_ela,
FROM Transactions AS Tr
  ON Tr.personid = Da.personid;

And you can chain together multiple CTE's, like:

/* Breaking up smaller queries to be easier to read */
  Q1 AS (
  ...SQL HERE...), 
  Q2 AS (
     SELECT ... FROM Q1 ...),
  Q3 AS (...)

-- Final query to return the result
SELECT ... FROM Q3 ...

You could pretty much always swap out CTEs and subqueries. But for multiple complicated steps, using CTE's often makes the code much more readable.

Best, Andy Wheeler