임베디드 소프트웨어를 체계적으로 배울 수 있는 책 또는 과정
2013.02.12 08:01
임베디드 소프트웨어를 체계적으로 배울 수 있는 책 또는 과정을 소개해 주실 수 있으신가요?
여유가 될 때 마다 임베디드 소프트웨어를 익혀두려 합니다. 어디 가서도 굶어죽진 않는 분야같아서요 : )
커널 소스코드 수정하고 그런 일은 취미삼아 하긴 했는데, 어디서 배운 것도 아니고 순전히 감으로 때려맞춰서 한거라.. 체계적인 것도 아니고 제대로 이해하고 만든 것도 아닙니다. 무엇보다도 저는 from scratch에서 뭘 만들 능력이 안됩니다.
임베디드 소프트웨어에도 분야가 많겠지만,
가장 기본이 되는 책 또는 과정을 소개해 주실 수 있으신가요?
이것저것 접해볼 수록 관심사가 전기전자쪽으로 가는것 같습니다.
코멘트 16
-
purity
02.12 10:24
엠베디드 분야가 과연... 원하시는 답은 아닙니다만... 어디까지나 국지적인 것이라는 전제로 잡설을 말씀드려 보면... - 어디까지나 질문 주제와 벗어난 잡설..;;; -엠베디드 개발자들은 참 오래 갑니다. 인력 풀 자체가 취약한데다 원하는 곳들이 꽤 있으니까요. 그러나 임금과 대우 수준은 전반적으로 동종 분야 대비 낮은 편입니다. 대기업 등의 좋은 직장은 다르겠습니다만, 전체적으로 보아 시작되는 임금도 낮고 상승 속도 역시 낮습니다. 돈이 전부는 아니겠지만...;;;엠베디드 분야의 개발은 크게 1) 하드웨어, 2) 디바이스 드라이버, 커널, DSP 등을 비롯한 로우레벨 I/O 라이브러리 들, 3) 어플리케이션 들로 구분될 수 있는데, 여기서의 꽃(?)은 1)을 담당하는 하드웨어 엔지니어이고 하드웨어에 크게 의존적이고 그 설계에 따라 가변되니 만큼 이들이 2)의 업무까지 처리하곤 합니다. 즉 소프트웨어 개발자가 끼어들 여지는 3)이 대부분인데... 평가와 인식은 웹 개발의 화면단 만드는 것과 유사하게 바라보는 시각이 큽니다. 엠베디드 분야는 근본적인 베이스가 제조업이라 현물을 최우선에 두는 시각이 강하고 1)을 하는 사람이 2)와 3)도 당연히 모두 해야 하지만 편의상 3)을 보조자에게 나누어주었다라 식의 인식이 크기 때문입니다. 이러다보니 어플리케이션 부분을 'UI 개발'이라고 부르는 오너나 관리자들도 적지않고 상대적인 자괴감, 가벼운 업무 비중 평가, 하드웨어가 완성되면 나머지는 일도 아니라는 시각에 기인한 과중한 일정 등이 수반되곤 합니다. 심지어 이직시 캐리어를 설명하기 어렵거나 캐리어가 날아가는 경우까지도 생길 수 있고요.마지막으로 고려하셔야 할 것으로 이 분야는 상당히 보수적이라는 것입니다. 안드로이드와 같은 매우 선구적인 플랫폼은 그저 극히 드문 일부일 뿐이고 거의 대부분은 오래된 기술 기반, 정확히 말해 업무 담당자들이 기존에 채득하였던 방법론을 절대 벗어나지 않습니다. 협업 역시 각각의 국지 업무들이 1인 1프로젝트와 다름 없게 되는 경우가 많은데다 코딩 외의 형상 관리 등의 체계도 매우 보수적이거나 없을 정도지요. 개발자의 성향에 따릅니다만... 버거움을 느낄 여지가 적잖이 있습니다.사람사는 일이 다 그러하듯 밥벌이야 어떻게든 됩니다만, 준비와 투자 차원이 아닌 핵심 도메인으로 삼아 전력하시는 것이라면 심사숙고해보시기를 감히 권해봅니다. 이미 많이 들으신 이야기이겠지만... 사람에 따라 차이가 있으나 '주'가 되지 않으면 대부분 치워짐도 빠른게 이 분야이고, 한번 길을 잘못 들면 헤어나오기 쉽지 않은 것이 IT 입니다. 너무나 뻔뻔하게 SAP 같은 ERP 플랫폼으로 시작하셔서 컨설턴트로 가시라는 등의 재미없는(?) 이야기를 드리지는 못하겠습니다만... 에스비님 나이라면 선택의 폭은 꽤나 넓을 것 같다는 생각이 떠나지를 않네요. 더군다나 유능하시고 실력도 출중하시니 말이지요.아휴 괜히... 심각한 글만 남겼네요. 너그럽게 양해해주세요.*물론 제 개인 처지에 따르자면... 한국내에서 엠베디드 개발자들이 많아지는게 좋습니다. 실은 제가 속한 작디 작은 회사의 경우 국내에서 개발자 구인이 불가능하다 판단해서 연구 인력의 전부 혹은 핵심을 중국으로 이전해 현지 법인 하에 연구소를 만들고 중국 개발자들로 채우는 것을 중요한 향후 과제로 삼을 정도니까요;;; -
꼬소
02.12 12:14
저랑 같이 그냥 산딸기나 하시죠... ㅎㅎ
뭐 어딜가든 개발자가 대우 못 받는건 마찮가지 입니다..
그리고 어디가서 뭐 했다고 아무리 이야기 해 봤자.. 인사면접관이 중요 시 여기는건 재직했던 회사의 인원수이지 관여했던 기술의 난이도는 고려 대상이 아닙니다...(경력이 날아가죠... OTL;;)
임베디드는 취미로 하시고, 그냥 쓸만한 서비스 개발하여 커미터나 메인테넌스를 바라 보는게 오히려 삶을 더 윤택하게 해 줄거라 저는 믿고 있습니다.. 현실도 그걸 바라고 있구요...
아니라면 정말 SAP이나 하는게 더 나을수도 있구요...
딱히 답이 있는건 아닌듯 합니다.. 뭐든 최고가 되던지 아니면 3류가 되던지....
-
purity
02.12 12:29
제가 바로...!!! 스타트업 기업만 떠돌다가 캐리어 왕창 버린 대표적인 케이스지요 ㅎㅎ;;; 가끔은 나가면 뭐 먹고 살아야 하나 고민까지도 합니다. 아무리 정성들여 일했어도 도태된 사업에 참여했단 이유로 '넌 해본 것이 없잖아' 류의 소리도 좀 들어봤구요. 히휴...
-
꼬소
02.12 13:13
그래서 본업은 놔두고 먹고 살만한 것들만(돈 될만한 것들) 좀 파보다 아니다 싶으면 다시 본업으로 돌아 올 수 있어야 된다고 봅니다. ㅎㅎㅎㅎ
-
해색주
02.12 14:10
미국에서는 스타트업 회사에 있는 것이 경력이라고 하던데, 한국은 아닌가부죠?
-
purity
02.12 14:47
결과와 스펙, 이 2개의 키워드가 현실을 관통하니까요. 아무리 어려운 고난이도의 개발을 진행했다 하더라도 그것이 실제 구현되어서 쓰여졌다는 것이 곧 스펙이 됩니다. 많이 과장된 예를 들어보면... 이미 상용화된 서비스나 상품의 최말단 메인터넌스를 하는 것이 실패하였지만 높은 기획 및 기술적 역량을 요구하는 신규 사업을 추진했던 것보다 이직시에 높게 평가됩니다. 이유는 단순하게도 '당장 쓸 수 있으며 실시간으로 즉각 어플라이할 수 있는 것'을 요구하기 때문이에요. 즉 피를 흘리기는 싫은데 과실은 얻어야 한다는 관리자 집단이 기저에 존재하기에 창의와 리스크는 감내할 수 없는 것이지요. 이러한 현상은 비단 한국의 문제 뿐 아니며 아시아 국가들이 공통적으로 매우 광범위하게 가지고 있습니다. 인구가 너무 많다보니 편집되지 못하고 다양한 변형이 존재할 수 밖에 없는 중국 정도가 예외랄까요...
-
그냥 다닌 기업 크기가 경력이예요.
-
꼬소
02.12 15:58
동감.... 100명 이상과 100명 이하만 있을 뿐... 기술의 깊이는 없음..
공식..
경력 = 기존경력 X 경력 기준 상수 - 기타 경력 인정 안되는 요소..
경력 기준 상수
100명 이상 : 1
100명 이하 : 0.8
경력 인증 안되는 요소
대학원, 파트타임, 프리랜서 등등등(업계, 업체 마다 차이 있음)
-
하뷔
02.12 12:47
참... 이런 소리만 하게되는 현실이 ... 갑~갑~ 합니다.
저는 오라클 ERP...
웽?
-
해색주
02.12 14:02
예전에 Net 시절에 SAP Engineer분 계셨는데, 그분은 어디서 무얼하고 계실런지요. 저는 통계팩키지에서 코딩하는데, 이 분야도 ㅎㅎ 나가면 아무것도 할 것이 없다는 문제점이 도래하더군요.
-
하뷔
02.12 16:38
통계 패키지 코딩이면 SAS 이신가요? 그렇다면 그래도 나름 꽤 쓰이는 걸로 아는데요.
(제가 아는게 SAS 뿐이라..)
-
해색주
02.12 20:16
하뷔님// 네, 맞습니다. SAS에요. 근데 이건 사용료가 워낙에 비싸서리, 쓰는데가 얼마 없고 통계학전공자를 선호하더라구요. 악, 난 경영학 전공자인뎅.
-
하뷔
02.12 21:30
음... 비싸죠.
국내에서는 그래도 좀 큰 사이트가 있고, 일반 개발자에 비해서 몸값도 비싸더군요. (IT 준 컨설턴트 수준)
대학원 동기 녀석(IE출신)은 프리로 일년에 6~8개월 일하고, 여행다니고... 이러더군요. 물론.... 총각 때 이야기지만요.
또 다른 한 친구는 저랑 같이 일할 때 열심히 공부하더니 한국SAS 협력업체로 나가서 아직 잘 다니고 있습니다만...
(뭐... 물론... 인맥이 한 몫 했지만요.)
* 물론.... 큰 프로젝트가 많지 않다는 어려움은 ...
-
김강욱
02.12 22:27
잉~ 근데, 에스비님의 질문에는 답변 안 해주시 건가요????
에스브님 퐝당 멘붕 이시겠는데요.
갑자기 하소연장으로 바꼈어...
-
전 임베디드쪽 개발은 안 해봤지만요. 그냥 "임베디드 개발"이라고 말하기에는 너무 크지 않나 싶네요.
purity님 말씀대로 H/W부터 front-end쪽 개발까지 쭈~~욱 있으니, 그 중에서 일단 타게팅을 하셔야 하지 않을까요?
-
임베디드쪽 개발을 많이 하진 않고 발만 담궜다가 도망나왔는데요. 일단 임베디드 개발이라는게 스카이워커님 말씀처럼 범위가 너무 넓어요.
에스비님이 말씀하신 "알아두면 밥벌이가 되는" 임베디드 개발이라면, 아마도 마이크로 프로세서쪽이 아니가 싶은데요. 사실 대다수의 장비들마다 각자의 노하우가 필요한 부분이거든요. 보통 임베디드 개발은 "회사에 들어가서 그 장비를 접해본다"는 노하우가 가장 강점이라고 생각합니다. 개인이 혼자서 마이컴 사들고 장난쳐보는건 그다지 큰 도움이 안되더군요. 오래된 장비는 그냥 나와있는 노하우들 땜질하는 수준이고, 최신 장비들은 체계가 없어요.
그래도 에스비님이 올리시는 글들을 보면, 다 도움이 되고 기반이 되는 공부를 하고 계시는거 같습니다. 특히 리눅스에 대한 지식이나 안드로이드에 대한 깊은 탐구심은 향후 큰 도움이 될거라고 생각합니다. 어차피 체계적인 공부라는게 없는 분야라고 생각하시고, 지금 취미삼아 하고 계신걸 조금씩 조금씩 깊이를 더해서 해보시면 나중에 꼭 도움이 될겁니다.