첫 회사였던, 샌프란시스코 소재 B2B 스타트업에서 첫 인사평가를 받던 1년차 때 ‘인디비주얼 컨트리뷰터(Individual Contributor, 이하 IC)’라는 말을 처음 들었다. 매니저는 지난 1년 동안 인디비주얼 컨트리뷰터로서 임무를 잘 수행했다며 칭찬하고, 내년에는 더 큰 영향력을 발휘할 수 있는 기회를 찾아보자고 조언했다. 나는 개발자인데, 인디비주얼 컨트리뷰터는 무슨 소리지? 칭찬의 흐름을 끊고 싶지 않아 그냥 넘어갔고, 미팅이 끝난 후 구글에 그 단어를 검색했다. 그때, 해외에서 많이 쓰이는 듀얼 커리어 래더(Dual Career Ladder)라는 제도를 처음 알게 되었다.
에러 해결을 위한 가장 확실한 방법은 코드 전체를 확인하는 것입니다. 하지만 모든 코드를 확인하는 것은 현실적으로 어렵습니다. 따라서 에러 해결을 위한 가장 효율적인 방법은 현재 겪고 있는 상황을 잘 정리하여 질문하는 것입니다. 이때 재현 가능한 예제(또는 reprex)를 활용할 수 있는데요. 이 방법은 질문자의 현 상황을 답변자가 쉽고 정확하게 이해하고, 문제를 해결하는 데 도움을 줄 수 있도록 현상을 구현하는 것을 말합니다. 이번 글에서 개발자가 알아두면 좋은 재현 가능한 예제와 reprex 활용법에 대해 살펴보겠습니다.
비즈니스 관리 영역에는 이런 격언이 있습니다. ‘Lead People, Manage Business.’ 일을 잘할 수 있도록 사람들을 ‘리드’하고, 비즈니스를 철저하게 ‘관리’하라는 이야깁니다. 사업을 철저하게 ‘관리’하지 않으면 망합니다. 돈이 얼마나 벌리고 얼마나 쓰이는지 파악해 사업을 더욱 철저하게 ‘관리’해야 합니다. 단순히 개발만 하고 만다면 상관없지만, 더 높은 직급을 원한다면 비즈니스 전체 그림을 봐야 합니다. 매출은 어디서 나오는지, 매출을 어떻게 내는지, 비즈니스가 사회에 어떻게 기여하는지 등을 알아야 합니다.
소프트웨어는 ‘사람’이 만든다. 그리고 ‘함께’ 만든다. 리뷰어로서 지난 몇 년을 뒤돌아 보니 이 사실을 잊고 있었다는 생각이 들었다. 의지가 앞서 내 생각을 강요했고 맥락을 제대로 나누지 못했으며, 묻지 않고 내 말만 하기 바빴다. 이런 방식으로는 내가 원하는 것을 얻을 수 없었다. 내가 원하는 것을 얻기 위해서는 ‘함께’해야 한다. ‘함께’의 핵심은 내 생각을 자제하고 다양성을 인정하며 변화의 기회를 주고 기다려 주는 것이다. 그리고 그 밑바탕에는 사람에 대한 존중이 있다. 물론 쉽지 않은 일이다. 그래서 문화를 만드는 것이 아주 어려운 것이다.
소프트웨어 엔지니어로 2-3년 정도 경력이 쌓이면 이제 주니어 레벨에서 벗어날 준비가 필요하다. 회사에서도 한 단계 높은 미드레벨 개발자의 역량을 요구하기 때문이다. 평균적인 수치로 경력을 2-3년이라고 했지만 이는 사람마다 다를 수 있다. 빠르면 1년 이내 미드레벨에 도달할 수도 있고, 길면 4-5년 차 또는 그 이상이 될 수도 있다. 일반적으로 많은 회사에서 개발자 채용 시 ‘3년 이상의 경력’을 요구하는데, 해외에서는 L4 정도의 레벨을 의미한다. 이번 글에서는 주니어 개발자가 미드레벨에 도달하기 위해, 어떤 역량이 필요한지 필자의 경험을 토대로 살펴보고자 한다.
OTT 콘텐츠 많이들 보시나요? 지금 당장 생각나는 것만 해도 넷플릭스, 유튜브, 웨이브, 티빙, 왓챠 같은 많은 OTT 서비스들이 떠오르네요. 그런데 프론트엔드 개발을 조금이라도 해봤다면 웹 브라우저에서 저작권에 민감한 콘텐츠를 재생할 수 있다는 것이 매우 이상하게 느껴질 것입니다. 왜일까요? 개발자 도구를 쓸 줄 안다면 비디오 파일의 원본 URL을 쉽게 확인할 수 있고, 심지어 다운로드까지 할 수 있기 때문입니다. 그렇다면 여러 OTT 서비스들은 콘텐츠의 저작권을 보호하기 위해 어떤 기술을 사용하고 있을까요? 웹 브라우저에서 OTT 콘텐츠를 안전하게 재생하기 위해서 어떤 절차를 거쳐야 할까요?