티스토리 뷰

IT

인문학도, 개발자 되다 by 마르코

비즈붓다 2021. 1. 17. 19:00
728x90

[ 밑줄/연결 ]

 

시리즈A는 실제 서비스가 시작되고 난 다음에 이뤄지는 투자를 의미한다. 시드 투자가 가능성을 보고 시제품을 만들기 위해 노력하는 단계라면, 시리즈A 단계부터는 실제로 시장에서 평가를 받고 있는 서비스를 가치 평가해서 투자를 하기 시작한다. 

 

스톡옵션은 크게 두 가지 조항을 통해서 무분별한 주주의 증가를 막는데, 바로 클리프(Cliff)와 베스팅(Vesting)이다.

클리프는 스톡옵션을 받을 수 있는 최소한의 근무 기간을 의미한다. 보통 1년을 제시하는 경우가 많은데, 이 경우에는 회사에 입사 후 1년 안에 퇴사하거나 해고를 당할 경우, 계약서상의 스톱옵션의 권리를 하나도 행사할 수 없다는 의미가 된다......베스팅은 약속받은 전체 스톡옵션을 몇 년에 걸쳐서 받게 되는지를 약속하는 조항이다. 만약 베스팅이 4년이라면 스톡옵션을 4년에 걸쳐서 조금씩 받게 된다. 

예를 들어, 계약서에 '클리프 1년, 베스팅 4년'이라는 조항이 있다면, 총 4년이 지나야 전체 스톡옵션을 행사할 수 있는 권리가 생기고, 1년 안에 퇴사/해고될 경우 하나도 인정받지 못한다는 의미이다.

 

스톡옵션은 정확히는 지분, 주식 그 자체가 아니라 그 주식을 살 수 있는 권리를 의미한다. 대신 그 주식을 오늘의 가치가 아니라, 계약 당시의 가치로 살 수 있게 해 줘서 시세 차익을 누릴 수 있는 권리는 주는 것이다. 

 

프로그램의 오해....

(1) 에러는 나쁘다

ㅇ 에러는 개발자가 프로그램에서 발생하는 문제를 해결하도록 알려 주는 신호다.

 

(2) 객체 지향 프로그램은 절대 선이다.

ㅇ 객체 지향뿐만 아니라 함수형 언어를 포함한 모든 언어 패러다임도 다른 방법으로 커다한 프로그램을 효율적으로 짜기 위한 고민을 하고 있다.

 

(3) 소프트웨어 개발은 고도의 수학적 사고 활동이다.

ㅇ 대다수의 개발자는 이미 존재하는 도구를 익히고 그것을 이용하는 기술자에 가깝다.

ㅇ 존재하는 도구를 먼저 배워야 한다.

 

(4) 개발의 고수가 되는 데는 몇 년이 걸린다.

ㅇ <코딩 호러의 이펙티브 프로그랭>이란 책에서.."한 분야에 12개월 정도 일하고 난 다음에는 그 분야에 정통하거나 아니면 영원히 정통할 수 없거나 둘 중 하나:라고 썼다. 

ㅇ 하나의 기술을 충분히 익히는 데는 그렇게 오랜 시간이 걸리지 않는다. 

ㅇ 기간이 짧더라도 '얼마나 깊이 있게 공부했는가'가 실력을 판가름한다.

ㅇ 한국에서는 개발자의 실력을 제대로 판단할 방법을 알지 못해서, 이상한 자격증 시험을 만들고 연차로 개발자의 능력을 판단한다. 

 

개발 업계에서는 제대로 된 데브옵스가 너무 찾기 힘들어서 유니콘 같다는 말이 돈다. 

데비옵스란 기존의 개발자가 하던 소프트웨어 개발 업무와 운영 업무를 동시에 하는 포지션이다.....

 

클라우드 기술이 등장 하기 전에는 시스템 엔지니어라는 이름으로 서버와 스토리지 등 하드웨어와 서버 환경 설정을 담당하는 포지션이 존재했고, 이미 이 사람들이 하는 업무만으로도 엄청난 전문성이 필요했기 때문에 개발자와 시스템 운영이라는 업무는 분리되어 있었다. 이들은 데이터 센터라는 물리적인 공간에 존재하는 실제 서버와 스토리지 등을 관리 해야 했다.

 

클라우드 서비스가 등장하면서 이런 시스템 운영 기술이 상대적으로 쉬워지기 시작했다.......지식은 여전히 필요하지만, 기존의 개발자들이 간단한 명령어만으로도 시스템 운영을 할 수 있게 된 것이다.

 

