본문 바로가기
반응형

전체글587

3. 테스트하기 좋은 코드 - 외부에 의존하는 코드 개선 지난 시간에 테스트하기 좋은 코드에 대해 이야기를 나눴다. 1. 테스트하기 어려운 코드 2. 제어할 수 없는 코드 개선 이번 편에서는 테스트하기 어려운 코드를 개선하는 2번째 방법인 외부에 의존하는 코드를 개선하는 방법에 대해 이야기를 해보자. 3-1. 문제 상황 1부 에서 소개했던 cancel() 코드를 다시 보자. export default class Order { ... async cancel(cancelTime): void { if(this._orderDateTime >= cancelTime) { throw new Error('주문 시간이 주문 취소 시간보다 늦을 수 없습니다.'); } const cancelOrder = new Order(); cancelOrder._amount = this._a.. 2022. 9. 27.
가지고 있는 무기로 싸우기 7월에 개발팀 첫 퇴사자가 발생했다. 7명에서 26명이 될때까지 퇴사자가 없다가 처음으로 발생했다. 1년 4개월만에 개발팀 퇴사자가 나온 것이다. 최근에 입사한 팀원들 입장에서는 처음 퇴사자를 만나게 되는거라서 당황스러워 했다. 물론 전혀 영향을 받지 않는 팀원들도 있었겠지만, 흔히 말하는 빅테크 기업으로 이직을 했기 때문에 혼란스러워 하는 팀원도 있었을 것이다. "어? 나랑 비슷했던 저 친구도 저렇게 큰 회사를 간다고? 나도 해볼 수 있겠는데?" 같은 생각도 할 수 있다. 빅테크 기업이 주는 연봉과 복지는 충분히 매력적이기 때문에 이런 생각 자체는 나쁜것이 아니다. 주변을 보면 우리 정도 사이즈의 스타트업, 중소기업들에서 빅테크로 이직하는 일이 시작될때 큰 위기를 겪게 된다. 내실 있는 중~소규모의 개.. 2022. 9. 19.
인프콘 2022 회고 우리 회사에서 첫 오프라인 대형 컨퍼런스인 인프콘 2022을 개최했다. 입사 초기에 대표님인 쭈와 컨퍼런스에 대한 이야기를 잠깐 나누곤 했다. 당시 직원수가 20명+ 일때라 "아 나중에 그런거하면 너무 좋겠네요!" 하고 넘어갔다. 시리즈 C, D쯤 되고 직원수도 100명은 넘어야 그래도 할 수 있지 않을까 생각했다. 워낙 회사의 타이틀을 걸고 하는 컨퍼런스는 그 규모가 컸기 때문이다. 네이버의 Deview 카카오의 ifkakao 배민의 우아콘 토스의 Slash 그래서 "에이 이제 20명 조금 넘었는데 지금은 안되지. 몇년은 지나야 가능하겠다" 생각만 하고 넘어갔다. 근데 파이콘 등 여러 컨퍼런스의 운영진으로 일을 하고, 빅테크의 DR로도 활동을 했던 엘리스의 합류로 컨퍼런스 진행에 급 물쌀을 타게 된다... 2022. 9. 13.
람보르기니와 지프랭글러 슈퍼카의 대명사인 람보르기니는 오프로더의 대명사인 지프랭글러 보다 더 빠른 자동차일까? 이 질문에 대해 당연하게 답을 내리는 사람이 있고, 답을 할 수 없는 사람도 있다. 이 주제에 대해 한번 이야기해보고 싶다. 개발을 시작하고, 그간 사용하던 언어들이 항상 2가지 영역에서 같이 쓰다보니 오해를 일으킬때가 있다. 주로 사용하던 Java의 경우 서버 백엔드에서 사용되지만, 안드로이드 (클라이언트) 에서도 사용 된다. 지금 주력으로 사용중인 JS & TS는 Node 백엔드에서도 사용되지만 웹 프론트 (클라이언트) 에서도 사용 된다. 똑같은 언어 (Java, TS) 지만 구동되는 장소는 완전히 다르다. 구동되는 장소가 다르면 용도도 달라진다. 디바이스당 단일 사용자 (모바일기기, 브라우저)를 처리하기 위한 용.. 2022. 9. 5.
2. 테스트하기 좋은 코드 - 제어할 수 없는 코드 개선 1편 을 통해 테스트하기 어려운 코드에 대해 이야기를 나눴다. 이번 편에서는 테스트하기 어려운 코드 중 첫번째인 "제어할 수 없는 코드를 개선하는 법"을 이야기해보자. 2-1. 문제 상황 먼저 앞에서 보았던 discount() 코드를 다시 보자. export default class Order { ... discount() { const now = LocalDateTime.now(); if (now.dayOfWeek() == DayOfWeek.SUNDAY) { this._amount = this._amount * 0.9 } } } 이 discount() 는 실행할때마다 항상 결과가 다르다. LocalDateTimw.now()의 코드를 보면 알겠지만, 현재 시간은 항상 다르기 때문이다. 그렇기 때문에 실행.. 2022. 9. 1.
신뢰 자본 몇달전에 미정님을 만나 짧은 대화 시간을 가졌다. 그간 온라인에서만 뵙다가, (기억상으로는) 처음으로 오프라인으로 뵈었다. 전 직장을 같이 다녔지만 미정님은 베트남에서, 나는 서울에서 근무하다보니 뵙지도 못해봤다. 그래서 이번에 뵐 때 참 반가웠다. 둘 모두 이직을 한지 얼마되지 않은 상태라서 공감가는 이야기를 많이 나눌 수 있었다. 그 중에서 신뢰 자본, 그리고 신뢰 대출에 대해 이야기를 나눴다. 새로운 조직으로 옮긴 구성원은 (팀원, 리더 관계없이) 기존 조직에서만큼 성과를 내기 어렵다. 익숙하지 않은 환경, 익숙하지 않은 도메인, 파악되지 못한 히스토리와 정책 등등 여러 이유가 있겠지만, 가장 중요한건 새 조직으로 오면서 본인의 신뢰 자본이 0이 되었기 때문이다. (혼자 일하는 환경이라면 모를까) .. 2022. 7. 24.

728x90
반응형