[신입 이직 상담] 임베디드 시스템 개발자가 되고 싶습니다.

werther777의 이미지

선배님들 안녕하세요, 항상 눈팅만 하다가 궁금한 것과 고민이 있어 글을 올립니다.

저는 임베디드 시스템 개발자가 되고 싶은 직장 2년차 입니다.

작년 2월, 지방사립대 컴퓨터공학과 학사 졸업을 했고,

학점은 3.76, 토익은 660(올해 8월 중순 만료), 오픽은 IM2, 정보처리기사를 가지고 있습니다.

나이는 26인데 여자라서 적은 나이는 아닌 것 같네요.

연구실에서 MCU(주로 avr)로 여러 프로젝트들을 진행했었고, 입상은 못하였지만 모형차 경진대회에 나가기도 했습니다.

LabVIEW도 좀 다루어 보았구요.(제어계측 쪽 프로그래밍 언어라 쓰이는 데 가면 쓰겠지만 그 외엔 딱히 도움이 안 될 수도 있겠네요.)

C언어 좋아하고, system programming 조금 해보았는데 재미있었습니다.

사실 프로그래밍은 다 재미있긴 한데 결국 이게 어떻게 돌아가는건지가 항상 궁금해져서

어플리케이션이나 mw보다는 임베디드 시스템 개발 쪽 일을 하고 싶습니다.

device driver 개발로 일 시작하여 개인적으로 kernel 쪽 공부를 쭉 하면서 나중에는 kernel 쪽도 만져보고 싶습니다.

우선 분야에 관한 질문 드립니다.

1. 펌웨어 개발자와 device driver 개발자의 정확한 차이가 궁금합니다. kernel과 연관지으려면 device drvier로 일을 시작하는 것이 맞는 것이겠지요?

2. bsp 업무, bsp 개발 쪽으로 가면 구체적으로 어떤일을 하게 되나요? (코딩은 거의 안한다는 이야기도 들었는데...) bsp 업무라고 쓰여진 것과 bsp 개발이라고 쓰여진 것이 차이가 있나요?

3. bsp 개발과 device driver 개발은 어떤 차이가 있나요?

4. device driver는 기본적으로 chip(부품) 제조사에서 제공하지 않나요? 그러면 제품을 만드는 업체나 그냥 SW업체일 경우 device drvier 개발로 들어가도 개발이라기보다 포팅하는 정도의 업무를 맡게 되는 건가요?

5. device driver 개발을 하다 임베디드 os나 kernel 관련 일로 넘어갈 수 있는지 궁금합니다.

6. device driver 개발 외에 system programming이 쓰이는 곳이 있나요?

현재 저는 작년 1월말에 대기업 전자제품 제조업체에 SW개발 직무로 입사하여 1년 4개월?(5개월?) 째 재직중 입니다.

그리고 다시 신입으로 중소기업/벤처기업으로 이직하려고 합니다.

하지만 괜찮은 중소기업/벤처기업은 임베디드 시스템 개발(device driver 개발) 경력자만 원하는 경우가 많더라구요. 기술지원같은 경우엔 신입도 뽑는데 말이죠.

7. 결국은 개발 업무를 하고 싶은데 기술지원으로 괜찮은 중소기업/벤처기업에서 시작하는게 좋을까요? 회사가 조금 영세하더라도 개발로 시작하는게 좋을까요?

그래서 일단은 신입을 뽑는 회사 공고는 무조건 보고 있는데 어떤 회사가 좋은 곳인지 알기가 어렵네요.

재무제표를 보라는 말씀에 재무제표 공시 사이트도 들어가봤지만 봐도 잘 모르겠더라구요. 재무제표가 없는 경우도 많았구요.(스타트업이라 그런건지...) 우선은 매출액이 인원수 * 1억은 되어야 한다는 글을 어디서 보아 회사 운영상태는 그렇게 파악하고 있습니다.

회사 홈페이지 들어가보기도하고, 구글에서 기사 검색도 해보구요. 이것도 기사가 1~2년 전 기사만 있는 곳은 지금은 어떤지... 판단하기가 어렵기도 하구요.

8. 선배님들께서는 보통 회사에 대한 정보를 구하기 어려울 때, 온라인상으로만 정보를 수집하는데 한계를 느끼실 때 어떤 식으로 회사에 대해 판단하시는지 궁금합니다. 우선은 지원해보고, 면접가서 면접관님들께 이런저런 질문을 드려도 실례가 되지 않을까요?

