많은 개발자들이 이 글을 읽고 다음과 같은 질문을 주셨어요.
* 개발자로써 빌드오더와 테크트리를 잘못 타서 망하는 케이스가 무엇인가?
이번 포스팅을 통해 빌드오더와 테크트리를 타다가 망하는 경우에 대해 이야기해보려 해요.
자신이 몸담았던 개발 분야가 시장에서 사라지는 경우: 비운의 플래시 컨텐츠 개발자
가장 먼저 개발자가 열심히 일했던 개발 분야가 시장에서 소멸되는 경우에요. 시장에서 사라진 기술들은 생각보다 많은데요. 대표적인 케이스로 플래시 개발자를 예로 들 수 있어요.
지금 2020년인데, 요즘 플래시 컨텐츠를 활용해 UX를 개발하는 분들을 들어본 적이 있나요? 아마 그리 많을 꺼에요.
자, 그럼 10년 전으로 거슬러 올라가 볼까요?
사실 플래시 개발자(플래시 컨텐츠 컨텐츠/UI, 브라우저에서 플래시 동영상을 플레이) 2010년 이전에 굉장이 많았어요.
2010년 스마트폰 시대가 열리기 전에 예전에 썼던 일반폰(피쳐 폰)의 UI는 대부분 플래시 컨텐츠를 플레이 했었어요. 지금은 상상하기 어려운 이야기인데 2010년 전에는 상당한 붐이 일었죠.
인터넷 홈 페이지는 대부분 화려한 플래시 컨텐츠를 활용해 쿨하고 멋진 그래픽 효과를 자랑했죠. 네이버나 다음은 물론이고 대부분 포털 사이트에서도 플래시 컨텐츠를 볼 수 있었어요. 플래시 컨텐츠를 개발하는 액션 스크립트를 활용해 생동감있는 애니메이션을 제작했었고, 이를 설명하는 여러 책들이 출간됐었죠.
플래시 UI 개발자 풀은 점점 늘어났었고, 저도 '2008년 플래시 개발자를 해볼까?' 고민을 했었죠.
그런데 2010년 안드로이드와 아이폰이 휴대폰의 역사를 바꾸기 시작했죠. 바로 스마트 폰의 시대가 열었는데요.
그 시점부터 플래시는 점점 IT 시장에서 사장되기 시작했어요.
그러다가 아래 기사를 보면 알수있듯, 플래시 플레이어 업체인 어도비가 플래시 플레이어의 지원을 2020년에 종료한다고 하네요.
2010년까지 플래시 전문가로 인정받고 높은 연봉과 대우를 받던 플레시 개발자들은 지금도 플래시를 개발하고 있을까요?
아마 그 경력을 계속 인정받으면서 일하는 플레시 개발자는 거의 없을 것이라 예상합니다.
안타까운 현실은, 10여년 동안 열심히 액션 스크립트 코딩을 했던 경력을 살리기 어렵다는 사실입니다.
이처럼 자신이 속한 IT 분야가의 기술이 시장에서 사라지는 경우 경력 단절이 된다는 점입니다.
여기서 한 가지 중요한 의문이 생깁니다.
* 플래시가 2010년을 기점으로 점점 기울어져 갔는데, 그 조짐이 보였는가?
사실 2010년 전에 플래시는 시스템의 메모리를 너무 많이 소진하고 CPU를 불필요하게 점유한다는 불만이 IT 업계에서 표출되기 시작했어요. 또한 브라우저 시장에서도 플래시는 HTML5로 대체될 것이란 소문이 무성했었죠.
저도 플래시가 시장에서 점점 기울어가는 조짐을 봤었고, 2009년 정도에 임베디드 리눅스 BSP 업계로 아예 캐리어를 바꿨답니다.
플래시를 예로 들었지만 IT 분야에서 소멸되는 기술은 의외로 많습니다.
우리 개발자들은 지금 몸 담고 있는 개발 분야의 시장 전망이 밝은지 꾸준히 모니터링 할 필요가 있어요.
자, 이번에는 임베디드 분야로 시선을 돌려 빌드오더를 잘 못 타는 예시를 들어보겠습니다.
2년 단위로 플렛폼(운영제체)을 바꾸면서 개발
이해를 돕기 위해 어떤 임베디드 개발자의 빌드오더를 소개합니다.
* RTOS(ThreadX) 2년 개발 - 리눅스 드라이버 3년 개발 - RTOS(REX) 드라이버 2년 개발
이 분은 2년 동안 열심히 ThreadX라는 RTOS 기반에서 드라이버를 개발했습니다. ThreadX라는 운영체제를 처음에 접하느라 고생을 많이했죠. 야근을 거듭한 뜻에 프로젝트를 무사히 끝냈습니다. 프로젝트를 하나 마무리하니 시행착오 끝에 개발 능력이 업그레이드 된 것 같아 뿌듯했습니다.
그리고 다음 프로젝트에서도 ThreadX라는 RTOS에서 환경에서 드라이버를 맡았는데 흥미를 느껴 스스로 성능을 개선하는 코드까지 작성하게 됐습니다. 이렇게 2개 프로젝트를 마쳤는데 매니저는 (TheadX 기반에서 드라이버를 개발했던 분에게) 리눅스 운영체제에서 드라이버를 개발하라고 합니다.
이 분은 '내가 아직 리눅스 디바이스 드라이버를 개발한 적이 없는데 잘할 수 있을까'라며 스스로 질문을 던집니다. 그러니 매니저는 다음과 같이 말하며 다독입니다.
* ThreadX 에서 드라이버를 잘 개발했으니까. 리눅스에서도 잘 할꺼야.
이 분은 다시 리눅스 기반의 드라이버를 개발하기 시작했습니다. 그런데 문제는 기존에 개발했던 ThreadX에 대한 개발 능력을 살리기 어렵다는 사실이에요. 함수 이름과 스타트 업 코드가 아예 달랐거든요. 이 분은 다시 리눅스 디바이스 드라이버를 개발하면서 야근을 밥 먹듯이 하게 됩니다.
개고생 끝에 리눅스 드라이버를 안정화시켜서 프로젝트를 잘 끝냈어요. 그 다음에 할당된 프로젝트는 다행이 리눅스 기반이었어요. 뭐, 이전에 고생했던 리눅스 기반 드라이버라 그리 고생은 하지 않았죠. 그러다보니 3년의 시간이 흐릅니다.
리눅스 디바이스에 익숙해졌다고 느낄 때 회사에서는 다시 REX라는 RTOS의 기반의 드라이버를 맡아 달라고 합니다.
이 분은 이제 조금 혼란을 겪기 시작합니다. 2~3년 단위로 개발하는 프로젝트의 운영제체가 바뀌네.
여기서 소개한 개발자분의 빌드 오더를 보면 2~3년 주기로 상이한 운영체제에서 드라이버를 개발했습니다.
뭔가 어떤 운영체제에서 자신이 잘 할 것 같다는 느낌이 생기면 상이한 운영체제에서 개발을 하기 시작합니다.
어떤 분야에서 내공을 쌓으려면 그 분야에서 5년 이상 꾸준히 실무 경험을 쌓을 필요가 있어요. 그런데 2~3년 단위로 플렛폼(운영체제) 계속 바뀝니다.
이 개발자분은 13+ 여년 동안 2~3년 단위로 서로 다른 운영체제에서 개발하다가 내공을 쌓을 기회를 잃어 버리고,
스스로 뭔가 잘한다고 명함을 내밀만한 기술이 없다는 걸 느겼어요. 그런데 나이는 40대 중반이 됐죠.
결국 매니저가 되어 개발을 떠나게 됐습니다. 결과론이지만, 이 분은 전문성을 쌓아 올리기 어려운 빌드오더를 선택했다 볼 수 있습니다.
Written by <디버깅을 통해 배우는 리눅스 커널의 구조와 원리> 저자

최근 덧글