2015년 1월 9일 금요일

SoC, Asic 칩개발 오디션에 합격하기

SoC, Asic 칩개발 오디션에 합격하기


이런 낚시글과 같은 제목을 붙인것에 대해서 정말 부끄럽지만,
여러 친구들을 면접을 보다보면 안타까운 부분이 많아서 글을 적어보려고 합니다.


요즘 K-pop 스타를 보시나요?


거기서 박진영 심사위원이 무엇을 심사하나요?

아래와 같이 심사하나요?

노래잘해요?
기본기도 있어요?
소울도 있나요
R&B 도 되는지?
열정은 있나요? 
알겟습니다. 합격.

아닙니다. 노래를 불러보라고 합니다.

그럼 SoC 엔지니어는 무엇이 있어야 할까요?

그냥 노래잘하듯 프로그래밍을 잘해야합니다. 술술술~

억지로 취직하려고 공부한것이 아니고, 열정이 있어서 술술술~

SoC 엔지니어가 되고 싶다면, 아래와 같은 능력들을 있어야합니다.

c 코딩 

눈감고도 2차원 포인터와 2차원 포인터 배열이 무언지 설명하고 코딩할수 있어야합니다.
메모리할당, 해제등을 경험해 보지 않은사람과 해본사람은 다릅니다.

verilog 

이건 그닥 중요하지 않다고 생각합니다. 언어중에 veriog 가 가장 쉬운축에 속합니다.
verilog 에는 pointer 도 없고 malloc 과 같은 메모리 할당도 없습니다.
verilog 보다는 c를 잘하는것이 컴퓨터 아키텍처를 익히는데 도움이 됩니다.

c++/객체지향코딩/디자인패턴

객체지향은 매우 어려워서 10년이상된 c 프로그래머들조차 익숙하지 않은 영역입니다.
하지만 요즘, system verilog, ruby, python 등 객체지향으로된 언어를 사용하면
생산성이 매우 올라갑니다. 재활용하는 코드가 많아지니까요.

디자인 패턴은 JAVA 라구요? 허허...
system verilog 는 객체지향입니다.
system verilog 에 uvm 이라는 framework 가 있습니다.

uvm 링크 ==> http://www.accellera.org/downloads/standards/uvm

uvm 이라는건 객체지향으로된 verilog 검증 패턴입니다. 
불행하게도 디자인 패턴 을 모르면 uvm 도 이해하지 못합니다.

perl/ruby/python scripting

적어도 script 언어는 다룰줄 알아야합니다.
nvidia 등의 반도체 회사는 공채에다가 대놓고 perl 할줄아니? 라고 적어놓습니다.
할줄아는게 중요한게아니고,
문제를 주면 바로 script 로 해결할수 있어야합니다.
노래를 아는게 중요한게 아니고 부르는게 중요합니다.
프로그래밍도 정말로 할줄아는게 중요합니다.
불행하게도 perl 은 10년동안 점점 사장되고 있고,
요즘은 ruby, python 등이 대결하고있는 추세입니다.

학습량

작년 1년동안 학습한 책중에 5권 이상은  열정적으로 말하고 싶어서 입이 근질근질 해야합니다.
잘하는 엔지니어가 되고싶으면 1년에 20~30 권은 학습해야한다고 생각됩니다.




열정

적어도 학부생이라면 아침부터 저녁까지 하루종일, 학습, 프로그래밍을 연마해야합니다.
무인도에 떨어뜨려놓더라도 컴퓨터 한대만 주면 하루종일 프로그래밍을 연마하고 싶은,
프로그래밍없으면 살수없는 그런 사람이 SoC 개발도 잘합니다.


위에 이야기한것들을 모두 가지고 있다면 바로 합격입니다.










댓글 없음:

댓글 쓰기