현 직장에 입사 후, 저는 SW팀이 아닌 팀으로 배정되어 말이 SW업무이지 팀 사람들이 부르면 디버그 프린트 문 찍어주고, 이슈 터지면 해당 모델만 예외처리하는 if - else 문 추가 정도를 하고 있습니다. 팀에서 사수와 저만 SW업무이구요, 사수가 하는 일도 저정도 입니다.

또 회사에서 공식적인 제 직무는 HW로 분류되어 있습니다.

대한민국에서 개발자로 살아간다는 게 어렵고, 힘들단 글 많이 보았고, 그런 측면에서 대기업 -> 중소기업/벤처기업이 처음부터 중소기업/벤처기업 보다 좋다는 말도 많이 들었습니다.

하지만 제 경우엔 이 곳에서 계속 일하면 SW 경력직으론 이직하기 힘들 것 같습니다.

저도 당장의 일은 좀 지루하더라도 내가 원하는 분야와 거리가 있더라도 일 하면서 틈틈히 공부하여 2~3년 쯤 경력을 쌓아 다른 곳으로 갈까 했었는데 2~3년 경력을 쌓는 것이 무의미 할 것 같습니다.

HW직무이기에 대기업이 갖는 장점 중 하나인 교육의 기회 같은 것도 저는 잡을 수가 없습니다.

(신입사원들이 다 받는 기본SW직무 교육조차 팀에서 필요없다고 보내주지 않으려다 그것을 받지 않으면 진급할 수 없다고 인사팀에서 말해서 겨우 다녀왔습니다.)

면접 볼 때 오기로 했던 팀은 SW팀이었는데 현재 팀에서 저와 상의 없이 팀 변경시킨 것이고,(문자로 통보만...)

신입사원 SW교육 가서 나름 열심히 하여 기수 전체에서 1등도 했고, SW 하고싶다. SW 잘 할 수 있다.

1년 쯤 다닌 시점에서 부서 이동 요청도 드려보았지만 6월까지 더 버텨보면 그 때 생각해보자고 하시더니 지금와서는 1년 더 버텨보고, 그 때 생각해보자고 하시네요.(불가능 할 것 같습니다.)

그래서 더 늦기전에 신입으로 이직하려 하는 것이구요,

지금까지는 소극적으로 구직 활동을 해왔는데 이제부터는 좀 적극적으로 해보려 합니다.

제게 필요한 것이 무엇일까요?

우선은 OS가 올라가지 않는 MCU를 다룬 프로그래밍 경험은 꽤 있는데

device driver나 kernel 관련 지식은 많이 부족한 것 같습니다.

학교와 회사 교육 project로 임베디드 리눅스 포팅하고 프로젝트 진행해 본 정도입니다.

또한 토익 성적이 8월 중순 이후면 오픽 IM2만 남는데 길게 잡아 하반기 채용까지 봤을 때

오픽만으로 괜찮을지 걱정입니다.

9. 회사를 다니면서 준비하기에 여름 동안 기술적인 공부와 어학 성적 두 마리 토끼를 다 잡기엔 무리가 있어 보이고, device driver 쪽 공부와 토익 공부 중 어떤 것을 하는 것이 좋을까요? 토익 성적은 몇 점 정도 받아야 할까요? 아님 둘다 필수 일까요?

10. device driver 쪽 공부를 한다면 학원을 다니는 것이 좋을까요? 주변에 IT학원에 다니는 친구들을 몇 번 봤었는데 임베디드 쪽 트랙은 심화적인 공부라기보다 보드로 기본적인 실습 정도 해보는 것 같은데... 제 경우에 학원을 가는 것이 좋을지 혼자서 책 보면서 공부해 나가는 것이 좋을지... 궁금합니다.

해야할 공부가 많고, 준비할 것이 많으면 현 직장을 그만두고 준비할까도 싶습니다.

이대로 하반기가 지나고나면 내년 되면 더욱 어려워 질 것 같아서요. 군대 다녀오지 않았으니 나이도 적지 않은거고,

긴 글 읽어주셔서 감사드립니다.

질문이 너무 많아서 번호를 매겨보았습니다. 질문에 대한 답변이 아니더라도 저에게 해주고 싶으신 조언이 있으시면 답변 주시면 큰 도움이 될 것 같습니다.

오래 고민했고, 중간에 망설이기도 했고, 그 끝에 용기 내보려 합니다.

다시 한 번 긴 글 읽어주셔서 감사드립니다.

mirheekl의 이미지

신입으로 가시더라도 가급적이면 대기업 가세요.

대기업 -> 중소기업/벤처기업이 처음부터 중소기업/벤처기업보다 낫다고 하셨지만 사실 그냥 쭉 대기업 -> 대기업이 제일 낫습니다.

