디시인사이드 갤러리

최근 방문

NEW

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[강좌] 펌웨어 엔지니어 전공 추천 한다.

rtosfw(73.189) 2023.02.27 19:29:55
조회 8882 추천 13 댓글 15
														

다른 분야도 마찬가지겠지만,

대학교에서 기초 이론을 배우고 이 바닥에서 일 시작하는 사람이랑

학원이든 무슨 교육이든 이수해서 속성으로 실무 위주로 배워서 일 시작하는 사람으로 크게 나눌 수 있지.


나는 개인적으로 저 둘 사이에 크게 구분을 하지 않고 알려고 하지도 않아.

그저 시키는 일을 잘 하는지만 보고 판단하지.

그래서 기초 이론이 크게 필요 없는 일을 할 때는 전적으로 경험과 일머리가 좋은 사람이 성과가 더 좋드라.


그런데 기초 이론이 필요한 어떤 이슈가 터졌을 때는

확실 배운 사람이 낫드라.


그리고 똑같이 전공을 했었다고 해도 학교에서 어떤 과목을 얼마나 공부했느냐에 따라서도 다르더라.

예를들어 컴퓨터 구조 같은거 모르면,

파이프라인 같은걸 또 굳이 설명해서 이해시켜야 이슈를 해결 할 수 있지.

저걸 배우고 온 사람한테는 그냥 "파이프 라인 스테이지를 고려하면 어쩌구...." 하면서 설명하고 지나갈 수 있는데 말이지.


그래서 내가 생각했을 때 이바닥 엔지니어라면 꼭 필요한 과목을 추려줄께

아직 학생이라면 수강 신청 할 때 참고 하도록해.


과목이름은 최대한 범용적으로 할 테니까 비슷한거를 니들이 다니는 학교에서 찾아봐.

요새는 학교마다 과목이름을 특이하게들 많이 붙이더라.


1. 필수로 수강해야 하는 것들

이정도는 알아야, 기본기 갖춘 펌웨어 엔지니어라고 생각되는 과목들


* C 언어

과목이름이 뭐든, C 언어는 필수야.

세상이 변해도 앞으로 최소 10년은 더 C언어가 펌웨어에서는 메인일꺼다.

암튼 C언어는 걍 닥치고 수강해


* 자료구조

뭐 말이 더 필요한가. 

자료구조 제대로 못 만드는 소프트웨어 엔지니어는 자격 미달이지.

펌웨어도 소프트웨어라는 사실을 잊지마.


* 컴퓨터 구조

웹이나 앱 만드는 애들은 솔직히 컴구 몰라도 지장 없다고 본다. (알면 좋겠지.)

그런데 펌웨어 엔지니어한테 컴퓨터 구조는 필수 of 필수다.

그냥 펌웨어 개발의 시작부터 끝이 전부 컴퓨터 구조 이론을 직접적으로 체험하는 일이라고 생각한다.


* 시스템 프로그래밍

나는 링커 구조, 메모리 구조, 실행 파일 구조 이런거를 시스템 프로그래밍 과목에서 공부했는데,

다른 학교는 모르겠네.

펌웨어는 말 그대로 시스템을 직접 건들이면서 작업하는 것이기 때문에 시스템 프로그래밍은 꼭 수강해야 한다.


* 논리회로

컴퓨터 구조 과목에 선행 과목이라서 선정했다.

물론 논리회로 단독으로도 필요하긴 해.

데이터시트같은거 읽을 때 도움이 많이 되거덩.


* 운영체제

이걸 여기에 넣을지 아래 2번에 넣을지 잠시 고민했다.

나는 개인적으로 운영체제를 되게 재미있게 공부했고 이거로 대학원 갈까도 생각했을 정도로 진지했거덩.

펌웨어 엔지니어로 15년 넘게 일하면서 내가 가진 운영체제 지식으로 덕을 많이 봤다.

RTOS 같은거 간단하게 직접 만들어서 제품에 반영하기도 했지.

RTOS를 쓰지 않더라도 멀티코어 환경이 필수인 세상에서 단순 펌웨어라고 해도 운영체제 지식이 필요해.


* 컴파일러

직접 컴파일러를 만들 수준이 아니라고 해도 하다못해 컴파일 에러 메시지 해석하는데에도 컴파일러 지식은 필요하다.

그리고 나는 직접 컴파일러를 만들기도 했어.

ARM 코어에 붙어서 작은 작업을 처리하는 자체 인스트럭션 셋을 이용하는 회사 자체 코어에 펌웨어를 만들려면

아주 단순한 트랜슬레이터 수준이라고 하더라도 컴파일러 지식이 필요하지.

이런 자체 코어도 안만드는 회사에서 일한다면... 솔직히 좀 미래가 없다고 본다. 이직해라.


* 파일처리

펌웨어 자체는 파일처리를 하지 않는게 기본이지. 

