2025 Employer Database Update
Time for our annual employer database update*, when we review the nearly 10,000 organizations in the Biotech-Careers.org database to determine who is still active, who has rebranded, who was acquired, and who has disappeared. We also update (or remove) links to employers’ career and internship pages based on what we find**.
This is also the time when I’m reminded that way too many biotech companies say essentially the same thing:
“We’re an innovative, leading company addressing unmet needs to improve patients’ lives.”
This message is often paired with a large, generic image—patients, DNA, chemicals, or scenic nature — that poorly communicates what the company does.
Biotech is an innovation-driven industry that tackles hard problems with high uncertainty, so there’s inevitably a lot of churn. Some of this churn may even stem from poor communication and branding.
The update process involves a mix of automated and manual review. Many companies with non-informative homepage messages still have useful content buried in About, Science, Technology, or Pipeline pages, so we dig deeper to better represent the biotech sector to our audiences.
The automated part (see workflow below) has four steps:
- Break a long comma-separated value (CSV) list of 9,993 company names, URLs, and database IDs into manageable groups of 1,000 in 10 CSV files.
- Test each URL with an HTTP request. If the URL loads OK, the site is scanned for career or internship pages. If found, the links are written to an Excel spreadsheet along with the company’s name, URL, and database ID, and a status code (has job page or has internship page) is set to 1. If no career or internship page is found, the company’s name, URL, and database ID, with the respective status codes set to 0, are written to the spreadsheet.
- If the URL fails, write the company’s name, URL (as an active link), ID, HTTP response code, redirected URL, and error messages to a separate “failures” sheet, which also includes fields for rebranded names, notes, and a prebuilt Google search link to support manual review.
- Convert the career-link spreadsheet to CSV and use it to update the Biotech-Careers.org database.
The failures spreadsheet is then manually reviewed, annotated, and used to update the database—a slow but essential step.
Companies that no longer exist, or those acquired by organizations already in the database, are unpublished. For companies acquired by organizations not yet in the database, we update the name and URL and review them later. Rebranded companies are handled similarly.
Many organizations change their URLs—sometimes simply switching from http to https, sometimes adopting entirely new domains. A surprising number fail to set up redirects, leaving old links broken. In some cases, the discarded domain now points to domain sales sites, gaming sites, or adult content—not ideal for a biotech company.
A small number of false negatives arise from websites that block automated access, load slowly, or use intrusive cookie pop-ups. Biotech has some excellent science hidden behind some truly frustrating websites.
In total, 1,232 companies were unpublished and 1,366 remained published, with 1,162 of those receiving updates. The table below summarizes the HTTP request failures. It is followed by a diagram summarizing the workflow process. Of the 7395 companies that "passed," 4902 were found to have career pages and 124 have internship pages. They can be found on the Biotech Jobs page.
| Error Type | Unpublished | Published | Total |
|---|---|---|---|
| Acquired by employer in db | 485 | 0 | 485 |
| Acquired by employer not in db | 0 | 140 | 140 |
| False negative | 0 | 204 | 204 |
| New URL | 0 | 824 | 824 |
| Rebranded | 0 | 198 | 198 |
| Website gone | 747 | 0 | 747 |
| Total | 1232 | 1366 | 2598 |
* This year's update was a bit (two years) behind schedule.
** The "finding" is done by a Python script the uses the Beautiful Soup web scraping library. Career and internship pages are found by searching for <a> tags that include one of ('career', 'careers', 'jobs', 'join us', 'work here', 'hiring', 'current openings', 'job listing', 'joinus', 'workhere', 'join-us','work-here', 'work-at', 'job-listing', 'apply-here', 'apply here') for career pages and ('internship', 'interns') for internship pages.