'임베디드'에 해당하는 글 2건

사용자 삽입 이미지


나는 하드웨어 개발자이다. 위의 사진에서 보이는 것과 같은 물건을 만들어 내는 사람이다. 블로그를 하면서 프로그래머들은 흔하게 봐왔으나 최근 메타를 둘러봐도 이쪽 직종에서 일하는 사람이 자신의 일을 드러낸 블로그를 아직 보지 못하였다. 하긴 그럴거라고 생각이 드는게 하드웨어는 이미 일상사를 너무나도 깊이 파고들었고 이를 기반으로 하는 소프트웨어는 중요하게 여겨지더라도 이를 기반으로 하는 하드웨어는 속으로 감춰져 잘 보이지 않기 때문이다. 예를 들면 휴대폰의 케이스를 벗겨 보면 이런 보드가 나오지만 A/S상의 문제로 벗겨본 사람도 거의 없을테고 휴대폰이 고장나거나 잘 안되면 제조사나 통신사를 탓할테니까.. 이는 하드웨어가 이미 공기처럼 당연한 수준에 가깝게 왔다는 의미인 것 같다.

하드웨어 개발자는 상당히 다양한 일을 아우를 줄 알아야 하는 듯 하다. 휴대폰 개발을 한다면 자신의 한분야만 맡아서 하는 경우도 있겠지만 대다수의 중소기업에 있는 보드 개발자들은 상황이 그렇지 않을 것이다. 자신의 보드에 들어갈 칩셋을 어느정도 꿰고 있어야 하고, 그 칩셋이 현재 단종인지 아니면 새로운 제품이 나왔는지도 알아봐야 하고 이걸 기반으로 회로도도 그리고 인터페이스 설계도 하고, PCB도 설계하고, PCB 만들고, 부품 구매하고 조립하고, 디버깅하고, 기구도 생각해야하고, 튜닝도 해야하고, 이걸 기반으로 제안서도 써야 하고, 발표도 해야 한다. 전시회 나가서 설명도 할 줄 알아야 한다. 정말 다양한 일들을 해야 하는데 이러한 일을 하다보면 정말 해도 해도 끝이 없다는 생각이 들곤한다. 임베디드 보드와 네트워크 보드, RF보드 등 (여러분들은 마더보드와 PCI타입의 보드는 흔하게 봐 왔을것이다.) 여러가지 종류에 따라 판이하게 달라질테니까..

이 쪽 분야의 일은 시간과 아웃풋이 정비례하지 않는다. 하지만 시간을 어느수준 이상 들여야만 아웃풋이 나온다. 이는 예상할 수 없는 문제가 빈번하고 이를 해결하는 것은 시간만 무조건적으로 소요해서는 안된다는 것을 의미한다. 물론 시간이 지나면서 깨닫고 해결하기는 하지만 그 때마다 느끼는 것은 내가 이런 류의 기반 지식을 갖추고 있으면 좋았을 것이라는 생각이다. 하지만 기반 지식은 대학교때의 전자회로, 회로이론의 지식만 가지고는 해결되지 않는다. 칩은 엔켑슐레이션 되어 있어서 옛날처럼 디스크리트하지 않기 때문이다. 또한 아날로그 신호와 디지털 신호의 혼재, 파워 신호와 논리 신호의 혼재, RF 신호와 베이스 밴드 신호의 혼재 등 높은 수준의 문제는 어디에서든 일어나고 있다. 메인 파워 레귤레이터의 모드 셋팅이 잘못되어 DC/DC 컨버터의 출력에 노이즈가 섞여 있는데 그로 인해 RF PHY출력의 프리 앰블 부분이 깨져서 건너쪽에서 데이터를 못 받고 모두 패킷 에러를 낸다고 하면 이걸 누가 알아 들어주겠는가? 또한 대학교때의 한 분야로는 결코 해결할 수 없는 문제이다. 결국은 시간을 들여서 단 별로 세심하게 체크하면서 자기 스스로가 공부할 수 밖에 없는 분야인 것이다.

