화학공학 석사가 프론트엔드 개발자로서 배운 것 (씨젠
2025. 1. 23.
안녕하세요. 컨시언스 파트너스에서 프론트엔드 개발자로 일하고 있는 이혜진이라고 합니다.
저는 화학공학과 석사를 졸업하고 연구원으로 4년 간 재직한 경험이 있습니다. 개발자와는 전혀 다른 분야라고 생각되는 저의 경험이 어떻게 도움이 되었는지 나누어 보려고 합니다.
개발할 프로그램은 PCR 기기의 프로그램이었어요. 코로나 기간동안 많이 알려진 방법이었죠. PCR은 채취한 검체의 DNA를 복제해 증폭한 후 해당 DNA가 있는지 확인하는 방법이에요. 바이러스는 감염된 사람의 DNA에 자신의 DNA를 넣을 수 있기 때문에 이 PCR로 측정이 가능합니다.
PCR은 전문가들이 사용하는 장비에요. 측정센터나 병원에서 특히 많이 사용하구요. 감염을 확인하기 위해서다보니 꼭 필요한 장비입니다. 이 장비의 결과를 잘 확인하고, 관리하기 위해서는 관련 프로그램이 필요해요. 기계가 주는 결과를 사람들이 이해할 수 있는 결과로 만들고 손쉽게 다룰 수 있게 하기 위해서입니다. 하지만 이처럼 전문지식이 필요한 프로그램을 작성할 때 배경지식이 없다면 흐름을 이해하기 어려울 수 있어요.
저는 화학공학 석사 학위 가지고 있고 실험으로 화학물질의 위해성을 평가하는 일을 4년간 해왔어요. 화학물질과 생물에 대한 이해가 두루 필요한 일이죠. 실험 결과를 측정하기 위해 기기를 다룬 경험도 많습니다. 기기마다 측정하는 것도 결과도 서로 다르지만 공통적으로 필요한 값이 있습니다.
측정 기기에서 공통적으로 필요한 내용
측정 기기에 대한 정보를 알 수 있습니다.
측정 기기는 기기의 상태에 대한 값을 추출할 수 있습니다.
측정 결과의 원본값을 저장하는 공간이 별도로 마련되어 있습니다.
측정할 때는 어느 항목이 측정중인지 표시해야 합니다.
측정을 준비하는 시간이 필요합니다. 높은 온도가 필요하다면 온도가 올라가는 시간을, 압력이 필요하다면 압력이 올라가는 시간이 필요하죠. 끝나고 나서도 기기를 다시 안정시키기 위한 시간이 필요해요.
소모품의 기한을 표시할 수 있는 기능이 있습니다.
오류가 발생하면 오류 코드와 예상되는 원인을 표시합니다.
이런 공통점은 여러 기기를 사용한 뒤에 알 수 있는 항목이에요. 화학공학은 개발과 쉽게 연관되는 항목이 아니죠. 하지만 이런 전문적인 배경지식을 가지고 있다면 데이터 흐름을 이해하는데 도움이 됩니다.
아래 그림은 PCR 과정에 대한 스키마입니다. PCR 과정은 온도가 필요한 과정임을 알 수 있습니다. DNA를 복제하기 위해 해당 사이클은 반복되어서 사용될 것이고, 각 과정마다 온도가 변경됩니다. 따라서 데이터 흐름상 측정 후 온도를 상온까지 내려주는 과정이 있을 것이라고 예상할 수 있습니다. 이 경우 데이터가 기기에서 어떻게 보내주고 있는지에 대한 확인이 필요합니다.

출처: https://www.enzo.com/note/what-are-the-differences-between-pcr-rt-pcr-qpcr-and-rt-qpcr/
기기의 정보는 왜 필요할까요? 오류가 발생한 것이 아닌데도 기기의 값이 필요할까요? 네 필요합니다. 기기를 어떻게 설정하느냐에 따라 결과가 달라질 수 있어요. 추출하는 시간을 다르게 하면 같은 시료인데도 다른 값이 나올 수 있습니다. 표준에 맞는 결과가 중요한 이유입니다. 국제표준화기구(ISO, International and European Standardisation Organisations)에서는 식품을 안전하게 관리하기 위해 미생물 측정에 대한 방법을 제시하고 있어요. EN ISO standard method 10272 등이 이에 해당합니다. 따라서 기기 정보는 측정할 때마다 각각 저장해야 하고, 수정할 수 없는 원본 데이터를 가지고 있어야 합니다.
이처럼 프로젝트에 대한 배경지식은 프로젝트를 깊이 있게 이해하고, 목적을 명확하게 알게 합니다. 저와 같이 직장생활의 경험이 아니더라도, 사진에 대한 프로젝트가 있다면 사진에 취미가 있으신 분이 더 잘 이해할 수 있는 것처럼요. 새로운 기술을 배우는 것 뿐만 아니라 다양한 분야에 대한 관심도 개발자에게는 중요한 부분인 것 같습니다.