다시 시작 Restart 46

야근을 하게 만드는 회사, 야근이 기본인 회사를 최대한 빨리 나와야 하는 이유는?

시간이 지날수록 다른 회사로 갈 수 없고 벗어나기 어려워지기 때문이다. 왜 다른 회사로 갈 수 없을까?이직을 위해서 가장 필요한 것이 무엇일까? 시간이다. 이직을 위해서는 지금까지 작업한 것들을 포트폴리오로 정리도 해야 하고, 이력서도 다듬어야 하고, 구인공고도 찾아보고 지원도 하고 면접도 봐야 한다. 이 모든 것들을 위해서 가장 필요한 것은 바로 시간이다. 여유 시간이 없다면 이직할 수 없다. 야근을 하게 만드는 회사, 야근이 기본인 회사가 빼앗아 가는 것은?당연히 시간이다. 하루 종일 일하고 집에 와서 잠만 자고 다시 일하러 나가는 일상이 반복된다면? 시간이 없다. 주말에는 녹초가 되고, 밀린 집안일을 처리하느라 벅차다. 야근의 굴레에서 벗어나고 싶다는 생각은 스쳐지나가듯 할 수 있지만 실행에 옮길 ..

입사 지원 등 중요한 용도로 쓰는 이메일 주소 관리의 중요성

이메일의 중요성전화, 문자 등 다양한 연락 매체가 있지만 여전히 이메일은 중요하다. 이메일은 글이라 공식적인 기록이 남기 때문이다. 보통 오퍼레터Offer Letter라고 부르는 입사 제안도 당연히 메일로 온다. 메일로 연락을 주면서, 메일을 확인하라고 문자로도 연락을 주면 좋겠지만 문자 연락은 없이 메일로만 보내주는 경우가 많다. 메일 확인을 못한다면?기회가 날라간다. 내 경우 메일 확인을 못해서 서류 합격하고도 코딩 테스트를 못 봤다. 아쉽지만 할 수 없다. 입사 제안 메일도 이틀 지나서야 확인했다. 메일이나 연락이 올 때가 된 거 같은데 하고 메일함을 뒤지다가 겨우 확인했다. 인사팀 담당자도 메일 혹시 못 받았냐고 연락을 주셨다. 천만다행이었다. 원인은?여러 메일링 리스트에 등록하고 링크드인 같은 ..

회사 생활에서 낙인烙印과 스탬프Stamp

낙인낙인烙印. 쇠붙이를 불로 달구어 찍는 도장을 낙인이라고 한다. 소나 돼지 같은 가축에 주로 찍고 과거 큰 범죄를 저지른 사람한테 찍기도 했다. 당연히 현대 사회에서 사람한테 직접 도장을 찍지는 않는다. '너 찍혔어', '나 찍혔나봐'흔히 말하는 찍혔다는 표현이 바로 낙인이다. 학창 생활 때 주변 친구들이든 본인이든 듣게 되는 말, "너 선생님한테 찍힌 거 같아"처럼 말이다. 선생님이 '문제 학생', '떠드는 학생' 등이라고 도장을 찍은 상황일 때 쓰게 된다. 낙인과 브랜드, 강화 효과나이키 등 유명 브랜드 옷은 로고가 크게 박혀 있어 멀리서도 잘 보인다. 낙인도 비슷하다. 선생님은 멀리서 보기만 해도 바로 '문제 학생'을 떠올리고 A와 B가 같은 행동을 해도 반응이 다르다. 같은 행동을 했는데 공부 ..

큰 개발 조직에서 경험과 시도