(제가 그 입장이라면 대기업이나 일부 유명 중견기업 이직을 시도후 되지 않으면 그냥 현 직장에 계속 다닐 듯. 그리고 다음 행선지가 정해지지 않은 상태에서는 사직을 하지 않을 겁니다.)

그리고 토익은 기업 입사에 방해가 되지 않는 수준으로만 하시고 이후에는 읽기 쓰기 말하기 듣기에 걸친 일반적인 영어 공부를 하심이 좋을듯 합니다.

--

werther777의 이미지

답변 감사드립니다 ;)
다음 행선지가 정해지지 않는 상태에서는 사직을 하지 않는 것이 좋다는 말씀 새겨듣고,
신중히 찬찬히 준비해 보도록 하겠습니다.

goforit의 이미지

>1년 쯤 다닌 시점에서 부서 이동 요청도 드려보았지만 6월까지 더 버텨보면 그 때 생각해보자고 하시더니 지금와서는 1년 더 버텨보고, 그 때
> 각해보자고 하시네요.(불가능 할 것 같습니다.)

1년 정도 기다리면서 계속 끈질기에 옮겨 달라고 노래 부르는 것도 좋을 것 같습니다.
길게 봐서, 펨웨어나 linux OS 개발자에게 하드웨어 경력이 3년 ~ 4년 있다는 것은 경력에 플러스입니다.

>않았으니 나이도 적지 않은거고,

상대적인 것이지만, 적지 않다고 말할 수도 없는 것 같습니다.

werther777의 이미지

불가능 할 것 같다고 말씀드린 것은 최근 파트장님과 면담에서
지금 당장도 옮겨줄 수는 있고, 어려운 일 아니라는 말씀과 더 버텨보라는 말씀을 함께 하셨기에...
부서 분위기상 앞으로도 옮겨줄 생각없이 시간을 끌고 계신다는 느낌을 강하게 받았기 때문입니다.

하지만 답변 달아주신 분들 의견으로 보아 현 직장 안에서 부서를 옮기는 것이 최선인 것 같습니다.
좀 더 노력해보도록 하겠습니다!

답변해 주셔서 감사합니다 ;)

아... 그리고 질문 드리고 싶은 것이 있는데...

>길게 봐서, 펨웨어나 linux OS 개발자에게 하드웨어 경력이 3년 ~ 4년 있다는 것은 경력에 플러스입니다.

저도 학교 다니면서 하드웨어에 대해서 잘 알면 좋겠다는 생각을 해서 답변 주신 의견에는 공감합니다.
공식적인 직무 분류는 HW인데 하는 일은 HW가 전혀 아닙니다.(단지 팀 분류에 따름.)
팀도 HW직무로 분류된 팀이긴 하지만 HW라기보다 제품을 측정 장비로 측정하고 세팅값 튜닝하는 정도의 일이라
부서 분들도 HW에 대해서 잘 모르시더라구요.(궁금한 것들을 가끔 질문해보면 두리뭉술 하게만 알고 계시더라구요.)

제 사수도 저에게 경력되는 일이 아니라고 늘 이야기 하였구요.

이 경우에도 이 곳에서 쌓은 경력이 펌웨어나 linux os 개발자가 되는 것에 도움이 될 수 있는지 궁금합니다.

같이 입사한 동기들이 적응해 나가는 것을 보며 사실 초조했었습니다.
적지 않다고도 말할 수 없는 나이란 말씀에 좀더 마음의 여유를 가지고,
일단은 부서 이동에 대해서도 포기하지 않고, 방법들을 더 찾아보아야 겠어요.

s97083의 이미지

처음이니까 그냥 debug랑 예외처리 시키는 걸거에요... 지금 IT업계에선 그나마 DEVICE DRIVER가 유망한 분야입니다.
커널 소스 고칠일은 한국에선 사실 없다고 보셔도 될거에요.... S 정도나 그런거 시킬까....
보통은 다른곳에서 다 만들어져서 오져...
DEVICE DRIVER도 처음부터 안짜요.... 이미 있는거 고쳐 쓰져....
영어는 L, S 둘다 700만 되면 다 서류통과는 되요... 600도 통과한거 본적있음...
그리고 주변에 아는 선배나 친구통하세요... 이게 베스트에요... 들가기전에 어떤곳인지 암도 몰라요...

별로 맘에 안드셔도 그냥 버티세요.... 중소서 대기업 갈려고 발버둥 치는데는 다 이유가 있어요...
26이시면 옴팡 어리시네... 30짜리 신입도 쎄고쎈게 이바닥인뎅.... 32짜리 신입도 있어요...

