개발자

2023 업스테이지에서의 3년차 회고

업스테이지 3년차, 스타트업에서 배운 것.

- 풀고자 하는 문제가 명확해야 한다.

- 그래야 조직이 무얼 만들지, 어디에 집중할지 보인다.

- 풀고자 하는 문제가 명확하지 않으면, 리소스가 분산된다. 

- 그냥 각자 다른 생각을 하고 다른 일을 한다.

- 조직 현황에 대한 공유가 중요하다. 특히 작은 조직일수록.

- 조직원들은 조직의 상황에 대해 많이 궁금해하고 불안해한다.

- 개인은 리더와, 팀은 상위리더와 끈임없이 싱크를 맞추는 자리를 가져야한다. 그리고 그 위는 자주 회사의 상황에 대해 공유해야 한다.

- 리더십은 스타트업일수록 중요하다.

- 조직의 리소스 현황에 대해 전체적인 그림을 볼 수 있는 상위 리더가 끈임없이 리소스를 모니터링하고 여러 조직이 시너지를 낼 수 있도록 조절해야 한다.

- 큰 투자는 독이 될 수도 있다.

- 일단 인원을 많이 늘리면 뭘 하는 거 같지만, 양날의 검이 된다.

- 큰 투자로 압박을 느끼고 무리하게 되면 이게 스노우볼이 되어 문제가 엄청 커진다.

- 제품을 만들어야 할 땐, 제품에 집중해야 한다.

- 뱃사공이 많으면 제품이 산으로 간다.

- 제품에 집중할 수 있는 환경을 보장해야 한다.

- 기술에 집중된 제품일수록 기술부채에 대해 보수적이어야 한다.

- 적은 기술 부채를 유지하면 서비스도, 팀도 안정적이다.

- 기술 부채에 관대할수록 매 프로젝트가 새로워진다.

재택 N년차 개발자의 생산성을 위한 셋업

코로나가 터진  2019년 2월부터 재택근무를 해왔다. 보통 재택근무한다고 하면 집에서 일이 잘되냐고 물어보는데, 집에서 일하면 보통 늘어지기 때문에 최대한 사무실과 비슷한 환경을 만드는게 중요하다. 집에서 최대한 생산성이 좋은 환경을 만드려고 이런저런 시행착오를 겪어왔는데, 지금까지 사용하고 있는 높은 생산성을 위한 물건들과 소프트웨어를 보자.

하드웨어

루나랩 전동 스탠딩 데스크: 서서 일할 수 있도록 스탠딩 데스크를 구매했고 오피스 방을 만들거기 떄문에 최대한 큰 사이즈로 구매했다. 선정리도 깔끔하게 되고 책상이 큰 탓에 모니터 두대를 놓아도 공간이 여유롭다.

LG 32인치 4K 모니터: 원래는 애플 공홈에서 파는 27인치 5k 모니터를 사고 싶었는데 품절되어서 대체품으로 샀다. 현재는 매우 만족하는 중. C 타입으로 충전도 가능하고 모니터암이 기본으로 달려있어 공간효율성도 매우 좋다. 32인치가 약간 크긴하지만 아이맥과 함께 서브 모니터로도 좋다.

문랜더 키보드: 그동안 키보드는 해피해킹, 매직 키보드를 주로 써오다가 지금은 문랜더로 정착했다. 문랜더는 적응하는데 꽤 오랜시간이 걸리고 최적의 키 세팅을 찾는데도 오래걸리는데 한번 적응되고 나면 정말 좋다. 손목에도 좋은듯. 하지만 기본으로 나오는 키캡들은 영 별로였다. 타이핑시에 철컹하는 쇠소리가 너무 거슬려서 Gazzew boba tocky로 변경했다. 키캡이 정말 맘에 든다.

허먼 밀러 에어론: 회사에서 특판 나올떄 산 허먼밀러. 최고의 의자다. 특판 또 하면 자식을 위해 살 계획이다.

벤큐 스크린 바: 모니터에 설치하는 조명인데 만족도가 높은 제품이다. 굳이 전등을 안켜도 밝은 책상을 만들어준다.

소프트웨어

Warp: 21세기를 위한 터미널. 편한 기능들이 많다. 얼마전 베타를 끝내고 오픈했는데 아직 초기단계인 만큼 보완할 점들이 좀 있다. 그래도 현재는 기존에 쓰던 iterm2을 거의 안쓰고 이거만 쓰는중