그런데 펌웨어를 개발하면서 여러가지 지원 툴들을 쓰거나 만들일이 엄청 많아.

그때 파일처리가 필수야.

예를 들어 펌웨어를 사이닝(signing) 하는 툴을 만든다고 쳐.

펌웨어 바이너리에 헤더 붙이고 끝에 해시 붙이고 공개키 붙이고 뭐 이런거 해야 하는데

이게 다 파일처리다.

그리고 막 쏟아져 나오는 로그같은거 처리할 일도 많지.

그런게 다 파일처리야.


2. 공부하면 좋은 과목

의외로 알아두면 일하면서 광팔아 먹기 좋은 지식들


* 소프트웨어공학

주먹구구로 대충 일하는 회사가 아닌 이상,

그래도 구색 같춘 회사라면 최소한의 프로젝트 관리를 할꺼다.

프로젝트 관리가 어떻게 돌아가는지 알면 니가 일하는 페이스를 조절 하는데 도움이 되지.

그리고 언제까지 시키는 일만 할것 같냐? 언젠간 너도 프로젝트 리딩을 한다.

그럴 때 소프트웨어 공학 지식이 필요하다.


* 전자공학

펌웨어 일이라는게 하드웨어랑 밀접하다 보니까,

하드웨어를 직접 만지거나 만드는 일은 없어도

그쪽 용어를 많이 듣게 된다.

최소한 하드웨어 관련 용어라도 해석하라면 필요한 과목이다.


* 알고리즘

은근 펌웨어는 그리 대단한 알고리즘이 많이 필요하지 않다.

내 경력에서는 시큐리티 펌웨어 할 때 알고리즘을 많이 다뤘는데,

그런거 아니면 사실 펌웨어는 하드웨어의 특성과 시퀀스가 중요하지 

알고리즘을 이리 바꾸고 저리 바꾸고 하면서 뭘 할 일이 별로 없어.

딱 정해진 명확한 시퀀스가 미리 주어지는 경우가 거의 대부분이거든.

그래도 아주 기본 알고리즘들.

예를들어, 큐, 스택, 트리, 리컬시브, 리스트, 해시, 풀 뭐 이런것들에 대한 개념은 빠삭해야지.


* 객체지향 프로그래밍

걍 C++ 공부하란 얘기야.


* 프로그래밍언어

펌웨어는 C로 거의 하지만 은근 지원 툴을 쓸 때 여러 프로그래밍 언어를 많이 쓴다.

이들 프로그래밍 언어들이 기본적으로 두 계열로 나뉜다. 절차형 언어와 함수형 언어지.

그리고 스크립트 언어들도 많이 쓴다. 스크립트 언어들은 거의다 인터프리터들인데 예내들은 특성이 또 좀 달라.

뭐 이런걸 이론 수준에서 공부하면 좋지.



3. 펌웨어랑은 관계 없지만 꽤 중요한 과목

내 생각에는 엄종 전환할 때 유용할 것 같아.


* 공학수학

기본 of 기본 이론이긴 한데 나는 사실 딱히 이 과목에서 배운 지식을 제대로 써 본적이 없어

안배웠어도 먹고 사는데 지장 없었을 것 같은 느낌...

물론 다른 과목 공부하는데 필요했겠지만...


* 미적분

이거도 기본 수학이니까... 


* 확률 통계

내가 학교 댕길 때는 인기 없었는데

요새는 확률, 통계 이게 머신 러닝의 기초 이론이다 보니까

인기가 엄청 많다고 하더라.


* 선형대수

선형대수 역시 머신 러닝의 기초 이론이다 보니..

아마 앞으로 몇 년 이내에 펌웨어에도 머신러닝 코딩 할 일이 생길지도 몰라.

난 그 전에 은퇴해야지.


* 네트워크

네트워크 펌웨어 질은 비추한다.

너무 어렵고 복잡하거덩. 사실 천재들 같아. 이쪽에서 일하는 사람들은.


추천 비추천

13