큰 개발 조직 백엔드만 10명이 넘고, 프런트, 앱(안드로이드, iOS) 개발자, DBA, 데이터 관련 개발자, 시스템 엔지니어, QA 등까지 합치면 50명이 넘는 큰 개발 조직에서 백엔드 개발자로 1년 좀 넘게 일했다. 내가 일했던 곳 중 가장 큰 개발 조직을 갖고 있는 기업에서 퇴사하게 되어 이곳에서 경험과 시도를 적어본다. 경험 분업과 깊이 조직이 크니 당연하겠지만 각자 전문 분야가 있고, 그 해당 업무만 담당한다. 예를 들면 내 경우 백엔드 개발자로서 주로 서비스에 필요한 데이터베이스 테이블 모델을 설계하고 API를 개발하고 운영 이슈 등을 처리했다. 데이터베이스와 API 개발에 대해서 이전보다 깊이 있게 살펴볼 수 있었다. 일일 활성 사용자Daily Active Users(DAU)가 많은 서비스..

컴퓨터공학 비전공자라면 방송통신대학교 편입학 추천!

소프트웨어 개발 분야는 비전공자가 많다국비 지원 학원에서 배워서 취업하는 경우도 많고, 요즘에는 부트캠프라고도 불리는 유료 학원에서 3~6개월 배워서 취업하는 경우도 많다. 다른 공학과 달리 값비싼 실험 도구 없이 컴퓨터만 있으면 실습 및 학습이 가능하기 때문이다. 분야에 따라 기간이 다르지만, 리액트, 안드로이드, iOS 개발 등 특정 프레임워크만 배운다면 6개월 정도면 어느 정도 익숙해져서 현업에서 일할 수 있다. 비전공자란 꼬리표소프트웨어 개발 분야는 워낙 비전공자가 많고 비전공자지만 실력이 뛰어난 사람이 많기 때문에 비전공자란 이유로 차별이 많지는 않다. 하지만 괜한 자격지심이 생기기도 하고, 뭔가 꼬리표 같은 느낌이 들 때가 많다. 만약 전공자라면 의심 받지 않을 지식도, 의심 받는 상황에 처하..

지식의 저주와 의사소통의 어려움

지식의 저주지식의 저주(curse of knowledge)란 다른 사람들과 의사소통을 할 때 다른 사람도 내가 갖고 있는 배경 지식을 가지고 있다고 자신도 모르게 추측하여 발생하는 인식적 편견이다(출처: 위키백과). 쉽게 말하면 내가 알고 있는 것을 내 얘기를 듣는 상대방도 알고 있을 것으로 가정하는 것이다. 지식의 저주 예"GET은 POST에서 못 가져오는 거 알죠?" 내가 전에 팀장한테 들었던 이야기다. 무슨 이야기를 하시는 건가 생각했다. 'HTTP 요청 메소드 중 하나인 GET 메소드는 POST 메소드를 못 가져온다는 말일까? 무슨 말이지'라고 생각하고 있었다. 내가 못 알아듣자, 그것도 모르냐는 눈빛으로 바라보면서 한숨을 쉬었다. 그리고는 풀어서 설명하기 시작했다. 그때서야 이해할 수 있었다. ..

코드 리뷰와 결재 서류

코드 리뷰와 결재 서류를 비교하는 글은 많지 않다. 코드 리뷰는 특별한 무엇처럼 설명한다. 정말 다를까. 용어 비교코드 리뷰와 결재 서류 관련 용어를 살펴보자 코드 리뷰결재 서류작성 내용코드문서작성자개발팀원 누구나부하 직원검토자개발팀원 누구나상사승인 요청 방법코드 병합 요청(PR, Pull Request) 통해서결재 서류를 통해서승인 주체개발팀원 누구나상사 차이점은?결재는 상하관계가 명확하지만 코드 리뷰는 상대적으로 상하관계의 영향을 덜 받는다. 결재는 부하 직원이 상관한테 요청하는 단방향이지만, 코드 리뷰는 팀원이 다른 팀원이나 팀장에게, 팀장이 개발팀원들에게 리뷰를 요청하는 쌍방향이다. 물론 코드 리뷰에서도 당연히 상하관계 영향이 있다. 팀원이 CTO나 팀장의 리뷰를 더 반영하게 된다. 여기까지 보면..

무료 플랫폼은 뭘로 돈을 벌까?

