-
2020-02-1108:25:53 #3427786라떼홀스 182.***.78.239 1704
미국 CS석사 후 취업 실패하고 한국 대기업에서 Data Scientist 로 잡일(한국은 체계가 없어요 아직) 하고 있습니다…
여기 짱박혀 있으면 배우는것도 없고 커리어가 꼬여만 가고 있는거같아……
한국내 이직 준비 중인데…국내 연봉 많이받아야 달러기준 60k~70k 근방입니다…
글래스도어로 job posting 이메일링 걸어놨는데…….염장지르듯 연봉올라오더라구여 ㅠ
걍 아싸리 미국으로 다시 갈까도 싶은데요…
OPT도 없고….방법은 차치하고…NIW등 각종 수단 강구..
얼마전 센프란시스코 여행이후 베이지역 취업 생각이 부풀어 있는데요…
한국 도 요즘 코딩테스트 2~3년전부터 쫙 퍼졌는데…
요즘 베이지역 Data Scientist 직군 코딩/알고리즘 test 난이도나 분위기 어떤가요??
전화/온사이트 test/화이트보드 슈도코딩…. 다양할 꺼같은데…
얼마나 빡센지 궁금하네요…
DFS/BFS/LIFO/FIFO/Heap/Hash/Sort/DP/Stack/Queue 이정도 딸딸 외우면 카바 되나여?
SQL 류도 테스트 시키나여?
-
-
지금이라도 늦지 않았으니 임베디드 프로그래머로 거듭나시면됩니다.
한국에서 회사 규모 네임 벨류 이런거 싹 무시하고 시골이라도 괜잖으니 임베디드 소프트웨어 엔지니어 타이틀 달아주는데 가서 정말 밑바닥 코딩부터 한 3년 직접 하면서 부트로더 통신 이런 코딩들 죽도록 해보고 그 경력으로 미국에 이력서 날리면 미국 전역의 소규모 가내수공업같은 전자회사들에서 영주권 해주고 모셔갑니다.-
임베디드는 저같은 허접은 엄두도 안나네요 ㅋㅋ 컴파일러/아키텍처 수업 생각나네요.. 원리와 이론은 넘 흥미있었고 과제 재미는있었지만….머신 랭귀지로 gcd, lcm 하나 푸는것도 3일밤 새며 겨우 한거 생각하면 저같은 x밥은 갈길이 아니라고 느꼈습니다. lex&yacc 같은거로 grammar parsing 같은거 구현 했던거도 새록새록떠오릅니다만…현업에서 하라하면 못할꺼같아요. OS수업때 system call , memory hit rate, paging 같은거 생각나네요…..전문분야는 전문가가 해야한다고 생각합니다.
-
임베디드 분야가 정말로 하기 싫고 다른 분야에 절대적 흥미가 있어서 그러신다면 더이상 권하지 않겠습니다. 본인도 컴싸 전공으로 데스크탑 애플리케이션만 주구장창 10여년 개발하다가 나이들어서 임베디드로 전향했는데 아키텍쳐의 심오한 이해 없이도 오히려 더 쉽게 임베디드 프로그래밍하고 있고 아주 재미있습니다. 제 경험으로 볼때 임베디드 코딩은 데스크탑 애플리케이션 코딩보다 훨씬 쉽고 단순합니다. 그래서 권해드리는겁니다. 참고로 EE 출신들은 딥레벨 프로그래밍을 모르고 프로그래밍에 대한 제대로된 교육과정이 없습니다. 반대로 CS 출신들은 하드웨어를 구동하는 코딩을 해본적이 없고 그런 코스웍도 없으므로 사실 임베디드 프로그래밍은 일종의 gray area 에 있습니다. 그런데 cs 출신들이 그쪽으로 진출하며 매우 빠르게 적응합니다. 그래서 권해드리는겁니다.
-
-
-
상당히 공감합니다. 특히 소규모 가내수공업 ㅋㅋㅋ
말씀하신 임베디드 프로그래밍도 사실 분야가 은근 넓은 편 아닌가요? 어플리케이션에따라 공부방법도 좀 다를 것 같은데요. 임베디드의 소프트웨어의 핵심은 뭘까요?-
임베디드 분야의 알고리듬이나 애플레이케션 자체는 사실 극도로 단순하고 몇게 되지도 않습니다. 단지 스케쥴러나 루푸를 어떻게 효과적으로 짜느냐 정도의 난이도가 있을 뿐이죠. 물론 요즘 아마죤 서버와 연동하는게 트렌드라 아마죤 입출력 인터페이스 접근방법, 기본 보안 그리고 전통적인 TCP/IP 정도만 할줄 알면 나머지는 말 그대로 인터넷에 돌아다니는 코드로 stackoverflow driven design 만으로도 쉽게 코딩이 가능합니다.
말씀하신 분야가 은근히 넓다라는 말은 실무적 시각으로 볼때는 결국 어떤 프로세서를 경험했봤냐는거죠. 임베디드는 타겟이 소프트웨어 그 자체가 아니라 하드웨어 입니다. 즉, 어떤 하드웨어에서 개발을 했느냐가 곧 임베디드 프로그래밍인거죠. 하드웨어 사양 자체가 표준이 있는게 아니라 대부분 제품 사양에 따라 대부분 자기 제품에 최적화된 커스텀 보드를 만들어 사용하므로 물리적인 변수가 정말 무궁무진합니다. 거기서 오는 다양성을 얼마나 감당할 수 있느냐는건데 생각해보면 그것도 그리 어려운게 아닙니다. 왜냐면 회사마다 제품에 사용하는 하드웨어 (프로세서)는 한번 정해지면 그 제품이 심각한 문제나 END OF LIFE 되기전 까지는 계속 동일한 플랫폼을 사용하기 때문입니다. 물론 프로세서 퍼포먼스나 파워도 조금씩 업그레이드 되지만 그자체로 그리 심각한 변수는 아닙니다. 따라서 어떤 한 회사에서 임베디드 코딩을 할때는 그 회사에 머무는 한 계속 동일한 개발 환경을 사용한다고 보면 됩니다. 그리고 회사를 옮기면 완전히 다른 플래폼을 사용하므로 새로운 BSP에 익숙해질때까지 시간이 좀 걸립니다.
질문하신 임베디드의 핵심은 제가 볼때 크게 세가지입니다.
1. 부트로더 – 모든 커스텀 보드는 일반 피씨가 아니므로 모든 셋팅을 첨부터 개발자가 다 해줘야 합니다. 물론 부트로더는 개발 초기에 한번 셋팅해놓고 계속 사용하지만 나중에 펌웨어 업그레이드를 한다든가 할때를 위해서 부트로더 자체를 제품의 필요에 맞게 수정할 수 있는 능력이 필요합니다. 대부분의 회사에서 부트로더를 시니어 레벨 이상의 개발자들이 손을 댑니다.
2. 통신
여기서 말하는 통신은 외부 디바이스와의 통신을 말하는게 아니라 펌웨어 내부에서 서브시스템들끼리 데이터를 주고 받는 통신을 말합니다. 대규모 임베디드 프로젝트의 경우 여러 개발자가 서로 다른 서브시스템과 모듈을 개발하는데 그때 서로 자신들이 정한 네트웍 프로토콜로 통신합니다. 따라서 기본적인 TCP/IP 같은건 거의 모든 임베디드 프로그래밍에 기본으로 들어갑니다.3. 통신 프로토콜
TCP/IP, CAN, I2C, HART, MODBUS, 등등 꽤 여러종류의 전통적인 통신 프로토콜은 대부분 기본으로 쓰입니다. 물론 이런 통신 프로토콜은 하드웨어 벤더들의 드라이버 형태로 라이브러리를 제공하므로 직접 로우레벨 코딩까지 할 필요는 없지만 많은 경우에 드라이버에 버그가 있거나 퍼포먼스에 문제가 발생합니다. 그럼 직접 드라이버 소스코드를 보고 버그를 수정한후 드라이버 자체를 재컴파일해서 다시 로드하는거죠. 이런건 시니어 레벨이나 아키텍트 레벨 개발자들이 담당합니다.
-
-
미국 데이터사이언티스트도 석졸 신입이면 잡일에 치일 가능성이 높습니다…
-
임베디드로 시니어레벨까지하다가 지금은 웹 백엔드 하고 있습니다.
임베디드는 가내 수공업회사가 많죠… ㅋㅋㅋㅋㅋㅋ.직업으로써의 임베디드 장점
1. 높은 진입 장벽. 아무나 시작 못함. 집이 부자라서 오실로스코프랑 기타 장비 구입 가능한 경우 제외
2. 적은 공부량. 새로운 기술을 배우기 보다, 새로운 하드웨어에 맞게 커스터마이징하는 업무가 대부분단점
1. 셀러리가 급격히 올라가지 않는다. 20년즘 해야 시니어 소리 들을 수 있음.
2. 단조로운 업무가 많아서 뒤쳐지는 기분이 든다. 클라우드, 인공지능 이야기 나오면 먼나라 이야기 같음.
3. 리모트로 근무하기 어려운 환경. 테스트 장비 들고 나오지 않는 이상 집에서 일하기 힘듬전 bsp 업무가 너무 싫었습니다. 그래서 백엔드로 이직했고 나름 만족합니다. 빡세긴 하지만.
-
참고: 위에 “형”씨가 말하는 임베디드 개발은, 완전 로우레벨 임베디드, 예를들어 부트로더, 펌웨어, 드라이버 레벨에서의 개발을 말씀하시는 겁니다.
임베디드라도 OS 올려서 돌아가는 시스템일경우, 거기서의 어플리케이션은 PC에서 개발하는거랑 다를바가 없거나, 혹은 필요한 라이브러리 같은거 dependency 일일이 맞춰서 포팅해 올리다보면 상노가다가 따로 없습니다. (ex> 임베디드 리눅스). -
데이터 사이언스 전공자한테 무슨 임베디드 드립이야?
것도 잼나는 인간한테나 재미있지
BSP쪽은 맨날 하드웨어 컨트롤 부분만 좀씩 바꿔대는 지겨운 노가다잖아.
경력보니 짧고 석졸이라 NIW는 어렵겠소
한 10년이상되야 될건데..
본인이 석졸 10년이상 대기업 경력으로 영주권 받았소 -
베이지역은 아니지만 지금 미국 대기업에서 데이터사이언티스트로 일하고 있는데요
저는 우연치 않은 기회로 일하게 됬지만, 우선 외국인이 이 쪽에서 풀타임 잡기엔 너무 치열합니다.
컴싸뿐만 아니라 ‘아무나’ 시도해 볼 수 있는 정도로 여겨지기 때문에요..
저희 팀만 해도 레쥬메들어오는거 보면
economics, statistics, information system 등등 진짜 아무 전공이나 코딩에 ㅋ 라도 배웠다면 진짜 다 지원합니다.
솔직히 컴싸만큼 프로그래밍 실력이 필요하지도 않아서 다른전공자를 많이 뽑기도 하고요..데이터사이언티스트 의 경우, 테크니컬 인터뷰는 sql 관련된게 제일 많고요
머신러닝 라이브러리나 파이썬 관련해서 정도 조금 물어보지 제 경우는 일하는동안 솔직히 한번도 복잡한 데이터스트럭쳐 필요해본적이 없습니다.연봉은 average로 데이터사이언티스트가 확실히 소프트웨어 엔지니어보다 훨씬 많이받습니다. (저희 회사 기준..) 하지만 외국인으로써 개발자가 ‘미국 취업’ 자체에는 더 가능성이 높습니다..
-
^수학이랑 프로그래밍 할줄 알면 너도나도 지원하는 분야 입니다… 관련없는 문과학부생도 부트캠프하고 기웃거림
-