고정닉 1

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 말머리 제목 글쓴이 작성일 조회 추천
2993 설문 팬덤 때문에 오히려 여론이 나빠진 스타는? 운영자 25/03/17 - -
3155 공지 [공지] 멤버만 글쓸수있게 변경함 [3] 퍼플승연갤로그로 이동합니다. 23.11.27 2534 0
2745 공지 [공지] 임베디드 갤러리 규칙 퍼플승연갤로그로 이동합니다. 23.10.11 1507 0
4616 일반 학부연구생을 꼭 학교에서만 안해도 되는건가요? [3] 임붕이 03.21 161 0
4615 일반 캡스톤 디자인 조장 [5] 임붕이 03.21 139 0
4614 일반 장기근속은 별로임? [12] 임붕이 03.21 250 0
4613 일반 졸업 프로젝트로 [7] 임붕이 03.20 198 0
4612 일반 Lidar할줄아는사람 [18] 임붕이 03.20 185 0
4611 일반 아래공부법 질문한 임붕이 인데.. [7] 임붕이 03.20 224 0
4609 일반 신입일때 몰랐던것 5가지 [3] 임붕이 03.19 295 0
4608 일반 아 캡스톤 주제 뭐해야되지 [11] 임붕이 03.19 312 0
4607 일반 임붕이 연봉협상 하고왔다 [4] 임붕이 03.18 333 0
4606 일반 임베디드 부캠은 오토에버가 진짜 좋아보임 [3] 임붕이 03.18 319 0
4605 일반 임베디드 입문 goat [1] 임붕이 03.18 321 2
4604 일반 혹시 헤드헌터들은 내 이력서에 석사인지 학사인지 못봄? [1] 임붕이 03.18 174 0
4603 일반 이거 교육듣다가 튈까? [20] 임붕이 03.18 352 0
4601 일반 우분투 무한 grub... [8] 임붕이 03.18 170 0
4600 일반 임베디드 sw 공통? 부분 공부 할려는데 [24] 임붕이 03.17 666 0
4599 일반 취업했는데 [10] 임붕이 03.17 327 0
4598 일반 hw하면서 기구까지 보는 분 있나? [1] 임붕이 03.17 119 0
4597 일반 형들 이런 국비는 들을만 해요? [3] 임붕이 03.17 274 0
4594 일반 아 일하면서 공부하는데 [7] 임붕이 03.16 340 0
4593 강좌 [ BBB - yocto (12) ] I2C [4] 임붕이 03.16 225 6
4592 일반 첫 면접 준비하는데 정신 나갈 거 같다 [7] 임붕이 03.15 435 0
4591 일반 한화 에어로 신입공채 떳네 [2] 임붕이 03.15 337 0
4590 일반 C랑 학부때 아두이노 해본게 전분데 [8] 임붕이 03.15 463 0
4589 일반 전자공 전공질문 [1] 임붕이 03.13 320 0
4588 일반 형들 진짜 씹소리긴 한데 고민에 대한 조언좀 [7] 임붕이 03.13 542 0
4586 일반 자율주행은 언제쯤 좋아질라나 [1] 임붕이 03.12 234 0
4585 일반 이런상황이면 위에다 말을 어케해야하냐 [5] 임붕이 03.12 355 0
4579 일반 방산이 답이다 [2] 임붕이 03.11 482 0
4578 일반 ESP32 뉴스떳다 [7] 임붕이 03.11 520 0
4577 일반 우리학교 수준 레전드 ㄷㄷ [15] 임붕이 03.10 821 0
4576 일반 제발 내가 취준할땐 [10] 임붕이 03.10 481 0
4575 일반 스레드하다가 본 재밌는글 [2] 임붕이 03.10 303 0
4574 일반 소자같은거 어디서 구매할 수 있음? [2] 임붕이 03.09 257 0
4573 일반 안녕하십니까 막 고등학교 올라온 고1인데 진로에 관해 질문이 있습니다. [13] 임붕이 03.09 259 0
4572 일반 펌웨어 로우레벨 쪽에서 말하는 리눅스 역량이 [3] 임붕이 03.09 459 0
4571 일반 임붕이 [1] 임붕이 03.08 202 0
4570 일반 학벌 질문... [14] 임붕이 03.08 597 0
4569 일반 학교 도서관 굳 [4] 임붕이 03.07 393 0
4568 일반 아까 빌드팀 질문 한사람 [21] 임붕이 03.06 368 3
4567 일반 2학기에 임베디드시스템이랑 임베디드시스템설계 잇다 [2] 임붕이 03.06 336 0
4564 일반 인터뷰 대비용으로 RTOS 벼락치기하려는데 [8] 임붕이 03.06 409 0
4563 일반 국비학원 (한국IT교육원) 가도 되는거냐? [15] 임붕이 03.05 553 1
4562 일반 혹시 OLED 1.3 / 0.96 inch 가상 에뮬레이션같은거 안 될까 [9] 임붕이 03.04 241 0
4561 일반 안녕하세요 [9] 임붕이 03.03 423 0
4559 강좌 [ BBB - yocto (11) ] uart [2] 임붕이 03.03 335 5
4558 강좌 [ BBB - yocto (10) ] 오버레이 [2] 임붕이 03.03 203 5
4557 일반 진짜 펌쟁이는 너무 억울해 [3] 임붕이 03.03 493 0
4555 강좌 [ BBB - yocto (9) ] 장치트리(DEVICE TREE) [8] 임붕이 03.03 242 4
4554 일반 임붕뉴비 시언어 공부 중인데 너무 야하다 [9] 임붕이 03.02 479 0
4553 일반 신입 공고 검색 요령이 있을까요? [6] 임붕이 03.02 437 0
뉴스 추소정 “백반 한 상 같은작품, 현장도 유쾌”…시우민과 연기 호흡 소감 (허식당) 디시트렌드 10:00
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/4