광고와 거래다. 광고를 해주고 수수료를 받고, 시장을 만들어서 거래를 주선하고 수수료를 받거나 물건을 직접 판다. 사람이 많이 모이는 곳 사람이 많이 모이는 곳은 정보를 널리 알리기에, 곧 광고를 하기에 좋다. 사람이 많이 모이니 당연히 물건을 사고 팔기에도 좋다. 그런 곳을 소유하고 있다면 광고를 하고 싶은 사람들과 물건을 팔고 싶은 사람들이 연락을 해온다. 그 사람들에게 광고를 할 수 있는 공간이나 물건을 사고 팔 수 있는 공간을 내주고 돈을 받을 수 있다. 출퇴근 때 이용하게 되는 지하철을 생각해보자. 지하철에는 광고가 붙어 있고, 역 안에는 가게들이 있다. 불꽃축제, 벚꽃축제 등 많은 사람들이 모일 것으로 예상되는 날이 되면 어김없이 물건을 팔려는 노점상들이 축제 장소 근처에 몰려드는 것도 마찬가..

"측정할 수 없다면 관리할 수 없다."라고 피터 드러커는 말한 적이 없다고?

드러커가 했다고 하는 그 말KPI(핵심성과지표)와 평가에 관한 HR 담당자의 설명을 듣다가 눈에 띄는 문장이 있었다. "측정할 수 없다면 관리할 수 없다." - 피터 드러커 피터 드러커. 경영학의 아버지라고 불리기도 하는 그 분이다. 실제 검색해보면 비슷한 문장을 인용한 칼럼들을 쉽게 찾을 수 있었다. 서평 / 성과지표의 배신, 김태완, 물류신문, 2022. 6. 15. [ET단상]'Plan-Do-See'의 오류, 류승범, 전자신문, 2022. 8. 23. 등 모두 피터 드러커가 말했다고 피터 드러커를 인용하고 있다. 예를 들면 피터 드러커는 “측정할 수 없다면 관리할 수 없고, 관리할 수 없으면 개선할 수도 없다”라고 말했다. ... 출처: [ET단상]'Plan-Do-See'의 오류, 류승범, 전자신문..

Stack Overflow보다 ChatGPT가, 아니 검색보다 ChatGPT가 더 편한 거 같다

예를 들어 Python에서 리스트 순서를 유지하면서 중복을 제거하는 방법을 알고 싶다. 구글에서 검색하면 아래처럼 나왔다. 맨 위에 구글이 만들어 준 방법이 나오긴 하지만 부족하다. 다시 검색 결과를 눌러서 들어가서 실제 코드도 보고 테스트도 해봐야 한다. ChatGPT한테 물었다. 와. 사람이 알려주듯 1번 2번 3번 정리해서 알려주고, 코드 예시까지 제공해준다. 아직 약간 부족하긴 하다. 한국어로 질문해서 그럴 수도 있겠지만 갑자기 문체가 바뀌니 어색하게 느껴진다. 다른 질문도 해봤다. ChatGPT가 나보다 면접을 잘 볼 거 같다. ChatGPT 서비스를 계속 무료로 쓸 수 있다면 코드 궁금한 건 검색보다 ChatGPT한테 먼저 물어보게 될 거 같다. 검색 광고에 의존하는 구글은 어떻게 될까... ..

왜 꽤 큰 스타트업 개발팀에서는 코드 리뷰를 할까?

다음 중 코드 리뷰를 하는 이유에 해당하는 것을 모두 고른다면? ① 오류를 줄이기 위해서 ② 개발 속도를 높이기 위해서 ③ 팀원의 성장을 돕기 위해서 ① ② 이유가 크다. ③을 가장 최우선 목적에 두고 코드 리뷰를 하지는 않는다. 부수적 효과에 가깝다. ① 오류를 줄이기 위해서 이 이유가 가장 크다. 꽤 큰 스타트업이라면 이미 사용자가 많다. 아주 사소한 실수로 서비스 장애가 발생할 수도 있다. 이 장애로 인한 손실도 크다. 시간이 들더라도 당연히 미리 점검하는 게 더 이익이다. 코드 리뷰를 통해서 주로 장애 발생 가능성을 살펴보게 된다. 그래서 코드 리뷰 시 단골 사항이 데이터베이스 부하 관련, 메모리 부하 관련, 예외 처리 등이 된다. ② 개발의 속도를 높이기 위해서 단기적으로 코드 리뷰를 하면 개발..

