이전 글 ‘주니어 개발자를 위한 엄청 쉬운 TCP/IP 4계층 이야기’에서, 컴퓨터와 컴퓨터의 통신이 올바르게 이루어지기 위해 데이터가 각각 어떤 계층에서 캡슐화되어야 하는지 알아보았습니다. 또한 데이터가 목적지에 정확히 전달되기 위해 계층별로 어떠한 프로토콜(약속)로 구성되어 있는지도 간단히 알아보았습니다. “응용, 전송, 인터넷, 네트워크 액세스 순으로 캡슐화”라는 큰 개념만 알아보았다면, 이번 시간에는 앞서 언급한 각 계층의 대표적인 프로토콜들에 대해 좀 더 알아보고, 각 프로토콜이 네트워크에서 어떻게 이용되는지 확인해 보겠습니다.
매니지먼트는 프로젝트 관리, 팀 관리, 프로세스 관리로 구분할 수 있습니다. 첫 번째 프로젝트 관리는 출시 시기와 중점을 둬야 하는 일을 관리하는 기술입니다. 두 번째는 팀 관리, 즉 사람 관리입니다. 세 번째로 프로세스 관리입니다. 진행하는 과정을 관리하는 기술입니다. 주니어 개발자로 입사하면 처음에는 주어진 일을 하며, 개발 방법과 개발 주기를 배웁니다. 연차가 높아질수록 프로젝트를 관리하는 방법, 직원을 관리하는 방법, 좋은 프로세스를 설정하는 방법을 고민하며 성장합니다. 이 단계를 거쳐야 좋은 시니어 개발자가 되거나 좋은 개발 팀장이 될 수 있습니다.
소프트웨어 엔지니어로 2-3년 정도 경력이 쌓이면 이제 주니어 레벨에서 벗어날 준비가 필요하다. 회사에서도 한 단계 높은 미드레벨 개발자의 역량을 요구하기 때문이다. 평균적인 수치로 경력을 2-3년이라고 했지만 이는 사람마다 다를 수 있다. 빠르면 1년 이내 미드레벨에 도달할 수도 있고, 길면 4-5년 차 또는 그 이상이 될 수도 있다. 일반적으로 많은 회사에서 개발자 채용 시 ‘3년 이상의 경력’을 요구하는데, 해외에서는 L4 정도의 레벨을 의미한다. 이번 글에서는 주니어 개발자가 미드레벨에 도달하기 위해, 어떤 역량이 필요한지 필자의 경험을 토대로 살펴보고자 한다.
OTT 콘텐츠 많이들 보시나요? 지금 당장 생각나는 것만 해도 넷플릭스, 유튜브, 웨이브, 티빙, 왓챠 같은 많은 OTT 서비스들이 떠오르네요. 그런데 프론트엔드 개발을 조금이라도 해봤다면 웹 브라우저에서 저작권에 민감한 콘텐츠를 재생할 수 있다는 것이 매우 이상하게 느껴질 것입니다. 왜일까요? 개발자 도구를 쓸 줄 안다면 비디오 파일의 원본 URL을 쉽게 확인할 수 있고, 심지어 다운로드까지 할 수 있기 때문입니다. 그렇다면 여러 OTT 서비스들은 콘텐츠의 저작권을 보호하기 위해 어떤 기술을 사용하고 있을까요? 웹 브라우저에서 OTT 콘텐츠를 안전하게 재생하기 위해서 어떤 절차를 거쳐야 할까요?