본문 바로가기

하드웨어

하드웨어 개발 팀에서 하는 일에 대해

  대학교 4학년 때 취업을 준비하며 우연찮게 지원한 된 하드웨어 개발팀. 무슨 업무를 하는지 아무것도 모르고 하드웨어 개발팀에 지원해 털썩 붙어 11년간 이 길을 걸어버렸습니다. 20대 중반에 직종을 바꿔보려고 1년 정도 쉰 적도 있었는데 배운 게 도둑질이라고 다시 이 길로 돌아와 그렇게 10년을 하드웨어 개발 일을 계속하게 되었습니다. 하드웨어 개발팀으로 지원해 볼까 하시는 분이 계시다면 이 글로 조금은 도움이 되었으면 하는 마음으로 적어봅니다. 나의 경험으로 적는 글이기 때문에 참고만 하시면 좋을 것 같습니다.

1. 하드웨어 개발팀이란?

1) 무엇을 개발할까?

  흔히 제품의 기능적 구성을 보면 하드웨어 + 소프트웨어(+펌웨어)로 구성이 된다. 그중에서 하드웨어를 개발하는 팀이 하드웨어 개발팀입니다.

2) 하드웨어는 무엇인가?

  하드웨어는 무엇일까? 하드웨어는 물리적으로 보이는 본체를 이야기합니다. 제품을 뜯어보면 대부분은 기능 구현을 위한 보드(PCB)가 들어가 있습니다. 그 보드가 하드웨어고 그 보드를 만드는 사람이 하드웨어 개발자입니다.

2. 하드웨어 개발팀이 하는 일

1) 회로 설계

  제품 요구사항과 목적에 기반해서 회로의 전체적인 설계 방향을 먼저 결정합니다. IC를 선택하고 전기적 특정을 고려해 회로를 설계합니다.

2) ARTWORK

  하드웨어 개발팀에서의 ARTWORK은 PCB(인쇄회로 기판) 디자인을 가리킵니다. 회로 설계 PCB의 실제로 제품을 만들기 위한 핵심 요소 중 하나이며, 이는 회로의 작동과 안정성에 큰 영향을 미칩니다.

3) FPGA

  FPGA는 사용자가 프로그래밍 가능한 디지털 논리 장치입니다. 이는 하드웨어를 소프트웨어적으로 프로그래밍하여 특정한 디지털 논리 회로를 구현하는 장치입니다. 디지털 시스템 설계, 신호 처리, 통신, 영상 처리 등의 분야에서 사용하는데 하드웨어 개발팀에 따라 할 수도 안 할 수도 있습니다.

3. 타 팀과의 협업

1) 소프트웨어 팀

  하드웨어 팀과 소프트웨어 팀 간의 협업은 제품이나 프로젝트의 성공을 위해 매우 중요합니다. 가장 협업을 많이 하는 팀입니다. 하드웨어가 개발하면 상위 애플리케이션을 소프트웨어 팀에서 개발해 서로 소통해야 할 일이 가장 많이 있습니다.

2) 디자인 및 설계 팀

  하드웨어만 개발해서는 제품이 될 수 없기 때문에 제품의 케이스 또한 개발해야 합니다. 케이스에 따라 PCB 모양 및 부품의 위치도 달라지기 때문에 중요한 부분입니다. 디자인 팀은 콘셉트에 맞는 디자인을 만들고 설계팀은 디자인에 맞춰 케이스 설계를 합니다. 디자인과 기술적 제약 사항 사이에서 균형을 맞추는 것이 중요합니다. 디자인은 사용자 경험을 개선하고 아름답게 만들기 위해 노력하지만, 하드웨어와의 기술적 제약도 고려되어야 합니다. 설계팀은 이러한 요구를 중재하여 최종 제품이 완성될 수 있도록 도와줄 수 있습니다. 가장 소통이 많이 필요합니다. 

4. 펌웨어에 대해서

1) 펌웨어란?

  하드웨어 개발을 하다 보면 펌웨어라는 개념을 접하게 됩니다. 펌웨어는 하드웨어와 소프트웨어 중간 역할입니다. 메모리, 입출력 포트 등을 통합한 칩(MCU)을 넣어 하드웨어를 개발하면 이 칩을 제어함으로 다양한 기능을 구현할 수 있습니다. 칩을 제어하기 위해선 펌웨어라는 소프트웨어적인 것을 만들어 넣어야 합니다. 글로 설명하기 쉽게 설명하기 어렵지만 하드웨어에 내장되어 있는 소프트웨어라고 생각하면 될 것 같습니다. 간혹 어떤 하드웨어 개발자는 펌웨어 개발도 함께 하기도 합니다.

2) 펌웨어는 어느 팀에서 할까?

  펌웨어는 하드웨어와 소프트웨어의 사이의 역할이다 보니 어느 팀에서 해도 이상하지 않습니다. 조직이나 기업의 규모 등에 따라 하드웨어 팀에서 할 때도 있고 소프트웨어 팀에서 할 때도 있습니다. 일부 기업에서는 펌웨어 전용팀이 있는 경우도 있습니다. 나도 이전 회사에서는 펌웨어 개발을 소프트웨어 팀에서 했습니다. 그래서 당시 펌웨어를 많이 하진 않았는데 지금 다니는 회사에서는 하드웨어 개발팀이 펌웨어를 담당하고 있습니다. 그래서 보드 개발의 모든 것을 다 하고 소프트웨어 팀이 PC 및 모바일 등 애플리케이션 담당을 하고 있습니다. 회사 상황에 따라 다르다는 것을 참고하면 되겠습니다. 

'하드웨어' 카테고리의 다른 글

MCU(마이크로 컨트롤러 유닛) 개념 잡기  (0) 2024.06.19
FPGA에 대해서  (0) 2024.06.18
펌웨어란 무엇인가?  (0) 2024.06.17
하드웨어 개발 과정(2)  (1) 2023.12.28
하드웨어 개발 과정(1)  (0) 2023.12.22