The Alt-Ac Job Beat Newsletter Post 10
Hi Everyone,
My advice this week is that many things seem complicated offhand, to the point of it seems hopeless to attempt to even begin to understand. But when you peak under the hood at many production systems, it is not that complicated and often duct taped together. (So even if the outside looks very nice, it may be a mess and not well thought out on the inside.)
I don't say that to be derogatory, I say it to mean that if you were able to get a PhD, you can teach yourself the vast majority of technical material if you put your mind to it -- you just need to devote sufficient effort. Coding a website, figuring out how to craft deep learning models, learning pyspark to process distributed large data -- to get to a more than a proficient level for most data science jobs IMO would take 2-6 months of study for most people on this list.
JOBS
For some of the recent gigs:
- Elder Research is a small consulting firm that consults with public sector
- Mercury is a FinTech startup (head of dashboards)
- ICF is a business consulting firm that has many social science oriented positions
Note that many of these are out of date by the time the newsletter comes out -- I take these as more useful to checkout companies and other positions of interest.
EXAMPLE SCIENTIST
Brian Lande, is currently a Sergeant at the Kensington police department. PhD in sociology from Berkeley, he is also a founder of a startup that does analytics on body-worn-camera footage.
Brian is building something that to me is an example of the seems too complex lesson -- if you asked me 10 years ago to analyze BWC footage and audio, I would have said that is hopelessly beyond my ken. It still is currently beyond my ken, but I know now if I devoted 6 months to really learning audio analytics I would be able to build custom deep learning models to parse out interactions in BWC footage using just the internet. Brian is applying his PhD knowledge of social interactions, but I am pretty sure he didn't learn the coding skills he needed to build his startup at Berkeley, he went and figured that out on his own.
TECH ADVICE
In code, you should not have passwords saved in plain text, e.g. you should not have in your code anywhere:
# python sqlalchemy to postgres example
user= 'andyw'
pwd = 'super!secret?$pwd'
con_str = f'postgresql://{user}:{pwd}@ipaddress/postgres'
The most common way software engineers handle this is via environment variables. So in python, it would look something like:
# python reading in env variables
import os
user= os.environ.get('APP_USERNAME')
pwd = os.environ.get('APP_PWD')
con_str = f'postgresql://{user}:{pwd}@ipaddress/postgres'
And then you are expected to set up your local environment so these variables are available. For your local computer, you can either set the environment variables globally, or sometimes people use a .env
local setup. Many production systems have what is called a secrets manager, and those secrets managers are where you put in the environment variables.
Best, Andy Wheeler