그뿐만아니라, IT 서비스에 애자일(Agile)이르는 개발 방법론이 도입되기 시작하면서 새로운 기능을 출시하는 주기가 매우 빨라졌다......몇 달에 걸쳐 개발한 기술을 출시했다면 요즘은 몇 주에서 며칠, 주기가 잦은 곳에서는 매일 새로운 기능을 출시하기도 한다. 

 

데브옵스는 개발 코드 작성, 프로그램 빌드, 테스트, 빌드용 라이브러리 패키지 관리, 배포, 환경 설정, 모니터링 전체 과정을 수행할 수 있는 사람을 의미한다. 

ㅇ 개발 코드 작성

ㅇ 프로그램 빌드: 프로그래머가 작성한 코드를 컴파일이라는 실행 가능한 형태로 변경하는 절차, 그걸 자동화하는 것을 의미함

ㅇ 빌드용 라이브러리 패키지 관리: 개발을 할 때 모든 것을 직접 개발하는 것이 아니라 다른 개발자가 미리 작성해 놓은 오픈 소스 라이브러리 등을 가져다 사용하는 경우.....새로운 서비스를 빠르게 배포하기 위해서 이런 라이브러리 패키지 설치 과정이 효과적으로 진행될 수 있도록 사전에 설정하는 과정을 의미함

ㅇ 배포: 작성되고 관리된 코드를 서버에 올려서 사용자를 직접 만나는 과정

ㅇ 환경 설정: 이미 사용자를 만나고 있는 서비스가 특정 코드를 변경하지 않고 환경 설정값을 변경하는 것만으로도 변화할 수 있게 만들어 놓는 것

ㅇ 모니터링: 특정한 서버가 장애 상황에 처해 있지는 않은지 확인하고 문제가 발생했을 때 대처하는 것의 의미함

 

데브옵스는 AWS 등 클라우드 기술을 깊이 있게 공부하는 것이 중요하다......시스템의 장애 상황을 실시간 모니터링하고 대처할 수 있는 역량....

 

서버를 두지 않고 코드만 업로드해서 사용할 수 있는 무-서버(Serverless) 기술을 통해서 상용 서비스를 만들고 있는 회사도 곳곳에서 나타나고 있다. 

 

우선 백엔드 개발을 먼저 시작하라.....데브옵스 업무는 프론트엔드 쪽이나 모바일 쪽보다는 백엔드 업무와 직접적으로 관련이 있다.....시스템에 대한 이해가 생기기 때문에 시스템 쪽 업무를 배우는 것이 좋다. 

 

(데이터 분석가)

ㅇ 비전공자로서 개발, 수학, 통계 등의 관련 지식이 없이 데이터 관련 업무를 한다면 가장 처음에 시작하게 될 가능성이 큰 직군...

ㅇ 엑셀 마스터, R이나 타블로(Tableau). 혹은 SQL, SAS, SPAS 등 개발 쪽에서 사용되거나 데이터 분석, 데이터 시각화 에 관련된 기술이 요구되기도 함

ㅇ 데이터 과학자나 엔지니어보다 특정 비즈니스 업무에 대한 이해를 요구하는 경우가 많음

ㅇ 데이터 시각화 능력과 커뮤니케이션 능력이 요구됨

 

(데이터 과학자)

ㅇ 빅 데이터 툴, DB 등 데이터 분석에 필요한 거의 모든 기술에 대한 이해가 필요

ㅇ 데이터를 제대로 분석하기 위해서 수학, 통계학적 지식과 최근에는 머신러닝과 딥러닝에 대한 지식도 요구됨

ㅇ 프로그래밍 기술, 수학, 통계학 등 방대한 기술이 필요

 

 

(데이터 엔지니어)

ㅇ 데이터가 발생하는 시점부터 이 데이터를 모으고, 모아진 데이터를 사용 가능한 형태로 가공하고, 최대한 빠르게 관계자들에게 전달될 수 있도록 시스템을 구축하는 업무를 함

ㅇ 기본적으로 DB와 빅 데이터와 관련된 기술 전문가.....각 DB의 특징을 이해하고 데이터의 성격에 맞춰서 DB를 설정, 관리하는 일을 하게 됨

ㅇ 데이터 가공을 위한 알고리즘, 데이터웨어하우스 확보.....

 

[ 자평 ]

 

필요한 부분만 읽음....

댓글