첫 직장에서 첫 언어, 첫 직군, 첫 프레임워크는 얼마나 중요할까?

개발자한테 첫 직장에서 첫 언어, 첫 직군, 첫 프레임워크는 대학 입시 때 전공 선택만큼 중요하다. 개발자 경력 전체에 영향을 미치기 때문이다. 우연한 선택과 경로의존성 좋아하는 것 또는 하고 싶은 것이 명확한 친구라면 우연이 영향을 덜 미친다. 하지만 별생각이 없다면 우연한 선택이 인생 전체에 영향을 미친다. 이 글을 읽고 있을 여러분들은 한국어가 모국어인 분들일 것이다. 그렇다면 왜 한국어가 모국어인가? 맞다. 우연이다. 우연히 한국에 태어나서 그런 거다. 대부분 사람들은 평생 한국을 벗어나기 어렵다. 한국이 살기 좋아서가 아니라 한국을 떠나면 포기해야 할 기회비용이 크기 때문이다. 대부분 사람들은 우연한 결과에 따라 경로의존적으로 살아간다. 첫 언어 첫 언어는 정말 중요하다. 그 언어를 중심으로 사..

왜 성장한 기업에 초창기 멤버는 안 남아 있을까?

가장 큰 원인은 기업의 성장 속도를 초창기 멤버가 쫓아가지 못하기 때문이다. 초기 스타트업 상황 초기 스타트업은 사람 구하기가 어렵다. 워낙 사람 구하기가 어렵다보니 대표가 원하는 수준의 인재를 구할 수 없다. 그래서 좀 미흡하더라도 채용을 하게 된다. 당신이 구직 중일 때 직원 5명도 안 되는 회사에 가고 싶은지 생각해보라. 이제 갓 대학을 졸업한 신입 입장에서는 배울 게 없는 곳, 체계가 안 잡힌 곳으로 느껴질 것이고, 경력직 입장에서는 내가 모든 걸 다 책임져야 하는 곳으로 느껴질 것이다. 그렇게 작은 회사임에도 미래가 밝지도 않은데 입사를 결정한 경우에는 거기 말고 다른데가 모두 떨어졌거나 당장 돈이 급하거나 등 사정이 있기 때문일 것이다. 성장, 투자 초창기 멤버들이 의기투합하고 시장 상황이 나..

나보다 더 개발을 잘 하는 친구가 입사했다면 어떻게 대할까?

나보다 더 개발을 잘 하는 친구의 의미 내가 다니고 있는 기업이 성장하고 있다는 뜻이다. 능력 있는 친구들은 미래가 밝지 않은 기업에 굳이 지원하지 않는다. 잠시 들어왔다가 금방 나간다. 능력 있는 친구를 원하는 기업은 많으니까. 나보다 잘 하는 친구는 나한테 좋은 일일까? 안 좋은 일일까? 기존에 사내에서 대우와 인정을 받았다면 안 좋은 일일 수도 있다. 이제 그 자리를 넘겨 줘야 하니까. 사람의 능력은 숨기기 어렵다. 특히 개발은 더더욱. 개발 능력의 차이는 너무나 쉽게 드러난다. 여기서 선택의 기로에 서게 된다. 선택1. 나보다 잘 하는 친구를 돕지 않기 그 친구한테 정보를 안 알려주는 거다. 알려줘서 쉽게 할 수 있는 것도 일부러 돌아가게 만드는 거다. 그럼 그 친구는 개발 능력은 뛰어 나지만 상..

일터가 우리 삶에서 차지하는 비중은 어느 정도일까

