Linux Kernel(4.19) Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

230224
1178
109352


임베디드 개발자 양극화는 얼마나 심각할까? 임베디드 에세이

양극화는 우리 사회가 겪고 있는 가장 심각한 문제 중 하나다. 

양극화를 아주 이해하기 쉽게 설명해볼까? 

     "잘사는 가정에서 태어난 아이들은 평생 부유한 환경과 유리한 조건에서 살고 못사는 집안의 아이는 평생 라면만 
     먹고 산다!" 

양극화의 원인은 다양하지만 가장 큰 이유는 다음과 같다.  

     "교육 기회의 박탈!" 

못사는 집안의 아이들은 부유한 가정의 아이에 비해 교육 환경이 좋지 못하니 좋은 대학에 가지 못하고 이로 좋은 회사에 취업도 못해 가난의 대물림이 계속된다는 것이다. 

이 문장을 임베디드 개발 양극화 관점으로 바꿔서 말해볼까?  
좋은 개발 부서에서 실무 프로젝트를 수행한 개발자는 어떨까? 

     "계속 실력이 향상하며 좋은 대우를 받을 것이다."

대신 허접한 개발 부서에서 개발을 시작한 개발자는? 

     "개발 능력이 업그레이드되지 않아 평생 라면만 먹으며 낮은 연봉을 받으며 일한다" 

어쩌면 도그마적인 생각으로 개발자를 분류하는 것 같긴하다. 하지만 실력 좋은 선배나 동료와 함께 개발을 하면 실력이 더 는다는 것을 부정할 사람은 없을 것 같다.

그러면 임베디드 개발자도 양극화가 있을까? 내가 겪어 본 바로는 개발자 양극화도 심하다고 생각한다.
내가 말하는 양극화는 기회의 박탈이다. 즉 실무 경험을 통해 개발 능력을 키울 기회를 의미한다. 

임베디드 개발자 등급도 소고기 등급과 같이 특급부터 3등급까지 여러 등급으로 나눌 수 있는 것 같다.언제 등급이 매겨지는지 살펴보자. 

가장 크게, 임베디드 개발자 등급은 취업할 때 입사하는 회사에 따라 나눠진다. 
여기서 말하는 회사는 연봉과 이름값만을 의미하지 않는다. 역량 있는 개발자로 성장할 수 있는 실무 프로젝트를 할 수 있는 회사다. 

아래 조건에서 임베디드 시스템을 개발을 시작하는 개발자는 우선 3~4등급으로 분류될 수밖에 없다. 왜냐? 
제대로 개발을 안 하니 실무능력이 쌓이지 않기 때문이다. 

1. 임베디드 장비로 디바이스 테스트만 하거나 시간을 많이 갈아 넣으면 할 수 있는 소모적인 일을 하는 개발 부서 
2. 코딩한 줄 하지 않고 다른 업체가 포팅한 드라이버를 올려 테스트를 하며 갑질을 하는 개발 부서 
3. 이미 안정화된 리눅스 커널에 드라이버 코드만 약간 수정하면서 프로젝트를 진행하는 개발 부서 
4. 남들이 해 놓은 드라이버를 컴파일이나 빌드를 빨리 해서 디바이스에 올리는 일을 하는 개발 부서 

회사의 이름 네임밸류가 높거나 연봉이 높다고 해도 이런 조건으로 일하는 임베디드 개발자의 역량을 인정해 줄까?

     "절~대 그렇지 않다." 

누구나 이름만 대면 알만한 좋은 회사에 소속된 개발자라도 위에 언급한 일을 반복하면 바보가 될 수 밖에는 없는 것 같다.

임베디드 개발자의 생명은 디버깅 능력이라 생각한다. 디버깅 능력은 문제 해결 능력과 직결되며 문제 해결 능력이 없는 개발자는 이 업계에서 인정해주지 않는다. 그런데 제대로 실무 프로젝트를 맡으며 만나는 여러 문제를 해결하는 과정이 필요한데 이런 **기회**를 박탈당한 개발자는 디버깅 기술 역량이 업그레이드되지 않는다. 

내가 여러 임베디드 모임이나 친구들과의 교류로 알게 된 사실은 많은 한국 임베디드 회사는 제대로 개발을 안 한다는 것이다. 그 이유는 한국 임베디드 IT 업체들은 실리콘 밸리에 있는 개발자와 경쟁할 수 있는 원천 기술이 녹아 있는 소프트웨어를 개발하려는 의지가 보이지 않기 때문이다. 

     "대부분 미국 등 해외 업체가 구현한 소프트웨어를 올려서 커스터마이즈하는 수준의 일을 하는 경우가 많다." 

그럼 이제 1차 관문에서 다른 임베디드 개발자 등급은 가려졌으니 이제 1등급부터 특급으로는 가는 길만 있지 않을까? 
하지만 현실은 그렇지 않다. 운 좋게 1차 관문을 통과해서 좋은 회사에 취업해도 3~4등급으로 떨어질 수 있다. 

제대로 실무 경험을 쌓을 수 있는 회사에 배치됐다고 해도 그 부서 배치나 그 부서의 개발자 육성 정책에 따라 개발자 등급이 또 나뉘기 때문이다. 

1. 회사의 운명을 결정 짓는 최신 임베디드 시스템을 개발하는 부서에 배치된 경우 
- 쟁쟁한 개발자 틈에서 맨날 테스트만 한다. 
- 핵심 디버깅 기법은 핵심 개발자들끼리 이야기하고 공유하지 않는다. 
- 맨날 이메일을 쓰면서 다른 업체 인터페이스 역할만 한다. 