werther777의 이미지

답변 감사드립니다 ;)

진짜 피눈물 흘린다는 말씀에 마음이 무겁네요.
회사안에서 부서이동 할 수 있는 법 최대한 찾아보는 동시에
이직을 생각하더라도 신중히 해야겠다는 생각이 듭니다.

그리고 답변 주신 L과 S는 우리나라 대기업 전자제품 제조업체 그... 두 군데를 말씀하시는 것인지... 궁금합니다.

raphael4의 이미지

여기 분들이 님의 글에서 눈에 띄는 이직만 조언해 주시는 것 같네요
이직은 이직 따로 개인적인 고충도 따로
그리고 초반의 질문들인 임베디드직종 관련 질문들도 따로
시간차를 주고 올려 보세요
글만 읽어봐도 지금 얼마나 마음 고생이 심한지 알 수 있을거 같은데
조급해봤자 얻는거 없습니다 무엇이든 천천히 준비하세요

p2711의 이미지

먼저 쓰신 글을 읽어보니, 약간의 환상이나 호기심이 강하게 끌렸다는 생각이 듭니다.

저는 이제 개발 13년차고요. 했던 일은 PC용 application(1년) -> ERP(1년) -> embedded application(1년) -> VoIP phone 으로 진행됐습니다.

말씀하신 내용 정독까지는 못했습니다만, 느낌이 device driver에 팍 꽂히신것 같습니다. 제 경우나 제 후배 경우를 보면 개발 2~5년차 정도 될 때 즈음에 그런 경향을 보곤 합니다.

하지만 안타깝게도 device driver 제작을 목적으로 일하는 회사는 아직 못 봤습니다. (제 견문이 짧아 그럴 수도 있겠지만요)

제가 회사에서 일할 때, 특정 제품을 만들기 위해 새로운 chip을 도입하면 Evaluation board라는 것과 BSP가 오죠. 개발 환경 설정해 주고 컴파일 해서 올리면 대충 잘 돕니다. 데모 어플들도요.

만일 새로운 부속을 추가한다고 해도 부품 업체에서 드라이버 가져다 줍니다. 저도 가끔 문제가 발생하면 드라이버 디버깅은 합니다만 쌩으로 짜는 경우는 거의 없습니다.

사실 2000년도 중반까지만 해도 BSP가 오면 시리얼 살린다고 난리도 아니었고, 부트로더에서 시리얼 살리면 프로젝트 반은 끝났다 라고 얘기할 정도였죠. 그때는 driver 개발자가 귀했었죠. 하지만 요즘은 chip사에서 제공되기 때문에, 또는 BSP (linux kerel)에 웬만한 것은 포함되어 있기에 driver 개발자가 그리 필요한 부분은 없습니다. (오해의 소지가 있어 첨언 하자면, 요즘 대부분 On-chip solution 이기 때문에 BSP가 잘 되어 있어 삽질이 거의 필요 없다는 뜻입니다)

진정 driver 개발자가 되길 원하신다면 국내 chip 제조 업체를 알아보심이 어떨까 싶네요(telechips 제가 써 본 국내 업체는 이곳 뿐이라... ㅎ)..

그런데요... 사실 driver도 좋을지 모르지만, "내 인생은 이거다" 라고 딱 찍어서 결정하기는 이른 나이 인것 같습니다.(쓰신 글을 읽어보면 딱 그런 느낌이 들어서요.) 이렇게 말씀 드리는 이유는 먼저 시스템 엔지니어의 수요가 줄어들고 있습니다. 그리고 일의 성격상 신입보다는 경험 많은 사람이 필요합니다. 그러기에 일자리가 잘 나지 않습니다.

너무 어떤 직종이나 일에 얽메이지 마시고 일어서 조금 떨어져 나와 다시 한 번 생각하는 시간을 가져보시는 것도 좋을 듯 싶네요.

혹시 시간 되면 "프로그래머로 사는 법 - 한빛미디어" 읽어보세요. 우리 나라 실정과 거리 있는 내용이 있기는 하지만 개발자라면 한 번 읽어봄직합니다.

johlim의 이미지

나 device driver 인력이 필요합니다.
BSP 만드는 회사로 수렴하셔야 할 것 같습니다.
또한 기존
국내 팹리스들도 개발비 때문에 자체개발하지 않고
사서 재판매하는경우가 많구요.

LSI 정도 신규개발할 여력이 남아 있지 않을까요?

A better tomorrow