반응형

다시 시작 Restart 36

파이썬 비공개 패키지를 통해 타팀과 협업 및 업무 효율성 개선

# Situation 상황예전에 로봇 플랫폼 서버와 로봇이 주행하게 될 전역 경로 생성 서버가 따로 있었다. 전역 경로 생성 서버가 따로 있는 것이 비효율적이라 로봇 플랫폼 서버와 전역 경로 생성 서버를 하나로 합치면서 코드도 한 저장소로 합치게 되었다. 전역 경로 생성 개발자는 다른 팀이었는데, 백엔드팀 코드 저장소에서 같이 개발하게 되었다. 하지만 전역 경로 생성 개발자는 장고에 대한 이해, 테스트 작성 등 백엔드 개발 관련 지식이 부족했다. 전역 경로 담당자는 예전보다 개발하는데 더 오래 걸리게 되었고, 나와 만날 때 다시 과거로 돌아가 서버 분리를 하면 좋겠다는 이야기를 자주했다. # Task 과제과거로 다시 돌아가 전역 경로 생성 서버를 따로 두는 것은 비효율적이었다. 로봇 플랫폼 서버가 전역 ..

내가 이룬 작은 개선과 성취를 STAR 기법으로 꾸준히 기록하기

피하고 싶지만 피할 수 없는 면접취업준비생이라면 절대 피할 수 없는 게 면접이다. 재직자라도 언제든 맞딱뜨리게 될 일이 바로 면접이다. 기업의 수명은 짧기 때문이다. 운 좋게 대기업에 다니고 있다면 좀 더 길겠지만 스타트업에 다니고 있다면 수명이 정말 짧다. 경제 위기 등 외부 요인으로 기업은 언제든 휘청일 수 있다. 내 의지나 노력과 관계 없이 권고사직을 당해서 다시 취업을 준비해야 하는 상황에 처할 수도 있다. 면접, 자기 홍보가 필요한 상황취업을 준비해야 하는 상황이 되었을 때 면접 시 우리를 평가하는 면접자는 우리를 모른다. 우리가 어떤 장점을 갖고 있는지 말이다. 경력자라 하더라도 지난 회사들에서 어떻게 일해왔는지, 문제를 일으키지는 않았는지, 어떤 성취를 얻었는지 모른다. 자기 스스로 자신의 ..

삼육대 학생들에게 테스트 주도 개발을 강의하다

전 회사 친구로부터 받은 부탁전 회사 친구가 삼육대 학생들을 대상으로 백엔드 강의를 하고 있어서 테스트 주도 개발 특강 부탁을 받았다. 처음에는 호기롭게 하겠다고 했는데, 시간이 다가오자 무슨 말을 어떻게 해야 할지 고민이 많아졌다. 그 친구들한테 뭔가 남았으면 좋겠는데, 시간만 뺐는 것은 아닌지, 별로 도움이 안 되는 것은 아닌지 등등 말이다. 고민테스트 주도 개발을 어떻게 하면 하게 만들 수 있을까. 테스트 주도 개발이 사실 쉽지는 않다. 특강이 끝난 뒤에 바로 시도하지는 못해도, 반드시 하고 싶게 만들려면 어떻게 하는 게 좋을지 고민이 되었다. 평범한 개발자인 내가 하는 말이 설득력이 생기려면 어떻게 해야할까 고민이 컸다. 결국 객관적인 자료나 사례를 바탕으로 설득을 해야겠다고 생각했다. 이야기 시..

첫 해외 출장에서 깨달은 것들

미국 마이애미로 해외 출장을 다녀왔다. 첫 해외 출장, 첫 미국 출장. 나에게는 새로운 경험이었다. 체력의 중요성3월 23일 토요일 오후 4시에 인천공항에서 비행기 탑승해서 마이애미 현지 시간 3월 24일 일요일 새벽 5시 경 마이애미 공항에 도착해서 비행기에서 하차하기까지 25시간이 소요되었다. 24일 오전에 도착했으므로 24일 밤이 되기까지 잠을 잘 수 없었다. 다음 날이 월요일이라 바로 쉬지 못한 상태로 출장 일정이 시작되었고, 출장 기간 내내 피곤했다. 다음에 출장을 가게 된다면 시차 적응을 빨리할 수 있는 방법을 찾아보고 적용해봐야 할 거 같다. 계획대로 진행되지 않는 일정모든 일이 그렇겠지만 계획대로 진행되지 않았다. 출장 기간 내내 네트워크 이슈로 계획대로 진행할 수 없는 상황이었다. 모바일..