2. 정치 싸움에 밀려 개별화만 커스터마이즈만 하는 프로젝트를 하는 개발 부서에 배치 
- 빌드 머신이 되어 하루에 3~4개씩 이미지를 배포하고 테스트만 한다. 코드 분석할 시간은 물론 없다. 
- 커스터마이즈만 하는 일만 하는 부서이니 선배 개발자 개발 능력이 허접해 배울 것이 없다. 

정말 안타까운 현실은...

     "이름 값 하는 회사에서도 벌레처럼 기어다니듯 개발자도 수 없이 많다."

제대로 개발 능력을 키울 수 있는 프로젝트에 투입되는 것이 현실에서는 **정말** 쉽지 않다. 
1~2 관문을 통과하고 정말 실무 경험을 키울 수 있는 프로젝트에서 일하면 특급 개발자가 될 수 있나? 
그렇지 않다. 끊임없는 노력으로 학습을 해야 특급 개발자가 될 수 있는 것 같다.

"이 포스팅이 유익하다고 생각되시면 댓글로 응원해주시면 감사하겠습니다.  
그리고 혹시 궁금점이 있으면 댓글로 질문 남겨주세요. 상세한 답글 올려드리겠습니다!"









핑백

덧글

  • 개발지망생 2019/06/15 12:06 # 삭제 답글

    글 잘읽었습니다.
    만약에 글대로 제대로 개발능력을 쌓을수 없는곳에 취직했다면, 어떤방식으로 실력을 올릴수 있을까요?
    따로 개인시간에서 할 방법으로 실력을 쌓을수 있는 방법은 없는건가요?
  • AustinKim 2019/06/15 13:31 #

    '제대로 개발능력을 쌓을수 없는곳에 취직'했다면 다음 방법으로 실력을 더 키울 수 있습니다.

    1. 현재 맡고 있는 직무에서 개선점을 찾는다.
    - SW 업무는 굉장히 다양하지만 크게 다음과 같이 분류할 수 있겠습니다.
    ; 요구 사항에 맞는 코드 작성
    ; 유지보수 및 디버깅
    ; 시스템 관리자

    현재 자신이 맡고 있는 개발 업무에서 조금이라도 개선할 점이 있나 찾아보세요.
    혹시 개선이 됐다면 소스 코드 분석으로 역량을 키울 수 있는 시간이 생길 것입니다.

    그 때 자신이 맡고 있는 직무에서 개발 능력을 키울 수 있는 자료를 보세요.

    2. 업무 노트를 작성한다.
    - 자신이 맡고 있는 업무 노하우를 블로그나 개인 노트로 정리해보세요.
    이 과정에서 많은 것을 스스로 배울 수 있습니다.

    3. 개인학습
    - 이 부분은 모든 SW 개발자에게 필요한 부분이라고 생각됩니다.
    개발능력을 키울 수 있는 회사이던 아니던 개인 스스로 시간을 내서 학습하지 않으면 자연히 토태됩니다.

    대부분 '회사에서 시키는 일만 하면' 바보가 되는 경우가 많거든요.
  • 따뜻한 동장군 2019/07/04 13:26 # 답글

    취준생으로서 정말 도움이 되었습니다. 감사합니다, 선배님.
    말씀하신 등급이 높거나 낮은 지, 즉, 실무프로젝트를 진행 하는 지 혹은 부서가 괜찮은 지에 대해
    입사하기 전에 대략적이라도 판단할 수 있는 방법이 혹시 있을까요??
  • AustinKim 2019/07/04 14:56 #

    답글을 쓰다 보니 글이 길어져서 아예 새로운 글로 포스팅했습니다.
    http://rousalome.egloos.com/9999738

    혹시 다른 궁금한 점이 있으면 댓글로 알려주세요. 화이팅입니다.
  • 혜민아빠 2019/08/10 09:52 # 삭제 답글

    대박 ^^ 너무나 좋은 글입니다.
    사람의 능력은 약간의 차이가 있다고 보지만 핵심은 개발 기회죠..ㅋㅋ
    "교육 기회의 박탈!"
  • Guillermo 2019/08/10 16:39 #

    재미있게 읽어주셔서 감사합니다. 즐거운 주말 되세요.
  • 슈퍼개발자 2019/08/10 10:18 # 답글

    오늘 와서 글을 보다가 이글루 가입도 했어여...ㅋㅋ
    너무나 감사합니다. 공감 100% 가는 내용들이 너무나 많네요..다른 글도 읽게 되네요 ㅋㅋ
    혹시 오프라인 모임도 있나요?
  • Guillermo 2019/08/10 16:38 #

    제 글을 재미있게 읽어주셔서 감사합니다. 개발자 양극화 참 심각하죠. 궁극적으로 이런 양극화에서 어떻게하면 벗어나는 방법을 연구 중입니다.

    앞으로 제 블로그 오셔서 유익한 정보 얻어가셨으면 좋겠습니다.
  • 개성있는 설인 2019/08/15 12:23 # 답글

    이글루 아이디도 없는데 블로그 구독하려고 가입했습니다. 임베디드 석사생으로써 진로에 이런 고민이 많았는데 경험에 비추어 조언해주는 글, 얘기는 많이 못봐서 아쉬웠습니다. 그런데 이런 등불같은 글이 있었네요. 감사합니다. 앞으로 자주 블로그 방문하겠습니다!
  • AustinKim 2019/08/15 18:01 #

    제 블로그에 실린 글을 재미있게 읽어주셔서 감사합니다.
    개발자의 양극화 문제는 생각보다 심각합니다. 제가 블로그에 유용한 디버깅 팁을 올리고 책을 쓰고 있는 이유 중 하나가 개발자의 양극화를 좁히기 위해서입니다.

    앞으로 제 블로그 오셔서 유익한 정보 얻어가셨으면 좋겠습니다.
댓글 입력 영역