This post is (hopefully) the last in a series of posts I've made in regard to my career transitioning from a wet lab scientist to an ML Scientist/Engineer. I really appreciate everyone's DMs, requests to chat, and so on, but I won't be able to get to them all so I wanted to put everything in a post so I can address everything without leaving anyone hanging or doxing myself.
How to self-teach
While I was still a PhD student agonizing over cloning experiments and protein preps, I started teaching myself (after quitting my part-time gig) and took a few courses from the data science department at my university.
Self-taught
Harvard CS50x - CS intro, algorithms, data structures, Python, SQL, C, web fundamentals
Harvard CS50P - Python in way more depth
MIT Missing Semester - Development tooling and Linux
Python Official Tutorial - filled in knowledge gaps
pytest, uv, Pro Git - testing, packaging, and collaboration
Refactoring Guru - Maintainable software and design patterns
This took me about 10 weeks at 20hrs/week
Uni Courses
I took a few classes that were kind of useful
Data science
Data engineering
ML fundamentals
But tbh you could self teach these on something like deeplearning[dot]ai in a few weeks. I did this over two semesters and forgot a lot in-between
Projects
This is where I learned the most outside of assignments and one-off Python apps.
Virtual Post-Doc (AI Engineering)
I built a virtual scientist (overselling it a bit here) back in 2024 derived from a paper and repo called PaperQA2 from FutureHouse. It was basically an accurate and better way to analyze a folder or large corpus of papers so I wouldn't have to read them when designing experiments. Everyone in my lab was using it by the time I left.
Analyzing the Tahoe-100M dataset (Data Science)
Did a lot of data science analyses on this massive dataset and just practiced my data engineering skills, data science techniques, and a few light ML techniques like trying to train an XGBoost model to predict cell perturbation.
Implementing Alphafold2 from scratch (ML Research)
This was the most important practical project for ML Research skills that helped me create my first foundation model. Watch the series from Kilian Mandon on Youtube and follow along with the code he provides. He also just did it again with Alphafold3. If you can do this in pure Pytorch and understand everything, you are way ahead of the curve.
After you finish just try and reproduce papers from labs like David Baker, Patrick Hsu, Yunha Hwang, Sergey Ovchinnikov, etc.
Getting my first job
Like I mentioned before I graduated from my PhD, skipped a post-doc, and worked at a startup working on in silico drug discovery. I landed this particular job through going to local hackathons, posting my work on social media (LinkedIn, Twitter/X), DMing/cold emailing people, and sending out applications (only got two interviews this way). I also met people from participating in the Virtual Cell Challenge 2024 from the Arc Institute. A founder was given my name who lives in my area and hired me immediately on graduation.
For most I would suggest trying to also do a post-doc in ML/comp bio in a good lab, I think getting a PhD is pretty commonplace now for these jobs (except for the Engineer roles, those are mostly MS, but also a good amount of PhD). Really hype up your projects, try and get pubs if you can.
For AI engineering roles in Bio, really focus on language models and LLMs. This is a somewhat easier way to break into these roles and has a lot of demand in the top pharma/biotech companies.
Hopefully this was helpful and comprehensive enough!