'어제보다 오늘이 나아지는 세계'를 만들기

'어제보다 오늘이 나아지는 세계'김연수 소설가의 책 '우리가 보낸 순간'의 책 끝 부분에 '날마다 글을 쓴다는 것'이란 글에 나온 표현이다. 남들이 봤을 때 김연수 소설가는 스물 셋에 시인으로 등단하고, 스물 넷에 장편 소설로 문학상을 받은 천재 작가다. '날마다 글을 쓴다는 것' 글을 보면 천재 작가인 김연수 소설가도 소설 쓰기를 그만둘까 고민한 적이 있다고 한다. '재능이 없다는 의미'몇 번 대학에서 글쓰기를 가르치고 난 뒤에 나는 자신에게 생긴 부정적인 일들을 '재능이 없다는 의미'로 받아들이는 사람이 십대 시절의 나뿐이 아니라는 사실을 발견하게 됐다. 소설창작 시간에 관례대로 합평이라는 걸 한 적이 있었다. 칭찬을 오천 번 정도는 받아도 원래의 밝고 창의적인 아이 때의 모습으로 돌아갈 수 있을까 ..

GitOps와 AWS ECS 사용 시 베이스 도커 이미지를 활용한 배포 속도 개선 사례

# Situation 상황사내에서 DRF로 개발하고 있으며, Github Action과 AWS ECR, ECS를 활용해서 배포를 하고 있다. Github Action에서 배포 실행 버튼을 누르면 아래와 같은 순서로 배포가 진행되었다.1. 선택한 브랜치의 코드를 바탕으로 도커 이미지 생성해서 ECR로 이미지 업로드2. 1번에서 업로드한 ECR 이미지로 API 서버, 워커 서버 등 배포 진행 # Task 과제1번이 프로젝트가 커지고 외부 라이브러리나 팩키지 설치가 많아질수록 속도가 오래 걸렸다. 특히 PostGIS를 쓰게 됨에 따라 관련 해서 우분투에 libgdal-dev 팩키지 설치가 필요해졌는데 이 팩키지 설치만 몇 십초 씩 걸려 긴 시간이 소요되었다. 어떻게든 속도 개선 작업이 필요했다. # Actio..

ChatGPT로 고급 개발자의 피해가 클까? 초중급 개발자의 피해가 클까?

사람마다 의견이 갈릴 거 같다. 내 의견은 고급 개발자다. 기업의 입장에서 생각하기기업은 돈을 벌기 위한 조직이다. 투자는 적게 하고, 수익은 많이 나는게 최고다. 기업 입장에서 개발자들은 자원 중 하나다. 그래서 인적 자원(Human Resource, HR)이라고 한다. 기업의 입장에서는 4000만원짜리 개발자 A와 8000만원짜리 개발자 B가 있다면 당연히 두 배 비용을 지불하고 있는 B가 A의 최소 두배만큼 일을 해주길 원할 것이다. </p..

채용 플랫폼이 아니라 홈페이지나 인사팀 메일로 직접 지원하면 결과에 영향이 있을까?

인사 담당자 입장에서 한번 생각해보자. 채용 플랫폼으로 지원하는 것을 더 좋아하지 않을까? 채용 플랫폼을 원티드나 리멤버 등 하나만 이용한다면 관리 차원에서 좋아할 수도 있다. 하지만 보통 채용 플랫폼을 하나만 이용하지는 않는다. 원티드, 사람인, 리멤버, 링크드인 등 여러 플랫폼을 이용하고, 헤드헌터, 사내 추천 등 여러 채널을 이용해서 채용을 진행한다. 직접 지원하면 인사 담당자 입장에서 채용 수수료를 아낄 수 있지 않을까? 채용 수수료를 찾아보자. 원티드 경우 연봉의 7%이다. 프로그래머스의 경우도 연봉의 7%이다. 보통 7% 정도로 생각하면 될 거 같다. 7%가 별 것 아닌 거 같지만 연봉이 5000만원이라면 기업 입장에서는 350만원이나 되는 큰 돈을 수수료로 지불해야 한다. 직접 지원한 경우 ..

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

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

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

이메일의 중요성전화, 문자 등 다양한 연락 매체가 있지만 여전히 이메일은 중요하다. 이메일은 글이라 공식적인 기록이 남기 때문이다. 보통 오퍼레터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한테 먼저 물어보게 될 거 같다. 검색 광고에 의존하는 구글은 어떻게 될까... ..

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

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

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

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

반응형