우리 모두는 엄청나다는 것을 알고 있다. 하지만 정말 얼마나 엄청날까? 1년동안 우리는 얼마나 일터에 있을까? 보통 하루 8시간을 일한다. 점심시간 포함하면 일터에서 보내는 시간이 하루 9시간. 주 5일 일할 경우 9시간 * 5일 = 45시간. 1년은 52주. 1년에 주어진 유급휴가는 15일. -3주 법정공휴일은 15일 -3주 = 46주 46주 * 45시간 = 2,070시간 대략 2천시간이다. 아웃라이어 책 덕분에 유명해진 1만시간의 법칙의 1만시간에 도달하는데 5년이면 충분하다. 1년을 시간으로 계산하면 하루는 24시간 * 365일 = 8760시간이다. 이 중 일터가 차지하는 시간은 대략 23.6%다. 평균 출퇴근 시간을 1시간 반이라고 가정할 경우 3시간은 길에서 보낸다. 평일의 경우 24시간 중 -..

블로그가 과연 취업에 도움이 될까?

어떻게 블로그를 운영하느냐에 따라 도움이 되기도 하고 안 되기도 한다. 도움이 안 되는 경우 단순히 스택오버플로우 식으로 어떤 에러 상황을 만났고, 검색했더니 해결책이 이게 나와서 이렇게 해결했다란 글만 많다면 사실 취업에 도움이 안 될 수 있다. 도움이 되는 경우 - 면접 질문에 자주 나오는 것들을 잘 정리하면 도움이 된다. 예) JWT란? - 자신의 이력서에 적은 기술 스택을 정리한 경우 도움이 된다. 예) 시계열 데이터베이스Time Series Database, influxDB 소개와 설치 방법 - 단순 검색한 게 아니라, 원출처를 찾아서 정리하면 도움이 된다. 예) Q. HTTP PUT 메소드와 PATCH 메소드의 차이는? - 이슈를 만나서 해결한 과정을 적으면 도움이 된다. 예) Q. 카페24나..

기업 내 토론의 규칙을 바꿔보기, 일부러 틀리기

기업은 평등하지 않다 당연하다. 평등하지 않다. 평등하다면 직급이 필요 없을 것이다. 직급 체계를 간소화했다고 직급이 없어지지는 않는다. 누군가는 책임을 져야 하고 책임을 지는 사람이 의사 결정을 하는 사람이다. 예를 들어 CEO - C레벨(COO, CTO, CFO, CPO 등) - 팀 리드 - 팀원 이렇게 4단계 정도로 구성되어 있다고 하자. 팀원끼리는 평등해도 팀원과 팀 리드, 팀원과 C레벨은? 당연히 평등하지 않다. 평등하지 않음과 토론 평등하지 않다면? 당연히 토론이 잘 안 된다. CEO가 어떤 의견을 발표하는데 어떻게 팀원이 "전, 당신 의견과 다릅니다."라고 말할 수 있는가. 유럽이나 미국은 다를 수 있겠지만, 한국에서는 말하기 어렵다고 생각한다. 퇴사를 각오하지 않은 이상. 직급이 높을수록 ..

새 팀원 오리엔테이션 때 보여준 영화 속 한 장면

우리 팀에 새 팀원이 오게 되었고, 내가 팀 소개(오리엔테이션)를 맡게 되었다. 첫 인사를 어떻게 하면 좋을까 고민하게 되었다. 내가 취업했을 때를 먼저 떠올려봤다. 초등학교를 졸업하고 중학교에 입학하거나 고등학교에 입학했을 때 느낌과 비슷했다. 새로운 환경, 새로운 사람들, 그 속에서 잘 적응할 수 있을지에 대한 두려움. 거기다가 수습기간의 압박도 있었다. 잘 해내지 못했을 때 잘릴 수도 있으니까. 마음 속에는 여러 감정이 있었다. 기대. 희망. 두려움. 압박감 등. 이 중에서 기대보다는 두려움이 컸던 거 같다. 잘 해낼 수 있을까, 잘못하면 어쩌지, 괜히 실수해서 찍히면 어떻게 하지... 그때 떠오른 영화가 있었다. 그건 바로 '번지점프를 하다'. "이게 뭐냐" "낙서요" "지구다. 이 지구상 어느 ..