펌웨어 엔지니어 입니다.
페이지 정보
본문
미국에서 밥벌이 하고 있는 펌웨어 엔지니어 입니다.
임베디드 리눅스나 RTOS 위에서 돌아가는 어플리케이션 (제 입장에서는 얘네들도 어플리케이션이라..ㅎㅎ) 개발이 아니라 진짜 쌩으로 bare metal에서부터 chip bringup 하는 쌩짜 펌웨어 개발이 제 일입니다.
하드웨어 팀에서 새 칩을 디자인하면 FPGA 단계부터 제가 속한 팀과 함께 부트로더부터 브링업하기 시작합니다. FPGA 부트로더 코드를 기반으로 다른 팀에서는 부트롬 작업도 같이 시작하지요.
그 이후로는 블럭 쌓듯이 차곡차곡 레이어를 올리면서 궁극에는 운영체제가 올라갑니다.
한국에서는 펌웨어 개발자가 이 정도로 저수준 작업을 할 수 있는 기회가 별로 없어요. 칩을 디자인해서 만드는 회사가 많아야 이런 쌩짜 펌웨어 엔지니어 수요도 많은데 한국은 반도체 강국이라는 수식어가 무색하게 칩을 만드는 회사가 정말 없거든요. 흔히 말하는 팹리스들 말이죠.
있어도 영세 업체들입니다. 대기업 중엔 삼성이나 하이닉스에서 시스템 반도체를 하긴 합니다. 저도 물론 두 회사를 모두 거쳤고요. 하지만 이 두 회사가 끝입니다. 퀄컴이나 브로드컴 같은 회사가 한국에도 필요해요. 대만 미디어택 반에 반 정도만 되는 회사라도 한국에 있었으면 좋겠어요.
제가 미국에서 밥벌이 하는 이유이기도 합니다. 삼성, 하이닉스 거쳤더니 갈 회사가 없더군요. (눈은 높아져서 대기업 아니면 가긴 싫고...)
이렇게 한국 개발자 커뮤니티에서 종종 펌웨어 엔지니어 관련 글을 검색해 보곤합니다. 그러면 거의 대부분 (아마 90%이상) 나오는 말이 연봉이 적다, 근무 환경이 열악하다, 지금이라도 늦지 않았으니 웹으로 전향해라 류의 부정적인 얘기들 뿐입니다. 근본 원인은 제가 앞서 언급한 대로 규모가 크고 돈도 잘 버는 칩 만드는 회사 (주로 팹리스)가 극히 없기 때문입니다. 팹리스 중엔 없다고 생각하고 종합반도체회사 포함해서 큰 회사는 삼, 하 딱 두 개 니까요.
물론 희망적인 얘기도 보입니다. 고령화가 미친듯이 진행 중이지만 젊은이들 중 아무도 하려하는 사람이 없기 때문에 환갑 넘어서도 충분히 현역 가능하다. 뭐 이런 글 들이요. 업계 전체로 보면 이것 또한 부정적인 현상이지만 저처럼 늙은(?) 엔지니어에게는 희망적으로 들립니다. 최소한 은퇴할 때까지는 밥벌이가 되겠구나. 싶은 것이지요.
요즘처럼 AI이니 뭐니 해서 막 대학교 졸업한 아이들도 AI 한다고 하면 연봉 수십만불(몇 억이죠..) 받는 시대에 펌웨어 엔지니어는 사실 미국에서도 같은 소프트웨어 엔지니어들 끼리 비교하면 그렇게 엄청나게 고소득은 아닙니다. 여기도 젊은이들은 AI하러가고 웹하러가고 클라우드하러가요.
그래도 산업 기반이 다양하고 크고 넓기 때문에 펌웨어 엔지니어 수요는 꾸준하고요. 그리고 앞으로도 계속될겁니다. 새로운 반도체는 계속 나와야 하고 누군가는 그걸 살리고(브링업) 시험하고 (테스트) 검증해야(밸리데이션) 하기 때문이죠. 그리고 더 복잡한 소프트웨어가 반도체에서도 돌아가라면 가장 밑바닥에 펌웨어가 돌고 있어야 합니다.
최근엔 엔비디아 덕분에 펌웨어 엔지니어 몸값도 많이 올라갔더군요. 엔비디아가 사람들을 싹쓸이 하는 바람에... (전 인터뷰 보기 싫어서 거절했습니다.)
펌웨어는 사실 재미있어요. 완전 저수준에서 인스트럭션 단위로 (어셈블리로)코딩하고 이런거 생각보다 재미있거든요. 물론 대부분은 C언어로 합니다. 하드웨어 스팩 문서 보면서 레지스터에 값 써 넣어가면서 하드웨어(여기서 제가 말하는 하드웨어는 칩입니다. SoC라고도 하고 흔히 많은 사람들은 그냥 AP라고 하는 그런 애들, 이들의 차이를 200자 원고지 100장으로 써서 설명 할 수도 있지만 그냥 그런애들이라고 치죠.) 동작이 바뀌는것 확인하고 측정하고 이런 일들 재미 있거든요. 임베디드 리눅스 같은 일 같은 것들도 제 입장에서는 고수준 작업입니다. :)
다모앙에 개발한당이 생겼길래 가입인사 겸 해서 길게 주절거려 봤습니다.
앞으로도 펌웨어 관련 게시물이 올라오면 댓글 열심히 달겠습니다.
seunghwanoh님의 댓글
몽환전사님의 댓글
ccachu85님의 댓글
좋은 밤 보내세요~
아리아리션님의 댓글
맞는 말씀이죠. 저희 회사도 SoC를 갖다 쓰고 있네요 ㅎ
위에 동종업계분도 계시군요 ㄷㄷ
미시세계지배자님의 댓글
저도 어셈으로 부트로더부터 짜서 나머지 어플도 어셈블러로만 만들던 시절이 있었는데
지금은 C에 RTOS를 써서 하니 편하네요, 편한데도 지원자가 없어요
분면 코딩을 한다고 했는데 회로를 분석해서 프로그램을 해야하니 지원을 안합니다 ㅠㅠ
물론 연봉도 한국이라 좋지않고, 회사에서도 별로 배려를 받지 못하는 직종이라
반갑습니다.
무재칠시님의 댓글
회사에서 펌웨어로 신제품 프로토타입을 개발해 본 지가 10년이 되어가네요. 근래에는 취미로 IoT한다고 아두이노나 ESPHome 같은 것을 1~2년 했더니 더 할 것이 생각 안나서 조금 시들해졌지만, 하드웨어와 연결된 프로그래밍이 재미있는 것은 사실인 듯합니다.