보드를 꾸미면서 의외로 괴롭게 하는 분야는 커넥터이다. 이종의 보드와 접속하기 위한, 도터 보드와 접속하기 위한 커넥터는 편리를 위해 넣지만 선택도 어렵고 디버깅도 어렵다. 선택이 어려운 이유는 고려해야 할 대상의 의외로 많기 때문인데 이는 지나가는 신호의 속도, 커넥터의위치, 보드간 결합되었을 때의 모양, 커넥터 밴더, 구매 소요 기간, 단가 등의 많은 부분이 개발자를 괴롭힌다. 기껏 고민해서 달아놨더니 신호, 전원, 그라운드에 노이즈가 발생하거나 SMT형 커넥터의 경우 패드가 제대로 붙지 않거나 쇼트나서 동작하지 않는 경우가 허다하다. 하긴 사람도 다른 존재와의 커넥션 부분은 어렵긴 하다... ㅋㅋ


나머지는 다음에 계속...

WRITTEN BY
가별이
내가 천사의 말 한다 해도

,
나는 임베디드 개발자이다.

처음에는 삼성 휴대폰 개발을 했고 ZigBee 개발, UWB 개발을 담당했다.

뭐 보유한 능력은 기본적인 보드 설계부터 제작, 디버깅까지와 부품 알아보고

수급하는 것, 기초적인 코딩 및 포팅 정도 되겠다.


어차피 이런 일 하는 사람은 전국에 거의 몇만명은 깔려 있을 것이고 능력의

차이와 하는 일의 차이가 좀 있긴해도 근본적으로는 대동소이할 것이다.


어느 분야나 그렇겠지만 이 분야는 정말 다양한 능력이 필요하다.

그리고 불확실한 분야이다.


대학에 들어가셨을 때 교수님께서 말씀하시길 공학이란 처음부터 마진과 오류를

깔고 들어가는 것이라서 그 마진내에만 들어가면 되는게 공학이라고 하셨다.

확실히 그러한 면이 있어서 여기서는 완벽을 요구하는게 아니라 어느정도의

선에서 되느냐 안되느냐를 요구한다.


하지만 불확실한 요인이 어디에서나 산재하고 그런 요인들은 교과서에

나와있는게 아니기에 요령과 경험은 개발자에게는 너무나 중요한 자산이다.


따라서 숙련된 개발자는 너무나도 중요하지만 우리나라의 여건이

숙련된 개발자가 오래오래 살아남아서 개발에만 몰두할 수 있는 그런 여건이

갖춰지질 못하고 있고 또한 제대로 대우받지도 못하고 있다.

하고 싶더라도 사내정치라는 분야가 있고 회사에서 그 사람의 연봉을 매년

올려주다 보면 감당할 수 있는 리미트가 있다.

전에 어떤 글에서 보기에 일반 사원으로서는 중소기업에서는 연봉 4,000만원이

리미트라고 하더군. 그 이후에는 중역으로 올라서거나 이직하거나 아니면 차리거나

전업하거나의 경우가 되는 거겠지.


사실 아직까지는 내가 어떤 케이스에 속할지 모르겠다. 매년 일을 하고 있지만

운이 좋은건지 주력에 집중하면서도 이런 저런 다양한 일을 하면서 매년 경험이

쌓이고 있고 크게 빗나가는 거 없이 경험이 쌓여서 도움이 되고 있다.


조금만 있으면 만 5년차가 된다. 이제 슬슬 방향을 결정해야 할 것 같지만

사실 생각은 많아도 선뜻 엄두가 나지 않는다. 하지만 올해가 결심해야 할 때라는 것은

잘 알고 있다.


조만간 결심이 서면 여기에 올릴지도 모르겠다. ㅋㅋ

WRITTEN BY
가별이
내가 천사의 말 한다 해도

,