iterm2: warp와 함께 가끔 쓰는 터미널. oh-my-zsh와 함께 쓰면 좋다. warp의 등장으로 삭제될 위기

Dracula pro: 드라큘라 다크 테마. 모든 ide에 적용해서 쓰고 있는데 최고의 테마라고 생각된다. 편하고 가독성 좋고 이쁘다.

dash: api 문서 검색기. 크롬에서 굳이 깃헙이나 공식 홈페이지를 안들어가도 검색할 수 있다. 추가로 있는 스니펫 기능도 좋은데 굳이 다른 코드 스니펫 툴을 돈주고 구매하지 않아도 된다.

jetbrain: 한번 쓰면 나오기 힘든 ide 툴. 파이썬, 고, db, ts를 쓸때 사용한다.

1password8: 최고의 비밀번호 관리 툴. cli도 있고, alfred와 연동하면 엄청 편한다.

alfred5: 단축키, 검색, 워크플로 등 맥 킬러 앱

k9s, lens: 쿠버네티스 IDE, k9s가 터미널에서 다 할 수 있기 때문에 특별한 상황이 아니면 k9s를 쓰는듯 하다. k9s에서 안되는 기능이 lens에선 되고 그런것들이 좀 있는데 lens도 갈수록 발전하고 있어서 기대중.

fork: git 툴. git desktop, gitkraken을 써봤는데 이게 제일 편하고 무료다.

screens 4: 나는 주로 집에 있는 아이맥에서 작업을 하는 편인데 가끔 맥북을 들고 나갈때 screens 4로 리모트로 접속해 일한다. 해상도가 서로 안맞아 연결시 재설정하지만 가장 반응속도가 좋고 밖에서도 아이맥을 그대로 쓰듯이 일할 수 있다. 하지만 한영이 안바뀌는건 좀 불편하다.

프로페셔널한 개발자의 조건

프로페셔널의 조건 - 피터 드러커

피터 드러커의 책을 몇권 보았는데 결국 다 비슷한 말을 하고 있다. 이번 책도 역시 지식 근로자의 특징. 지식 근로자가 조직에 공헌하는 법. 성과를 내는 지식 근로자에 대한 얘기다. 이전 책에서 처럼 지식 근로자가 많은 조직은 어떻게 굴러가야하는지에 대한 얘기보다는 프로페셔널한 지식 근로자 자신에 대해 얘기한다.

개발자는 전형적인 지식근로자이다. 고도로 전문화되었을 때 그 효과를 발휘하고 결과의 질에 따라 규정된다. 개발자의 결과물은 다른 전문가의 결과물과 통합되었을 때 비로소 성과가 된다. 또 요즘 개발은 가장 중요한 생산 수단이기도 하다.

성과를 내는 개발자가 되기 위해서

익숙한 불편함을 경계하자.

개발자는 자신이 하고 있는 일을 끈임없이 되돌아보고 조직내에 운영, 유지 업무, 즉 자동화할 수 있는 업무인지 끊임없이 봐야한다.

중요한 것은 목표 달성 능력이 있느냐이다.

유명한 천재 개발자가 되긴 힘들겠지만, 누구나 일정한 수준의 개발자가 될 수 있다. 요즘은 유투브도 잘되어 있고 괜찮은 학원도 많다. 일정한 수준에 도달했다면, 중요한 것은 자기 조직의 목표를 달성할 수 있느냐이다.

조직과 나의 과업을 알자

많은 조직에서 목표를 도달하기 위해 엄청난 개발 실력이 필요한 것은 아니다. 조직이 해야할 과업은 무엇인지, 왜 해야하는지를 알고 마찬가지로 나 자신이 해야할 과업을 알고 왜 해야하는지 알자

시간을 기록하고 관리하고 통합한다.

내가 맡은 일보단 내가 사용할 수 있는 시간을 먼저 검토한다.

팀과 나의 성과를 위해 항상 해야할 생각

  • 팀의 성과와 결과에 큰 영향을 미치는 것으로서 내가 공헌할 수 있는 것은 무엇인가?

  • 나의 동료가 우리 조직에 공헌할 수 있도록 하기 위해 내가 동료에게 해야할 공헌은?