<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Essay on</title><link>https://taetaetae.github.io/categories/essay/</link><description>Recent content in Essay on</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sun, 07 Jan 2024 12:16:21 +0900</lastBuildDate><atom:link href="https://taetaetae.github.io/categories/essay/index.xml" rel="self" type="application/rss+xml"/><item><title>그런 개발자로 괜찮은가 - '그룹 스터디' 편</title><link>https://taetaetae.github.io/posts/a-good-developer-in-terms-of-group-study/</link><pubDate>Sun, 07 Jan 2024 12:16:21 +0900</pubDate><guid>https://taetaetae.github.io/posts/a-good-developer-in-terms-of-group-study/</guid><description>&lt;p>　다양한 방식으로 스터디를 해왔다. 정말 많은 것을 배웠던 스터디도 있는가 반면에 지나고 보면 시간이 아까울 정도의 스터디도 있었던 것 같다. 직접 만들어 보기도 했고 참여도 해봤던 것 같다. 이런저런 경험들 끝에 작년 중순에 직접 만들었던 스터디 멤버와는 어느덧 반년을 넘어가고 있는데 바쁜 회사 생활을 하면서도 이제까지 지속할 수 있었던 노하우를 공유해 보고자 한다.&lt;/p>
&lt;h3 id="인원">인원&lt;/h3>
&lt;p>　다 그런 건 아니지만 기존 회사 분들과 스터디를 할 때면 아무래도 원래 알던 사이라 바빠서 준비를 못 해오거나 불참을 하는 경우에 &amp;ldquo;그럴 수도 있지&amp;rdquo;, &amp;ldquo;괜찮아&amp;rdquo; 하며 관대해졌던 것 같다. 또는 다양한 의견을 듣자며 10명 이상 진행을 했던 것 같다. 그렇다 보니 스터디 진행에 집중도가 떨어질 수밖에 없었고 모였을 때 이야기하던 사람들만 이야기한다든지, 중도 하차하는 경험도 많았다.&lt;/p>
&lt;figure>&lt;a class="lightgallery" href="https://taetaetae.github.io/images/a-good-developer-in-terms-of-group-study/blind.png" title="/images/a-good-developer-in-terms-of-group-study/blind.png" data-thumbnail="/images/a-good-developer-in-terms-of-group-study/blind.png" data-sub-html="&lt;h2>블라인드 글에 첨부한 스터디 참여 설문&lt;/h2>">
 &lt;img
 class="lazyload"
 src="https://taetaetae.github.io/svg/loading.min.svg"
 data-src="https://taetaetae.github.io/images/a-good-developer-in-terms-of-group-study/blind.png"
 data-srcset="https://taetaetae.github.io/images/a-good-developer-in-terms-of-group-study/blind.png, https://taetaetae.github.io/images/a-good-developer-in-terms-of-group-study/blind.png 1.5x, https://taetaetae.github.io/images/a-good-developer-in-terms-of-group-study/blind.png 2x"
 data-sizes="auto"
 alt="/images/a-good-developer-in-terms-of-group-study/blind.png" width="60%" />
 &lt;/a>&lt;figcaption class="image-caption">블라인드 글에 첨부한 스터디 참여 설문&lt;/figcaption>
 &lt;/figure>
&lt;p>　이번 스터디는 직접 &amp;lsquo;블라인드&amp;rsquo;라는 익명 커뮤니티를 통해 인원을 모았다. 작년 중순쯤 자바 백엔드 관련된 주제를 스터디 하겠다며 나와 비슷한 연차분들 위주로 모으겠다고 글을 작성했더니 신기하게도 3~40명 되는 분들이나 지원하셨고 그중 오프라인 모임을 고려해서 나 포함 6명 만으로 구성을 하였다.(뭔가 서류 전형 인사담당자가 된 느낌;;) 작은 규모 그리고 새로운 분들과 하게 되니 집중도가 오르는 경험을 할 수 있었고 무엇보다 6명 모두 다른 회사라 각 회사를 대표하는 것 같은 느낌이 들어 스터디 참여에 몰입이나 책임감이 더욱 올랐던 것 같다. 또한 한 주제에 대해 각 회사에서의 경험들을 이야기하다 보니 완전히 다른 시각을 얻을 수 있다는 장점도 있었다.&lt;/p>
&lt;p>　별거 아닐 수도 있지만(또는 오해가 될 수도 있지만) 남녀 성비, 그리고 나이대(연차)를 최대한 맞추고 싶었다. 그래야 분위기가 적당히 딱딱하지도, 부드럽지도 않을 것 같았기 때문이다. 지금은 여자 한 분 나머지 남자분들이라 초반에 걱정도 되었지만 생각보다 분위기가 잘 흘러가서 다행이라 생각을 한다.&lt;/p>
&lt;h3 id="주제와-목표">주제와 목표&lt;/h3>
&lt;figure>&lt;a class="lightgallery" href="https://taetaetae.github.io/images/a-good-developer-in-terms-of-group-study/roadmap.png" title="/images/a-good-developer-in-terms-of-group-study/roadmap.png" data-thumbnail="/images/a-good-developer-in-terms-of-group-study/roadmap.png" data-sub-html="&lt;h2>배워야 할게 한도 끝도 없는 개발자 세상스터디 목표에 따라 집중해야 할 범위를 좁히자!&lt;/h2>">
 &lt;img
 class="lazyload"
 src="https://taetaetae.github.io/svg/loading.min.svg"
 data-src="https://taetaetae.github.io/images/a-good-developer-in-terms-of-group-study/roadmap.png"
 data-srcset="https://taetaetae.github.io/images/a-good-developer-in-terms-of-group-study/roadmap.png, https://taetaetae.github.io/images/a-good-developer-in-terms-of-group-study/roadmap.png 1.5x, https://taetaetae.github.io/images/a-good-developer-in-terms-of-group-study/roadmap.png 2x"
 data-sizes="auto"
 alt="/images/a-good-developer-in-terms-of-group-study/roadmap.png" width="50%" />
 &lt;/a>&lt;figcaption class="image-caption">배워야 할게 한도 끝도 없는 개발자 세상&lt;br>스터디 목표에 따라 집중해야 할 범위를 좁히자!&lt;/figcaption>
 &lt;/figure>
&lt;p>　처음부터 모니터 받침으로 하기 좋을만한 두꺼운 책은 피했던 것 같다. 가볍게, 스터디원들끼리의 친밀도부터 올려야 한다는 생각으로 너무 딥 다이브 한 기술적인 내용보다는 누구나 한마디 정도 할 수 있을만한 가벼운 책부터 시작했다. 그러면서 최대한 참여도를 올리는데 집중했던 것 같다.&lt;/p>
&lt;p>　어디까지나 &amp;ldquo;공부&amp;quot;를 하기 위한 모임이긴 하지만 이 또한 사람과 사람 사이의 &amp;ldquo;관계&amp;quot;가 중요하다고 생각했기에 모였을 때 바로 스터디 이야기를 하는 것보다 부드러운 아이스브레이킹을 자주 해왔다. 또한 너무 루즈 해지지 않게 1달&lt;del>1달 반 정도로 끝날 수 있을만한 주제를 선정했다. 아무래도 한 주제가 2&lt;/del>3달 걸리다 보면 집중도가 떨어지는 경험이 많았기 때문이다. 책 한 권을 다 읽었다는 기간을 짧게 가져가면서 작은 성취의 효과를 최대한 활용하고 있다. 이번 회차가 벌써 네 번째인걸 보면 그래도 나름 잘 선택한 방법이라 생각이 든다.&lt;/p>
&lt;p>　한 회차가 끝날 즈음엔 다음 스터디는 무엇을 할 것인지에 대해 이야기를 하고 다수가 동의하는 주제를 선정한다. 또한 매 회차가 끝날 때마다 어쩌면 어색할 수 있는 이야기지만 스터디 참여를 그만 둘지에 대해 의사를 분명히 물어본다. (그런데 신기하게도 지금 스터디 모임은 이런 이야기를 하기도 전에 스터디 하고 싶은 주제를 먼저 말씀해주시는 편이라, 어쩌면 스스로 사람 운이 좋다는 생각도 해본다.)&lt;/p>
&lt;p>　그저 하나의 책을 읽기로 끝나는 &amp;ldquo;책 읽기 모임&amp;rdquo; 이 아닌 만큼 책을 기반으로 하는 스터디 모임일지라도 목표를 분명하게 잡는다. 여기서 목표는 개인마다 다를 수 있다. 가령 스터디 시간에 나왔던 내용을 각자의 팀에 공유 및 반영을 해본다든지, 스터디 내용에 대해 주도적으로 이야기를 하며 다른 분들의 지식을 훔쳐보겠다든지(?). 책 읽는 것으로 끝나면 안 되고 가능하다면 해당 내용을 실제로 경험하는 사이클까지 만드는 게 더 중요하지 않을까 생각을 해본다.&lt;/p></description></item><item><title>그런 개발자로 괜찮은가 - '환경' 편</title><link>https://taetaetae.github.io/posts/a-good-developer-in-terms-of-surroundings/</link><pubDate>Sun, 23 Jul 2023 10:39:22 +0900</pubDate><guid>https://taetaetae.github.io/posts/a-good-developer-in-terms-of-surroundings/</guid><description>&lt;p>　(필자의 과거 경험을 미루어) 개발자로서 회사에서 일을 하다 보면 가끔 CRUD(Create, Read, Update, Delete) API를 찍어내는 기계(?)가 되는 느낌을 받을 때가 있다. 일정은 촉박한데 사람은 부족하고, 기술 부채가 복리로 늘어나는 게 눈에 훤히 보이지만 개선할 시간이나 여유조차 없어 자신도 모르게 점점 &amp;ldquo;돌아가게만&amp;rdquo; 개발하는 상황들. 기술적인 고민을 할 시간은 점점 없어지고, 코드를 설계하는 측면이나 테스트 코드, 책임과 관심 같은 생각들은 하지 못한 채 편의만 추구하며 코드를 작성한다. 그러다 이직을 해야겠다 마음먹고 이력서를 작성할 때나 연말 평가를 위해 한 해 무엇을 했는지 돌아보면 회사일은 불철주야 정말 열심히 했지만 회사를 벗어나 개발자로써 본인 스스로를 위한 건 회사일 대비 아주 극소수에 불과하는 삶이 계속된다.&lt;/p>
&lt;figure>&lt;a class="lightgallery" href="https://taetaetae.github.io/images/a-good-developer-in-terms-of-surroundings/coding-machine-developer.jpg" title="/images/a-good-developer-in-terms-of-surroundings/coding-machine-developer.jpg" data-thumbnail="/images/a-good-developer-in-terms-of-surroundings/coding-machine-developer.jpg" data-sub-html="&lt;h2>코딩하는 로봇은 되지 말자.출처 : https://sdtimes.com/ai/ai-enabled-tools-might-completely-change-development-one-day/&lt;/h2>">
 &lt;img
 class="lazyload"
 src="https://taetaetae.github.io/svg/loading.min.svg"
 data-src="https://taetaetae.github.io/images/a-good-developer-in-terms-of-surroundings/coding-machine-developer.jpg"
 data-srcset="https://taetaetae.github.io/images/a-good-developer-in-terms-of-surroundings/coding-machine-developer.jpg, https://taetaetae.github.io/images/a-good-developer-in-terms-of-surroundings/coding-machine-developer.jpg 1.5x, https://taetaetae.github.io/images/a-good-developer-in-terms-of-surroundings/coding-machine-developer.jpg 2x"
 data-sizes="auto"
 alt="/images/a-good-developer-in-terms-of-surroundings/coding-machine-developer.jpg" width="50%" />
 &lt;/a>&lt;figcaption class="image-caption">코딩하는 로봇은 되지 말자.&lt;br>출처 : &lt;a href="https://sdtimes.com/ai/ai-enabled-tools-might-completely-change-development-one-day/" target="_blank" rel="noopener noreffer ">https://sdtimes.com/ai/ai-enabled-tools-might-completely-change-development-one-day/&lt;/a>&lt;/figcaption>
 &lt;/figure>
&lt;p>　개인이 스스로 진행하는 프리랜서나 사업가를 제외하고 선 대부분 회사라는 집단에 소속되어 살아간다. 그러한 회사의 가장 중요한 목표는 돈을 벌기 위한 사업을 하는 것이다. 회사에서는 직원들에게 어느 정도의 처우는 보장해 줄 순 있지만 개개인의 인생을 책임져주진 않는 게 현실이다. 그걸 알면서도 지금 다니고 있는 회사에서 성장을 하지 못한다며 이직을 준비하거나 어쩌면 나를 위한 게 아닌 회사를 위한 일만 해오고 있는 건 아닌가 스스로를 되돌아보게 된다.&lt;/p>
&lt;p>　개발자로써 지금의 삶이 너무 행복하고 만족스럽다면 이 글을 읽지 않아도 좋다. (어쩌면 우물 안 개구리로 살아가고 있는 건 아닌지 묻고 싶다. 물론 그 우물마저 따뜻하다면 패스하는 것으로.) 오랜만에 쓰는 이 글에서는 회사라는 의존을 벗어나 스스로 우뚝 설수 있는 &amp;lsquo;환경을 바꾸는 이야기&amp;rsquo;를 하려 한다. 몸짱이 되기 위해 헬스장을 가고 그것도 모자라 비싼 PT를 끊는다거나, 허리가 좋지 않아 스탠딩 책상으로 바꾸는 것처럼 개발자로 살아가면서 내가 제어할 수 있는 &amp;lsquo;환경&amp;rsquo;을 바꾸면서 앞서 이야기 한 &amp;lsquo;본인 스스로를 위해 성장하는 시간&amp;rsquo;을 만들었으면 하는 바람이다.&lt;/p>
&lt;h2 id="시간관리">시간관리&lt;/h2>
&lt;p>　하루를 시작하면 세상 모든 사람들에게 공평하게 주어지는 게 바로 시간이다. 누구나 24시간을 쓰는데 어떻게 쓰는지는 본인이 선택하기에 달린 문제다. 밤늦게까지 컴퓨터 앞에 앉아 공부를 하고 출근이 늦는답시고 아침 늦게 일어나는 선택, 퇴근하고 집에 오면 피곤해서 아무것도 하기 싫어 TV나 SNS를 하다 잠에 드는 선택, 회사에서 하는 개발은 어느 정도 할 줄 아는 수준까지 되었으니 굳이 다른 개발 공부는 하지 않아도 된다는 선택. 여기서 중요한 건 선택이 다를 뿐이지 잘못된 선택은 없다. 선택에 대해 책임을 질수 있다면 그것으로 OK. 하지만 시간이 부족하다는 핑계를 대고 있다면 시간관리부터 잘 할 필요가 분명히 있다.&lt;/p>
&lt;figure>&lt;a class="lightgallery" href="https://taetaetae.github.io/images/a-good-developer-in-terms-of-surroundings/time.jpeg" title="/images/a-good-developer-in-terms-of-surroundings/time.jpeg" data-thumbnail="/images/a-good-developer-in-terms-of-surroundings/time.jpeg" data-sub-html="&lt;h2>가만히 놔도 흘러가는 시간출처 : https://www.bobaedream.co.kr/view?code=strange&amp;No=1515814/&lt;/h2>">
 &lt;img
 class="lazyload"
 src="https://taetaetae.github.io/svg/loading.min.svg"
 data-src="https://taetaetae.github.io/images/a-good-developer-in-terms-of-surroundings/time.jpeg"
 data-srcset="https://taetaetae.github.io/images/a-good-developer-in-terms-of-surroundings/time.jpeg, https://taetaetae.github.io/images/a-good-developer-in-terms-of-surroundings/time.jpeg 1.5x, https://taetaetae.github.io/images/a-good-developer-in-terms-of-surroundings/time.jpeg 2x"
 data-sizes="auto"
 alt="/images/a-good-developer-in-terms-of-surroundings/time.jpeg" width="30%" />
 &lt;/a>&lt;figcaption class="image-caption">가만히 놔도 흘러가는 시간&lt;br>출처 : &lt;a href="https://www.bobaedream.co.kr/view?code=strange&amp;amp;No=1515814/" target="_blank" rel="noopener noreffer ">https://www.bobaedream.co.kr/view?code=strange&amp;No=1515814/&lt;/a>&lt;/figcaption>
 &lt;/figure>
&lt;p>　필자는 하고 싶은 게 너무나 많다. 그와 비슷한 양으로 꼭 해야 하는 것도 많다. 그렇기에 매월 1일이 되면 메모장에 한 달의 청사진을 그려본다. 정확하게 그릴 수 있는 것도 있지만 추상적으로 적는 경우도 많다. 그러고는 매주 일요일 저녁이 되면 다음 일주일에 대해 좀 더 자세한 계획을 작성하고, 매일 저녁이 되면 내일의 하루를 미리 정리해 본다. 시간 단위로 작성하는 경우도 있고 계획 중에 우선순위를 점검하며 빠짐없이 시간을 알차게 보내려고 애를 쓰는 연습 중이다.&lt;/p>
&lt;p>　MBTI의 맨 마지막 문자가 대문자 J라서 그런지 계획하는 걸 선호하지만 막상 계획대로 시간을 보내다 보면 그래도 시간이 부족한 경우가 많다. 제한된 시간 내에서 최대한 시간을 확보해 보려 여러 가지 노력을 해봤다. 저녁 늦게까지 책상 앞에 앉아서 시간을 확보하기도 해봤지만 늦게 자게 되니 다음날의 체력에 지장을 줄 수밖에 없던 구조였다. 반대로 아침에 일찍 일어나는 건 워낙에 아침잠이 많은 체질이라 너무나도 힘들었지만 시간을 확보할 수 있다는 희망 아래 &amp;lsquo;미라클 모닝&amp;rsquo;을 시작하게 되었다.&lt;/p></description></item><item><title>그런 개발자로 괜찮은가 - '취업' 편</title><link>https://taetaetae.github.io/posts/a-good-developer-in-terms-of-employment/</link><pubDate>Sun, 24 Oct 2021 16:07:11 +0900</pubDate><guid>https://taetaetae.github.io/posts/a-good-developer-in-terms-of-employment/</guid><description>&lt;p>　몇 달 전부터 좋은 기회가 생겨 이제 막 개발자의 길로 들어서는 분들과 다양한 색깔들로 이야기를 나누고 있다. 과거 필자가 막 취업을 했을 때의 온도와는 확연하게 다르지만 확실하게 이야기할 수 있는 건, 이미 개발자라는 직업으로 10년 가까이 지내보니 무엇이 중요하고 어떤 것들은 자신을 갉아먹는 존재라는 게 뻔히 보인다는 점이다. 하지만 그 어느 누구도 처음 시작점에서는 당연히 힘들어할 수밖에 없는데 그 과정을 무작정 싫어만 한다거나 그 힘듦을 못 견디고 포기 또는 잘못된 선택(일단 어디라도 붙으면 무조건 가자는 식의)을 하게 되는 점이 너무 안타깝다. 만약 어떠한 &amp;lsquo;공식&amp;rsquo;처럼 중요한 것만 바라보고 필요 없는 것들은 하지 않는 식으로 하면 개발자라는 직업을 갖는 직장인의 삶은 과연 행복할까? 아니 그게 가능하긴 할까?&lt;/p>
&lt;p>　이런저런 과정을 거쳐서 취업에 성공했다고 가정해 보자. 과연 우리가 꿈꾸던 아름답고 멋진 개발자 라이프가 보장이 될까? (물론 사람마다 회사마다 다르지만) 야근은 밥 먹기 일쑤고 모르는 거 투성에 매번 실수하거나 혼나고 좌절의 연속. 드디어 취업했다!라는 외침이 온 데 간 데 사라지고 스트레스가 반복되어 결국 퇴사를 생각하거나 정신 차려보니 나도 모르게 CRUD (create, read, update, delete) 찍어내는 기계가 되어버리곤 한다. 무엇이 문제일까? 이런 생활을 기대하고 취업한 건 아닐 텐데 말이다.&lt;/p>
&lt;figure>&lt;a class="lightgallery" href="https://taetaetae.github.io/images/a-good-developer-in-terms-of-employment/news.jpg" title="/images/a-good-developer-in-terms-of-employment/news.jpg" data-thumbnail="/images/a-good-developer-in-terms-of-employment/news.jpg" data-sub-html="&lt;h2>개발자 전성시대, 이대로 좋은가출처 : https://news.nate.com/view/20210226n37680&lt;/h2>">
 &lt;img
 class="lazyload"
 src="https://taetaetae.github.io/svg/loading.min.svg"
 data-src="https://taetaetae.github.io/images/a-good-developer-in-terms-of-employment/news.jpg"
 data-srcset="https://taetaetae.github.io/images/a-good-developer-in-terms-of-employment/news.jpg, https://taetaetae.github.io/images/a-good-developer-in-terms-of-employment/news.jpg 1.5x, https://taetaetae.github.io/images/a-good-developer-in-terms-of-employment/news.jpg 2x"
 data-sizes="auto"
 alt="/images/a-good-developer-in-terms-of-employment/news.jpg" width="100%" />
 &lt;/a>&lt;figcaption class="image-caption">개발자 전성시대, 이대로 좋은가&lt;br>출처 : &lt;a href="https://news.nate.com/view/20210226n37680" target="_blank" rel="noopener noreffer ">https://news.nate.com/view/20210226n37680&lt;/a>&lt;/figcaption>
 &lt;/figure>
&lt;p>　이번 포스팅에서는 이제 막 &amp;lsquo;개발자&amp;rsquo;라는 직업을 가지려는 분들이나 직장인으로서 시작은 했는데 어떠한 이유로 지친다거나 매너리즘에 빠진 분들께 조금이나마 도움이 될까 하여 필자의 생각을 정리해 보고자 한다. 왜 본인이 수많은 직업 중에 하필 &amp;lsquo;개발자&amp;rsquo;를 선택했는지, 그리고 취업을 하고자 할 때 생각해 봐야 할 몇 가지들에 대해 이야기해보자.&lt;/p>
&lt;h2 id="왜-하필-개발자인가">왜 하필 &amp;lsquo;개발자&amp;rsquo;인가&lt;/h2>
&lt;p>　한국 고용정보원이 2020년 발간한 「한국 직업사전 통합본 제5판」에 따르면 2019년 12월 기준으로 우리나라 직업의 종류는 16,891개라고 한다. 산업이 발달됨에 따라 다양한 직업들이 생겨나기에 지금은 훨씬 더 많을 것으로 예상된다. 그런데, 이 수많은 직업들 중에 왜 하필 우리는 &amp;lsquo;개발자&amp;rsquo;라는 직업을 선택하려는 걸까? 관련 전공을 나와서? 요즘 인기 있는 직업이라서? 한 번쯤은 아니, 꼭 이런 생각을 며칠에서 몇 달 동안 깊게 고민해 봤으면 좋겠다. 왜 나는 개발자로써 살아가려 하는 것인지에 대해서 말이다.&lt;/p>
&lt;p>　이력서 혹은 자기소개서에 &amp;lsquo;입사 포부&amp;rsquo;라는 문항이 자주 나타난다. 그곳에는 본인이 개발자가 되어야만 하는 이유에 대해 다양한 미사여구를 붙여가며 작성하기 마련인데 그렇게 &amp;lsquo;보여주기식&amp;rsquo;내용 말고 정말 내가 개발이 &amp;lsquo;재밌는지에&amp;rsquo; 대해 반문을 해보는 과정이 필요하다. 개발을 하는 과정 속에서 나는 어느 상황에서 재미를 느끼는지. 새로운 기술을 배울 때, 몇 날 며칠 동안 삽질을 하다 해결을 했을 때, 내가 개발한 애플리케이션을 누군가 사용할 때 등등. 찾아보면 다양한 시점에서 우리는 개발을 하며 재미를 느낄 때가 있다.&lt;/p>
&lt;p>　눈치를 챘을 수도 있지만 필자가 말하고 싶은 건, 개발자라는 직업을 선택하려면 개발이 재미있어야 된다는 말이다. 반문을 해보자. 그럼 만약에 개발이 재미없다면 어떨까? 개발자로써 살아갈 수 없는 것일까? 일반화하긴 싫지만 개발이 재미가 없으면 개발자로써 살아가기에 너무 힘들 것 같다. 검정 화면에 영어로 된 글자들을 만져가며 홀로 고독하게 자신과의 싸움을 하는 시간들의 연속일 텐데 재미라도 있지 않다면, 더군다나 그게 하루의 절반 이상을 할애하는 &amp;lsquo;직업&amp;rsquo;이라면 오래 유지하는데 힘들지 않을까?&lt;/p>
&lt;figure>&lt;a class="lightgallery" href="https://taetaetae.github.io/images/a-good-developer-in-terms-of-employment/ebs.jpeg" title="/images/a-good-developer-in-terms-of-employment/ebs.jpeg" data-thumbnail="/images/a-good-developer-in-terms-of-employment/ebs.jpeg" data-sub-html="&lt;h2>그래도 오늘이 몇일인지는 알고 하자.출처 : https://bbs.ruliweb.com/community/board/300143/read/49006211&lt;/h2>">
 &lt;img
 class="lazyload"
 src="https://taetaetae.github.io/svg/loading.min.svg"
 data-src="https://taetaetae.github.io/images/a-good-developer-in-terms-of-employment/ebs.jpeg"
 data-srcset="https://taetaetae.github.io/images/a-good-developer-in-terms-of-employment/ebs.jpeg, https://taetaetae.github.io/images/a-good-developer-in-terms-of-employment/ebs.jpeg 1.5x, https://taetaetae.github.io/images/a-good-developer-in-terms-of-employment/ebs.jpeg 2x"
 data-sizes="auto"
 alt="/images/a-good-developer-in-terms-of-employment/ebs.jpeg" width="100%" />
 &lt;/a>&lt;figcaption class="image-caption">그래도 오늘이 몇일인지는 알고 하자.&lt;br>출처 : &lt;a href="https://bbs.ruliweb.com/community/board/300143/read/49006211" target="_blank" rel="noopener noreffer ">https://bbs.ruliweb.com/community/board/300143/read/49006211&lt;/a>&lt;/figcaption>
 &lt;/figure>
&lt;p>　당장 개발이 재미없어도 좋다. 태어날 때부터 개발이 재밌어서 돌잡이 때 기계식 키보드를 잡는 사람은 없듯 누구나 약간의 호기심에서 개발을 시작하기 마련인데 여기서 중요한 점은 개발의 재미를 본인만의 호흡으로 찾는 습관을 들여야 한다는 것이다. 예컨대, 필자는 회사에서 이런저런 이유로 개발이 재미 없어지거나 쳐다도 보기 싫을 상황이 생기면 무언가를 만들어 보거나&lt;code>(=토이 프로젝트)&lt;/code> 모르는 부분이 생겼다면 깊게 파고 들어 어떻게든 해결하려고 노력하는 과정을 어딘가에 정리하며&lt;code>(=기술 블로그)&lt;/code> 무너지지 않으려 개발의 재미를 유지하려 애써온 것 같다. 이 글을 읽고 있는 당신은 어떤 상황에서 개발의 재미를 느끼는가. 본인만의 호흡을 찾아서 개발이 재미있도록 습관을 길러보는 건 어떨까.&lt;/p></description></item><item><title>그런 개발자로 괜찮은가 - '멘토링' 편</title><link>https://taetaetae.github.io/posts/a-good-developer-in-terms-of-mentoring/</link><pubDate>Mon, 01 Mar 2021 15:12:26 +0900</pubDate><guid>https://taetaetae.github.io/posts/a-good-developer-in-terms-of-mentoring/</guid><description>&lt;p>　﻿이런저런 고생 끝에 원하는 회사에 취업을 해서 &amp;lsquo;주니어&amp;rsquo;라는 꼬리표를 달고 이제 막 회사 생활을 하다 보면 경험이 부족해서 실수를 하거나 기대했던 업무 퍼포먼스가 나오지 않는 경우가 종종 생긴다. 그럴 때면 &amp;ldquo;주니어잖아~ 주니어니까 괜찮아~&amp;rdquo; 라는 말로 어느 정도 &amp;lsquo;이해&amp;rsquo;를 하게 되지만. 쳇바퀴처럼 정신없이 시간이 지나 어느새 경력이 생기게 되고 이제는 약간의 실수조차 &amp;lsquo;이해&amp;rsquo;하기 어려운 시점이 되어버린다. 그러다 이런저런 이유로 &amp;lsquo;개발자&amp;rsquo;를 그만두게까지 되는 슬픈 현실은 주변을 둘러보면 어렵지 않게 찾아볼 수 있다. 그런데, 처음부터 잘 할 수는 없을까? 혹은 어렵거나 힘든 시점이 올 때면 학창 시절에 나를 이끌어 주셨던 &amp;lsquo;선생님&amp;rsquo;같은 존재에게 기대며 다시 일어날 수는 없는 것일까?&lt;/p>
&lt;p>　나름 괜찮은 조직의 경우 연차가 낮은 직원이 힘들어할 때면 그 직원이 적응을 하는 데 도움을 줄 수 있도록 보다 연차가 높은 &amp;lsquo;지도선배&amp;rsquo; 혹은 &amp;lsquo;멘토&amp;rsquo;를 할당해 주곤 한다. 그렇게 맺어진 관계가 잘 지속이 되면 위에서 말했던 &amp;lsquo;힘든 시점&amp;rsquo;에서 큰 도움이 되어 이겨낼 수 있는 힘이 생길 순 있지만 자칫 잘못되는 경우 &amp;lsquo;멘토&amp;rsquo;, &amp;lsquo;멘티&amp;rsquo; 모두에게 부담이 되거나 오히려 안 하느니만 못한 시간들이 되어버리는 멘토링.&lt;/p>
&lt;figure>&lt;a class="lightgallery" href="https://taetaetae.github.io/images/a-good-developer-in-terms-of-mentoring/mentorship.jpeg" title="/images/a-good-developer-in-terms-of-mentoring/mentorship.jpeg" data-thumbnail="/images/a-good-developer-in-terms-of-mentoring/mentorship.jpeg" data-sub-html="&lt;h2>함께 성장하는 멘토링.출처 : https://medium.com/@ashokbalasubramanian/career-development-mentorship-844797327703&lt;/h2>">
 &lt;img
 class="lazyload"
 src="https://taetaetae.github.io/svg/loading.min.svg"
 data-src="https://taetaetae.github.io/images/a-good-developer-in-terms-of-mentoring/mentorship.jpeg"
 data-srcset="https://taetaetae.github.io/images/a-good-developer-in-terms-of-mentoring/mentorship.jpeg, https://taetaetae.github.io/images/a-good-developer-in-terms-of-mentoring/mentorship.jpeg 1.5x, https://taetaetae.github.io/images/a-good-developer-in-terms-of-mentoring/mentorship.jpeg 2x"
 data-sizes="auto"
 alt="/images/a-good-developer-in-terms-of-mentoring/mentorship.jpeg" />
 &lt;/a>&lt;figcaption class="image-caption">함께 성장하는 멘토링.&lt;br>출처 : &lt;a href="https://medium.com/@ashokbalasubramanian/career-development-mentorship-844797327703" target="_blank" rel="noopener noreffer ">https://medium.com/@ashokbalasubramanian/career-development-mentorship-844797327703&lt;/a>&lt;/figcaption>
 &lt;/figure>
&lt;p>　이번 포스팅에서는 개발자로써 &amp;lsquo;멘토링&amp;rsquo;에 대해 어떤 마음가짐을 가져야 할지에 대해 작성해보고자 한다. 물론 틀린 부분도 있을 수 있지만 적어도 필자가 실무 개발자로써 다양한 경험들을 해보며 &amp;lsquo;멘토링&amp;rsquo;에 대해 꽤 중요하다 여겨왔던 순간들이 많았고, 직접 멘티 / 멘토의 경험도 해봤기에 누군가에게는 도움이 될 것이라 조심스레 생각해 본다.&lt;/p>
&lt;h2 id="멘토링-어떻게-시작-하는거야">멘토링? 어떻게 시작 하는거야?&lt;/h2>
&lt;p>﻿
　멘토링에 대해 이야기하기 전에 멘토링의 정의부터 이야기할 필요가 있을 것 같다. &lt;a href="https://ko.wikipedia.org/wiki/%EB%A9%98%ED%86%A0%EB%A7%81" target="_blank" rel="noopener noreffer ">위키백과&lt;/a>에 따르면 풍부한 경험과 지혜를 겸비한 신뢰할 수 있는 사람이 1:1로 지도와 조언을 하는 행위라 나와있다. 더불어, 조력자의 역할을 하는 사람을 멘토(mentor)라고 하며 조력을 받는 사람을 멘티(mentee)라고 나와있다. 학창 시절로 돌아가 보면 선생님은 멘토, 학생들은 멘티의 역할이 될 수도 있을 것 같다. 하지만 회사에서 멘토, 멘티의 관계는 어떻게 맺을 수 있을까? 앞서 이야기했듯이 누군가(아마도 조직의 리더가) 멘토와 멘티 관계를 정해주는 경우가 있지만 그렇지 않은 경우엔 어떻게 해야 할까?&lt;/p>
&lt;p>　아래에서 이야기하겠지만 멘토링은 비단 도움을 &amp;lsquo;얻게 되는&amp;rsquo; 멘티만 좋은 것이 아니라 도움을 &amp;lsquo;주는&amp;rsquo; 멘토에게도 상당히 좋은 활동이라 생각한다. 하지만 단편적으로 보면 멘토보단 멘티가 힘들고 어려운 상황을 이겨내는데 더욱 &amp;lsquo;필요&amp;rsquo;로 하기 때문에 궁극적으로는 멘티가 멘토를 찾아 나서서 멘토링 관계를 맺어야 한다고 생각한다. 물론 천사 같은 선배가 멘토를 자처하고 멘토링을 해주겠다고 하는 상황이라면 땡큐지만 대부분의 선배들은 자기 코가 석자다 하며 바쁘기에&amp;hellip;&lt;/p>
&lt;p>　그렇다면 멘티는 멘토를 어떻게 찾아야 할까? 함께 일하는 선배 동료가 있다면 정중하게 도움을 요청하는 것도 나쁘지 않다 본다. 단, 무작정 &amp;ldquo;저의 멘토가 되어주세요.&amp;ldquo;라는 것보다 자신이 가지고 있는 고민거리를 털어놓으며 조금씩 친분을 쌓아간다면 아무래도 경험이 많은 선배이기에 고민의 범위를 조금이라도 줄여줄 수 있지 않을까. 혹여 주변에 선배 동료가 없다면 온/오프라인 커뮤니티 활동을 하면서 찾는 것도 방법이다. 메신저를 통해 다가가거나 메일로 정중하게 고민을 요약해서 보내놓으면 당장은 아니더라도 가까운 시일 내에 응답이 오기 마련이다. (적어도 괜찮은 선배라면.)&lt;/p>
&lt;p>﻿　여기서 말하는 &amp;lsquo;선배&amp;rsquo;의 정의는 단순 나이가 많아서가 아닌 자신보다 경험이 많은 사람을 의미한다. 그렇기에 자신보다 나이가 적은 사람이 멘토가 될 수도 있다고 생각한다.&lt;/p>
&lt;p>﻿&lt;/p>
&lt;h2 id="왜-멘토링을-해야할까">왜 멘토링을 해야할까?&lt;/h2>
&lt;p>﻿
　&amp;lsquo;경험&amp;rsquo;이 정말 중요하고 홍수같이 쏟아지는 신기술을 온몸으로 받아내야 하는 우리 개발자들은 특히나 멘토링이 필요하다고 생각한다. 어떠한 기능을 만들어 내야 하는 상황이라 생각해 보자. 아주 일반적으로는 기능 개발에만 집중하다 보니 서비스 릴리즈시 검토해야 할 부분들을 생각하지 못하는 경우가 있다. 성능/부하 테스트, 로깅, 모니터링 등등 시간이 지나 상황들을 만나면서 자연스럽게 경험하게 되지만 생각의 시점을 앞당길 수 있다면 조금이라도 성장할 수 있는 시간을 확보하게 되고 결국 시간적인 여유가 생겨 더 깊게 고민을 해볼 수 있는 기회가 생길 수 있을 것 같다. 그에 멘토링은 정말 좋은 도구가 아닐까 싶다.&lt;/p></description></item><item><title>그런 개발자로 괜찮은가 - '이력서' 편</title><link>https://taetaetae.github.io/posts/a-good-developer-in-terms-of-resume/</link><pubDate>Sun, 31 Jan 2021 18:14:37 +0900</pubDate><guid>https://taetaetae.github.io/posts/a-good-developer-in-terms-of-resume/</guid><description>&lt;p>﻿
　이력서는 언제 쓰게 되는 걸까? 아주 일반적으로. 신입(학생)의 경우 대학을 졸업할 즈음 취업하고 싶은 회사로 지원하기 위해 작성하고, 경력(회사원)의 경우 이직을 마음먹고 가고자 하는 회사가 뚜렷하게 결정이 되면 그때 작성하게 되는 것 같다. 회사마다 정해진 형식이 있는 곳이라면 그 형식에 맞추어 작성하고 그렇지 않다면 나만의 기준에 맞추어 작성하게 되는 &amp;lsquo;이력서&amp;rsquo;.&lt;/p>
&lt;p>　회사에 입사하고 정신없이 지내다 보면 이직을 생각하기 전까지는 &amp;lsquo;이력서&amp;rsquo;라는 존재를 자칫 잊어버리기 쉽다. 또한 구태여 시간을 할애하면서까지 써야 한다는 마음조차 잘 들지 않는다. 실제로 텅 빈 책상 앞에 앉아 하얀 A4지와 펜 한 자루만 가지고 써봐야지 하고 시작하면 내가 이제까지 뭘 해왔나 하며 잘 써지지 않기도 하고.&lt;/p>
&lt;figure>&lt;a class="lightgallery" href="https://taetaetae.github.io/images/a-good-developer-in-terms-of-resume/mung.png" title="/images/a-good-developer-in-terms-of-resume/mung.png" data-thumbnail="/images/a-good-developer-in-terms-of-resume/mung.png" data-sub-html="&lt;h2>이력서에 뭘 써야 할까.출처 : https://epsem.tistory.com/243&lt;/h2>">
 &lt;img
 class="lazyload"
 src="https://taetaetae.github.io/svg/loading.min.svg"
 data-src="https://taetaetae.github.io/images/a-good-developer-in-terms-of-resume/mung.png"
 data-srcset="https://taetaetae.github.io/images/a-good-developer-in-terms-of-resume/mung.png, https://taetaetae.github.io/images/a-good-developer-in-terms-of-resume/mung.png 1.5x, https://taetaetae.github.io/images/a-good-developer-in-terms-of-resume/mung.png 2x"
 data-sizes="auto"
 alt="/images/a-good-developer-in-terms-of-resume/mung.png" width="60%" />
 &lt;/a>&lt;figcaption class="image-caption">이력서에 뭘 써야 할까.&lt;br>출처 : &lt;a href="https://epsem.tistory.com/243" target="_blank" rel="noopener noreffer ">https://epsem.tistory.com/243&lt;/a>&lt;/figcaption>
 &lt;/figure>
&lt;p>　&lt;a href="https://taetaetae.github.io/tags/a-good-developer/" rel="">&lt;code>그런 개발자로 괜찮은가&lt;/code> 시리즈&lt;/a>인 ﻿이번 포스팅에서는 개발자에게 있어 &amp;lsquo;이력서&amp;rsquo;란 무엇이고 언제, 왜 그리고 어떻게 써야 하는지에 대해 이야기해보고자 한다. 정보의 바다, 홍수처럼 쏟아지는 기술의 변화를 IT 최전방에서 온몸으로 맞서 싸우는 우리 개발자들에게 &amp;lsquo;회사&amp;rsquo;보다는 &amp;lsquo;나 자신&amp;rsquo;을 위해 하루를 살아갈 수 있는 &amp;lsquo;힘&amp;rsquo;이 되었으면 하는 마음으로.&lt;/p>
&lt;blockquote>
&lt;p>﻿들어가기 앞서, 본 포스팅은 이직을 권유하는 내용은 절대 아님을 밝힌다. 오히려 이력서 작성을 통해 현재의 직장에서 본인에게 더욱 집중하고 회사와 함께 성장했으면 하는 바람이다.&lt;/p>&lt;/blockquote>
&lt;h2 id="개발자에게-이력서란">개발자에게 이력서란?&lt;/h2>
&lt;p>　우선 이력서란 무엇일까? 사전적 의미를 먼저 살펴보자. &lt;a href="https://ko.wikipedia.org/wiki/%EC%9D%B4%EB%A0%A5%EC%84%9C" target="_blank" rel="noopener noreffer ">위키백과&lt;/a>에 따르면 &amp;ldquo;취직을 위한 면접의 기회를 얻기 위해 회사 등 조직에 제출하는 개인의 신상정보, 학력, 경력 등을 시간 순으로 요약 혹은 나열한 문서&amp;quot;라 나와있다. 여기에 추가로 우리 개발자들은 본인이 사용할 수 있는 &amp;lsquo;기술&amp;rsquo;이나 특정한 &amp;lsquo;경험&amp;rsquo;을 적으며 자신이 가지고 있는 기술적 가치에 대해 어필하는 경우가 대부분이다.&lt;/p>
&lt;p>　사전적 의미로 보면 &amp;lsquo;내 정보&amp;rsquo;를 잘 요약해서 취업하고자 하는 &amp;lsquo;회사&amp;rsquo;에 전달하는 수단으로도 이해할 수도 있을 것 같다. 즉, 누군가에게 본인을 정보(혹은 실력)를 정리해서 알리는 수단 중에 하나로 볼 수 있는데, 과연 이 이력서에는 &amp;lsquo;알린다&amp;rsquo;라는 의미만 담겨있을까?&lt;/p>
&lt;p>　필자가 생각하는 이력서의 정의는 &amp;lsquo;나를 알리는 수단&amp;rsquo; 보다 &amp;lsquo;나를 가장 잘 아는 거울&amp;rsquo;이라 생각한다. 특히 개발자에게는 더욱더. 무엇을 개발해왔고 어떤 기술을 써 왔으며 어떤 경험이 있는지 어느 곳에 작성을 하지 않으면 더듬더듬 기억으로 나 자신을 알기엔 요즘은 봐야 할 정보가 많은 세상이 되어버렸기 때문이다.&lt;/p>
&lt;h2 id="왜-써야-할까">왜 써야 할까?&lt;/h2>
&lt;p>　앞서 이력서를 &amp;lsquo;나를 가장 잘 아는 거울&amp;rsquo;이라고 말했다. 거울을 보고 얼굴에 뭐가 묻었으면 닦거나 옷차림이 별로라면 고쳐보는 등 &amp;lsquo;거울&amp;rsquo;은 나를 가장 잘 볼 수 있는 도구 중에 가장 좋은 물건이라 생각한다. 그런 의미에서 이력서는 단순하게 &amp;lsquo;Java 개발 N 연차&amp;rsquo; 가 아닌 그동안 무엇을 해왔고 어떤 경험과 기술을 사용해 왔는지 정리를 하며 나 자신을 돌아볼 수 있는 훌륭한 도구라 생각한다.&lt;/p>
&lt;p>　개발자 생활(정확히 말하면 회사 생활)을 하다 보면 개인 사업을 제외하고 회사가 추구하는 비즈니스의 목표를 위해 자의적이 아닌 타의적으로 임무를 할당받아 진행하는 경우가 대부분이다. 그러다 보면 소위 말하는 &amp;lsquo;찍어내기식 개발&amp;rsquo;을 하는 경우도 많고, 문제를 만날 경우 다양한 삽질로 해결은 하지만 제대로 이해하지 못한 채 일정에 치여 넘어가는 경우들도 있다. 그렇게 시간이 지나고 연말이 되어 한 해를 돌아보면 업무를 일정에 맞추어 진행하는 데는 성공하였지만 정작 본인에게 남은 건 장시간 컴퓨터 앞에 앉아 생긴 거북목과 점점 짙어져가는 다크서클뿐이다.&lt;/p>
&lt;figure>&lt;a class="lightgallery" href="https://taetaetae.github.io/images/a-good-developer-in-terms-of-resume/why.jpg" title="/images/a-good-developer-in-terms-of-resume/why.jpg" data-thumbnail="/images/a-good-developer-in-terms-of-resume/why.jpg" data-sub-html="&lt;h2>왜 되지?출처 : https://www.clien.net/service/board/park/4533074&lt;/h2>">
 &lt;img
 class="lazyload"
 src="https://taetaetae.github.io/svg/loading.min.svg"
 data-src="https://taetaetae.github.io/images/a-good-developer-in-terms-of-resume/why.jpg"
 data-srcset="https://taetaetae.github.io/images/a-good-developer-in-terms-of-resume/why.jpg, https://taetaetae.github.io/images/a-good-developer-in-terms-of-resume/why.jpg 1.5x, https://taetaetae.github.io/images/a-good-developer-in-terms-of-resume/why.jpg 2x"
 data-sizes="auto"
 alt="/images/a-good-developer-in-terms-of-resume/why.jpg" width="50%" />
 &lt;/a>&lt;figcaption class="image-caption">왜 되지?&lt;br>출처 : &lt;a href="https://www.clien.net/service/board/park/4533074" target="_blank" rel="noopener noreffer ">https://www.clien.net/service/board/park/4533074&lt;/a>&lt;/figcaption>
 &lt;/figure>
&lt;p>﻿　이력서를 써야 하는 이유를 크게 두 가지로 꼽자면, 첫 번째로는 나를 알리는 수단(Personal branding)으로 활용할 수 있다는 점에서다. 잘 정리한 자신의 이력서를 공개해놓으면 취업의 기회가 생길 수도 있고 인적 네트워킹이 되어 생각하지 못한 &amp;lsquo;기회&amp;rsquo;를 얻을 수도 있기 때문이다. 두 번째로는 앞서 이야기 한 &amp;lsquo;나 자신을 돌아보기 위함&amp;rsquo;이다. 멀리 가려면 앞만 보지 말고 뒤도 돌아볼 줄 알아야 한다는 말도 있지 않은가. 이력서를 쓰다 보면 무엇을 해냈고, 어떤 걸 할 수 있고, 그런데 무엇이 부족한지 (자괴감이 들기도 하지만) &amp;lsquo;팩트&amp;rsquo;로 볼 수 있기에 보다 나 자신에게 집중할 수 있다는 점에서 꼭 이력서를 써봐야 한다고 이야기하고 싶다.&lt;/p></description></item><item><title>그런 개발자로 괜찮은가 - '로그 &amp; 모니터링' 편</title><link>https://taetaetae.github.io/2020/10/04/a-good-developer-in-terms-of-log-and-monitoring/</link><pubDate>Sun, 04 Oct 2020 15:39:15 +0000</pubDate><guid>https://taetaetae.github.io/2020/10/04/a-good-developer-in-terms-of-log-and-monitoring/</guid><description>&lt;p>　캐릭터를 육성하며 게임하는 경우를 생각해 보자. 더 좋은 아이템을 얻거나 퀘스트를 달성하기 위해 당신은 다양한 방법을 통해 캐릭터를 성장시킨다. 사냥을 하다 체력이 떨어지게 되면 물약을 먹고, &lt;!--more -->캐릭터의 능력 중 부족한 부분이 있으면 훈련을 더 하거나 그에 맞는 아이템을 장착하게 된다. 이렇게 캐릭터의 &amp;lsquo;상태&amp;rsquo;를 적절한 UI를 통해 사용자에게 알려주기 때문에 &amp;lsquo;확인&amp;rsquo;이 가능하고 &amp;lsquo;대응&amp;rsquo;이 가능하게 된다.&lt;/p>
&lt;p>　우리가 만드는 애플리케이션 또한 위에서 이야기 한 게임상의 캐릭터가 아닐까 싶다. 복잡한 스펙을 다양한 테스트 케이스를 만들며 로직 동작에는 이상이 없음을 확인했다면 그걸로 만족할 수 있을까? 개발자의 &amp;lsquo;레벨&amp;rsquo;은 이 부분에서 차이가 난다고 생각한다. 운영환경에 출시한 애플리케이션에 에러가 나는지, 트래픽이 얼마나 들어오고 있고 트래픽의 유형은 또 어떠한지, 요청에 대한 응답속도는 어떻고 서버의 시스템 지표에는 문제가 없는지 등등. 애플리케이션의 유형에 따라 다양하겠지만 적절한 로그를 이용하여 애플리케이션의 &amp;lsquo;상태&amp;rsquo;를 확인하고 문제가 있다면 &amp;lsquo;대응&amp;rsquo;하는 게 꼭 필요하다고 생각한다.&lt;/p>
&lt;p>　이번 포스팅에서는 크게 로깅과 모니터링에 대해 알아보고자 한다. 이를 통해 애플리케이션의 &amp;lsquo;개발&amp;rsquo;에만 집중하고 있던 관점을 보다 더 높은 곳에서 바라보며 애플리케이션의 &amp;lsquo;운영&amp;rsquo; 측면에서도 고민해 보는 기회가 되었으면 한다.&lt;/p>
&lt;blockquote>
&lt;p>필자는 서버 개발자이다 보니 글의 내용이 다소 서버 개발자의 시선에서 작성하게 되었다. 하지만 &amp;lsquo;개발자&amp;rsquo;라면 유형만 다르지 대부분 비슷하기 때문에 크게 다르지 않다고 생각한다.&lt;/p>&lt;/blockquote>
&lt;h2 id="로그는-어떤걸-어떻게-남겨야-할까">로그는 어떤걸, 어떻게 남겨야 할까?&lt;/h2>
&lt;p>　﻿로그가 왜 필요한지에 대한 내용은 다루지 않겠다. (굳이 말하지 않아도 그만큼 중요하다는 표현이 더 어울릴 수도 있겠다.) 그렇다면 우선 어떤 로그를 남겨야 할까?&lt;/p>
&lt;figure>&lt;a class="lightgallery" href="https://taetaetae.github.io/images/a-good-developer-in-terms-of-Log-and-Monitoring/talk.jpg" title="/images/a-good-developer-in-terms-of-Log-and-Monitoring/talk.jpg" data-thumbnail="/images/a-good-developer-in-terms-of-Log-and-Monitoring/talk.jpg" data-sub-html="&lt;h2>필자가 꿈나무 시절때 나누었던 조직장님과의 대화 내용&lt;/h2>">
 &lt;img
 class="lazyload"
 src="https://taetaetae.github.io/svg/loading.min.svg"
 data-src="https://taetaetae.github.io/images/a-good-developer-in-terms-of-Log-and-Monitoring/talk.jpg"
 data-srcset="https://taetaetae.github.io/images/a-good-developer-in-terms-of-Log-and-Monitoring/talk.jpg, https://taetaetae.github.io/images/a-good-developer-in-terms-of-Log-and-Monitoring/talk.jpg 1.5x, https://taetaetae.github.io/images/a-good-developer-in-terms-of-Log-and-Monitoring/talk.jpg 2x"
 data-sizes="auto"
 alt="/images/a-good-developer-in-terms-of-Log-and-Monitoring/talk.jpg" width="40%" />
 &lt;/a>&lt;figcaption class="image-caption">필자가 꿈나무 시절때 나누었던 조직장님과의 대화 내용&lt;/figcaption>
 &lt;/figure>
&lt;p>　﻿아직까지도 기억에 남아있는 예전 조직 장님과의 대화. 일단 로그는 최대한 많이 (과하게) 남겨야 한다고 생각한다. 그다음 불필요한 로그들은 제거하거나 레벨을 낮추는 등 상황에 맞도록 커스터마이징이 필요하다. 경험을 해보면 알겠지만 운영환경에 애플리케이션을 배포하고 서비스를 운영하다 보면 개발 환경에서 만나기 어렵거나 경험해보지 못한 상황이 발생하곤 한다. 이럴 때 상황에 맞는 로그들이 있다면 미리 남겨둔 로그를 통해 더 효과적으로 상황을 파악할 수 있다. 트래픽의 정보(request url, parameter, UA, remote ip 등)를 남겨서 외부에서 호출하는 형태를 분석하는데 활용할 수도 있고, 애플리케이션에서 외부로 호출을 하고 난 뒤에 받는 응답에 대해서 로그를 남겨두면 외부 통신의 오류를 파악하는 데 도움이 될 수 있다. 어떤 로그를 남겨야 하는가에 대한 고민은 운영하는 애플리케이션이 어떤 행동을 하는가에 관점을 두고 고민해보면 좀 더 쉽게 찾을 수 있을 것이라 생각한다.&lt;/p>
&lt;p>　로그를 남기는 방법 또한 다양하다. 시스템 로컬에 파일로 남기거나 특정 로그 서버를 설정하여 여러 대의 서버 로그를 한곳에서 볼 수도 있다. 다만 로그를 &amp;lsquo;남기는&amp;rsquo; 것 또한 하나의 비용에 포함되기 때문에 애플리케이션의 기능에 최대한 영향이 가지 않도록 최대한 빠른 시간 내에 처리가 되도록 해야 한다. (혹은 비동기로 남기거나 등)&lt;/p>
&lt;p>　로그를 남기는 이유 중 가장 큰 이유는 &amp;lsquo;나중에 보기 위해서&amp;rsquo;이다. 그만큼 한번 로그를 남길 때에도 보기 좋게 남겨야 한다. 예컨대, 아래에 적어놓은 로그 방식의 경우 작은 차이지만 나중에 볼 때 꽤 큰 차이를 유발한다.
﻿&lt;/p>
&lt;ul>
&lt;li>안좋은 예&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-java" data-lang="java">&lt;span class="line">&lt;span class="cl">&lt;span class="k">try&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">	&lt;/span>&lt;span class="p">...&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">catch&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">Exception&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">e&lt;/span>&lt;span class="p">){&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">	&lt;/span>&lt;span class="n">log&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="na">Error&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">e&lt;/span>&lt;span class="p">);&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c1">// 어떤 상황이지..?&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;ul>
&lt;li>보다 조금 더 좋은 예&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-java" data-lang="java">&lt;span class="line">&lt;span class="cl">&lt;span class="k">try&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">	&lt;/span>&lt;span class="p">...&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">catch&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">Exception&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">e&lt;/span>&lt;span class="p">){&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">	&lt;/span>&lt;span class="n">log&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="na">Error&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;url : &amp;#34;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">url&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s">&amp;#34;, parameter : &amp;#34;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">parameter&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s">&amp;#34;, remote ip : &amp;#34;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">remoteIp&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="n">e&lt;/span>&lt;span class="p">);&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c1">// 로그는 가급적 자세하게 !&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="로그가-가져다-주는-또-다른-세상">로그가 가져다 주는 또 다른 세상&lt;/h2>
&lt;p>　로그는 또 다른 데이터가 될 수 있다. 글 목록을 보여주는 웹페이지가 있다고 가정해보자. 이때 사용자들이 어떤 글을 더 많이 읽는지 &amp;lsquo;클릭 지표&amp;rsquo;에 대한 로그를 남겨 둔다면 &amp;lsquo;인기글&amp;rsquo; 같은 또 다른 웹 페이지가 나올 수 있을 것 같다. 만약 그 페이지가 회원만 읽을 수 있는 페이지라면 &amp;lsquo;20대 남성이 월요일 오후에 많이 읽는 글&amp;rsquo; 같이 회원의 정보를 조합하여 새로운 데이터를 만들 수 있게 된다. 이러한 데이터들은 보다 더 좋은 서비스를 할 수 있게 도와줄 수 있는 밑거름이 되고 그 바탕은 로그라는 걸 명심하자.&lt;/p></description></item><item><title>그런 개발자로 괜찮은가 - '자기계발' 편</title><link>https://taetaetae.github.io/2020/06/28/a-good-developer-in-terms-of-self-development/</link><pubDate>Sun, 28 Jun 2020 20:51:03 +0000</pubDate><guid>https://taetaetae.github.io/2020/06/28/a-good-developer-in-terms-of-self-development/</guid><description>&lt;p>　학창 시절엔 &amp;lsquo;선생님&amp;rsquo;께서 정해놓으신 커리큘럼에 따라가기만 하면 큰 문제 없이 지식을 학습할 수 있었다. 거기에 주기적으로 치르는 시험을 통해 &amp;lsquo;점수&amp;rsquo;라는 평가 기준으로 얼마나 잘 성장했나를 검사하기도 한다. &lt;!--more -->졸업 후 어렵게 어렵게 취업에 성공을 하여 &amp;lsquo;신입 개발자&amp;rsquo;라는 배지를 달고 회사에 첫 출근. 그렇게 n 년이 지난 지금과 라떼 시절(?)을 비교해 보며 과연 &amp;lsquo;학습&amp;rsquo;에 대한 열정 그래프가 아직도 우상향 중인가? 하는 질문엔 일단 단전부터 올라오는 깊은 한숨과 함게 이상하게도 앞이 캄캄해진다.&lt;/p>
&lt;figure>&lt;a class="lightgallery" href="https://taetaetae.github.io/images/a-good-developer-in-terms-of-self-development/latte.jpg" title="/images/a-good-developer-in-terms-of-self-development/latte.jpg" data-thumbnail="/images/a-good-developer-in-terms-of-self-development/latte.jpg" data-sub-html="&lt;h2>우리는 모두 라떼 시절을 가지고 있다. 출처 : https://www.dogdrip.net/212294087&lt;/h2>">
 &lt;img
 class="lazyload"
 src="https://taetaetae.github.io/svg/loading.min.svg"
 data-src="https://taetaetae.github.io/images/a-good-developer-in-terms-of-self-development/latte.jpg"
 data-srcset="https://taetaetae.github.io/images/a-good-developer-in-terms-of-self-development/latte.jpg, https://taetaetae.github.io/images/a-good-developer-in-terms-of-self-development/latte.jpg 1.5x, https://taetaetae.github.io/images/a-good-developer-in-terms-of-self-development/latte.jpg 2x"
 data-sizes="auto"
 alt="/images/a-good-developer-in-terms-of-self-development/latte.jpg" width="50%" />
 &lt;/a>&lt;figcaption class="image-caption">우리는 모두 라떼 시절을 가지고 있다. &lt;br>출처 : &lt;a href="https://www.dogdrip.net/212294087" target="_blank" rel="noopener noreffer ">https://www.dogdrip.net/212294087&lt;/a>&lt;/figcaption>
 &lt;/figure>
&lt;p>　배워야 할게 너무 많다. 아니 그보다 배운 것을 이제 활용해야지 싶으면 또 새로운 기술이 등장한다. 그렇게 매너리즘에 빠지고. 거기다 회사일이 바쁘다는 핑계로 자기계발을 멈추다 보면 남들보다 뒤처진다는 생각에 괜히 자괴감이 들어 우울해 지곤 한다. (코로나 블루 때문만은 아니겠지&amp;hellip;) 그 가운데 회사에는 정말 좋은 선배님들도 많고 멘토-멘티 관계를 잘 활용하면 충분히, 잘, 올바른 길로 성장할 수 있을 것이라 생각한다. 하지만 그렇게 누군가에게 &amp;lsquo;의존&amp;rsquo;만 하다 그 대상이 없어진다든지 심지어 그런 대상조차 없을 경우에는 어떻게 해야 할까? 점점 기술은 발전하고 배워야 할 것들은 홍수처럼 넘쳐흐르고 있는 가운데 &amp;lsquo;회사원&amp;rsquo;에서 나아가 &amp;lsquo;개발자&amp;rsquo;로써 성장을 하기 위해서는 어떠한 방법이 있을까?&lt;/p>
&lt;p>　이번 포스팅에서는 개발자로 살아가면서 성장하기 위한즉, 자기계발의 &amp;lsquo;방법&amp;rsquo;에 대해 이야기해보려 한다. 이것이 정답이다 하는 은 탄환을 소개하려는 것은 아니다. 특히 개발자로서의 생을 마감(?) 할 때까지는 계속 배워야 하는 숙명과도 같은 직업이기에 첫 단추를 잘 끼워서 갑작스러운 기술의 변화에 일희일비 하지 않고 스펀지처럼 무엇이든 흡수하는. 말랑말랑한 정신을 갖기 위함이라고나 할까.&lt;/p>
&lt;h2 id="블로그">블로그&lt;/h2>
&lt;p>　개발자가 글도 써야 하나?라는 질문에는 필자가 예전에 정리해둔 &lt;a href="https://taetaetae.github.io/2019/10/27/a-reason-for-writing/" target="_blank" rel="noopener noreffer ">개발하기 바쁜데 글까지 쓰라고? (글쓰는 개발자가 되자.)&lt;/a>라는 글을 참고해봐도 좋을 것 같다. 해당 포스팅에서 수차례 강조하였지만 그만큼 개발자에게는 특히나 글쓰기가 중요하고 필요하다. 글을 꼭 &amp;lsquo;잘&amp;rsquo;써야 한다는 부담을 가질 필요는 없다. (필자도 그렇게 잘 쓰는 편은 아니다&amp;hellip;) 다만 무언가를 기록하고 정리하고 자신만의 기준에 맞추어 재 정리하는 습관을 기르다 보면 이러한 생각들이 개발을 할 때에도 도움이 상당히 되었기 때문이다.&lt;/p>
&lt;figure>&lt;a class="lightgallery" href="https://taetaetae.github.io/images/a-good-developer-in-terms-of-self-development/exception.gif" title="/images/a-good-developer-in-terms-of-self-development/exception.gif" data-thumbnail="/images/a-good-developer-in-terms-of-self-development/exception.gif" data-sub-html="&lt;h2>개발을 하다보면 꼼꼼하게 체크해야할 예외가 너무 많다. 출처 : https://gfycat.com/ko/menacingeducatedatlasmoth&lt;/h2>">
 &lt;img
 class="lazyload"
 src="https://taetaetae.github.io/svg/loading.min.svg"
 data-src="https://taetaetae.github.io/images/a-good-developer-in-terms-of-self-development/exception.gif"
 data-srcset="https://taetaetae.github.io/images/a-good-developer-in-terms-of-self-development/exception.gif, https://taetaetae.github.io/images/a-good-developer-in-terms-of-self-development/exception.gif 1.5x, https://taetaetae.github.io/images/a-good-developer-in-terms-of-self-development/exception.gif 2x"
 data-sizes="auto"
 alt="/images/a-good-developer-in-terms-of-self-development/exception.gif" width="50%" />
 &lt;/a>&lt;figcaption class="image-caption">개발을 하다보면 꼼꼼하게 체크해야할 예외가 너무 많다. &lt;br>출처 : &lt;a href="https://gfycat.com/ko/menacingeducatedatlasmoth" target="_blank" rel="noopener noreffer ">https://gfycat.com/ko/menacingeducatedatlasmoth&lt;/a>&lt;/figcaption>
 &lt;/figure>
&lt;p>　복잡한 구조가 필요로 하는 개발을 해야 한다고 가정해보자. 연동하는 시스템도 많고 정말 다양한 요구 사항을 하나의 시스템에서 구현을 해야 할 경우 보통 개발을 하기에 앞서 &amp;lsquo;설계&amp;rsquo;라는 단계를 거치기 마련이다. 그때 글쓰기를 했을 때의 습관(스킬?)을 적용해 보면 요구 사항들 중에 중요한 feature 기준으로 정리를 하게 되고, 각 이해관계자들에게 정리한 부분을 공유하며 예외 상황을 보다 빠르게 확인할 수도 있다. 심지어 코드 레벨에서도 지난밤에 야식으로 먹은 라면 면발처럼 꼬여있는 부분들을 보다 개발하기 편하고 유지 보수가 용이하게 구조를 변경하는 &amp;lsquo;정리&amp;rsquo;의 습관 또한 글쓰기를 통해서 수련을 할 수 있다. 이러한 &amp;lsquo;꼼꼼함&amp;rsquo;을 기르는 데에는 글쓰기만 한 게 없다고 생각한다.&lt;/p>
&lt;p>　우리는 다양한 개발 언어로 코딩을 하곤 한다. 왜 &lt;a href="http://www.yes24.com/Product/Goods/6692314" target="_blank" rel="noopener noreffer ">읽기좋은 코드가 좋은 코드&lt;/a>라는 책이 있듯이 결국 코딩 또한 커뮤니케이션이 일종이라 생각한다. 내가 생각하는 로직을 개발 언어로 코딩을 해야 하는 상황이면, 결국 내가 생각하는 로직이 명료하고 정리가 잘 된 상태에서야 코드 또한 소위 &amp;lsquo;읽기 좋은 코드&amp;rsquo;가 되지 않을까 싶다.&lt;/p>
&lt;p>　블로그를 시작할 때 어디서부터 시작해야 하나 막막하다면, 오늘의 배운 내용 (개발자들 사이에서 유행처럼 번지고 있는 &lt;a href="https://github.com/milooy/TIL" target="_blank" rel="noopener noreffer ">TIL&lt;/a>에 대해서 정리해 보는 것부터 추천한다. 경력이 1년 차여도 10년 차여도 개발을 하다 보면 새로운 것을 발견하기 마련이다. 그렇게 조금씩 적절한 블로그 플랫폼에 정리를 해 나가다 보면 어느새 자신만의 개발 히스토리가 만들어지고, 나아가 글쓰기가 전해주는 긍정적인 효과를 만끽하리라 자부한다.&lt;/p></description></item><item><title>그런 개발자로 괜찮은가 - '문화' 편</title><link>https://taetaetae.github.io/2020/06/21/a-good-developer-in-terms-of-culture/</link><pubDate>Sun, 21 Jun 2020 17:22:09 +0000</pubDate><guid>https://taetaetae.github.io/2020/06/21/a-good-developer-in-terms-of-culture/</guid><description>&lt;p>　한동안 글을 쓰지 않았다. 글을 쓰지 않은 것일까 쓰지 못한 것일까. 이런저런 이유로 번아웃 늪에 빠져버려 아무것도 하기 싫어서라는 핑계가 어울릴 수도 있겠다만. &lt;!--more -->요즘 들어 더욱더 무기력함이 극도로 뿜뿜대는 가운데 문득, 개발자로써 얼마나 잘 지내왔는가 뒤를 돌아보고 싶었다. 앞만 보고 달리는 것보다 내 생각과 내 호흡을 점검하는 것 또한 중요하다고 생각했기에 당분간은 더 나은 개발자가 되기 위한 여러 가지 주제로 글을 써보려 한다.
이름하여 &lt;code>그런 개발자로 괜찮은가 XX 편&lt;/code>&lt;/p>
&lt;blockquote>
&lt;p>어디까지나 필자의 생각에 대해 적는 것일 뿐 내용이 잘못되었을 수도 있다. 즉, 정답이 아니라는 이야기. 필자의 이러한 포스팅으로 이 글을 읽는 여러분들도 자신만의 가치관을 정립해보는 기회가 되고 나아가 모두가 더 나은 개발자로 한걸음 올라서는 아름다운 세상을 꿈꾸는 마음으로 작은 날갯짓을 해본다.&lt;/p>&lt;/blockquote>
&lt;p>　개발자로 살아가는 데 있어 가장 중요한 게 무엇일까? 물론 개발할 수 있는 기술이 가장 중요하겠지만 몇 년 전부터 기술의 발전이 급변하는 세상 속에서 과연 기술만이 중요할까? 기술만 잘 알고 있으면 복잡하게 꼬인 스파게티 면 같은 문제 많은 코드를 술술 풀어헤치고, 언제 어디서든 개발자로써 행복한 삶을 영유할 수 있을까?&lt;/p>
&lt;p>　여러 가지 중요한 요소들 중 가장 첫 번째로 떠오르는 키워드는 바로 문화(Culture)가 아닐까 싶다. 그럼 왜 문화가 개발자에게 중요하고 어떤 식으로 문화를 만들어 가는 게 좋을지에 대해 정리해보고자 한다.&lt;/p>
&lt;figure>&lt;a class="lightgallery" href="https://taetaetae.github.io/images/a-good-developer-in-terms-of-culture/dailymetting.jpg" title="/images/a-good-developer-in-terms-of-culture/dailymetting.jpg" data-thumbnail="/images/a-good-developer-in-terms-of-culture/dailymetting.jpg" data-sub-html="&lt;h2>각 팀에 맞는 문화는 모두를 성장시킬 수 있다. 출처 : https://steemkr.com/kr-dev/@dreamisnowhere/5squ7b&lt;/h2>">
 &lt;img
 class="lazyload"
 src="https://taetaetae.github.io/svg/loading.min.svg"
 data-src="https://taetaetae.github.io/images/a-good-developer-in-terms-of-culture/dailymetting.jpg"
 data-srcset="https://taetaetae.github.io/images/a-good-developer-in-terms-of-culture/dailymetting.jpg, https://taetaetae.github.io/images/a-good-developer-in-terms-of-culture/dailymetting.jpg 1.5x, https://taetaetae.github.io/images/a-good-developer-in-terms-of-culture/dailymetting.jpg 2x"
 data-sizes="auto"
 alt="/images/a-good-developer-in-terms-of-culture/dailymetting.jpg" width="50%" />
 &lt;/a>&lt;figcaption class="image-caption">각 팀에 맞는 문화는 모두를 성장시킬 수 있다. &lt;br>출처 : &lt;a href="https://steemkr.com/kr-dev/@dreamisnowhere/5squ7b" target="_blank" rel="noopener noreffer ">https://steemkr.com/kr-dev/@dreamisnowhere/5squ7b&lt;/a>&lt;/figcaption>
 &lt;/figure>
&lt;p>　개발자라는 직업을 가지고 있는 분들 중에 프리랜서나 1인 스타트업을 운영하는 분들은 제외하고. 대부분의 사람들은 여러 명과 함께 공동의 목표를 달성하기 위한 &amp;ldquo;팀&amp;quot;이라는 단위에 소속되어 개발을 하고 있다. 야근을 매일 밥 먹듯이 하는 조직도 있을 테고 이른바 워라벨을 잘 지키며 듣기만 해도 반가운 소리인 &amp;ldquo;칼퇴&amp;quot;를 밥 먹듯이 하는 조직도 있을 테고. 여기서 말하고자 함은 이러한 야근 vs 칼퇴처럼 &amp;ldquo;근무 시간의 양&amp;quot;에 대해 이야기하려는 건 아니다. 회사, 더 깊게는 팀 내에서 어떤 문화 안에서 개발자로 살아가고 있는지에 대해 이야기하려 한다.&lt;/p>
&lt;h2 id="코드리뷰">코드리뷰&lt;/h2>
&lt;p>　팀에 속해서 개발을 하다 보면 같은 코드를 동시에 작업하곤 한다. 그래서 형상관리 도구 (요즘 git 을 안 쓰는 곳이 없을 정도&amp;hellip;)를 사용해서 동시에 개발을 진행해도 전혀 무리가 없을 정도인데 결국 작업한 결과물을 한 곳으로 병합 (merge) 해야 하는 시점이 오기 마련이고 그때엔 (온라인/오프라인) 코드 리뷰를 하게 된다. 어떠한 사연으로 코드 리뷰 없이 빨리 merge 해야 하는 건 이해되지만 가급적 한 명 이상의 리뷰어가 승인을 한 뒤에 merge 가 돼야 한다고 생각한다. (pullRequest를 단순 merge 용으로 사용하는 건 정말 잘못된 방법 중 하나) 중복된 코드를 만들었거나 작업자가 예상하지 못한 부분들을 릴리스 전에 서로 이야기해보면서 버그를 수정하거나 팀 컨벤션, 설계/구조를 더 효율적으로 가져갈 수 있는 절호의 찬스.&lt;/p>
&lt;p>　여기서 중요한 포인트는 리뷰를 받는 &amp;lsquo;리뷰이&amp;rsquo; 와 리뷰를 해주는 &amp;lsquo;리뷰어&amp;rsquo;들의 문화적인 측면에서 생각을 해볼 필요가 있다.&lt;/p>
&lt;ul>
&lt;li>리뷰이(Reviewee)
&lt;ul>
&lt;li>리뷰어의 소중한 시간을 할애해서 자신의 코드가 이상이 없는지에 대한 &amp;lsquo;도움&amp;rsquo;을 요청하는 것이기 때문에 최대한 설명을 잘 적어서 리뷰하는 데 도움을 줄 수 있어야 한다.&lt;/li>
&lt;li>작업을 하다 보면 한 번에 몰아서 코드 리뷰를 받는 경우가 대부분이지만 개발 생산성 측면과 코드 리뷰 시간을 줄이는 측면에서는 최대한 작은 단위로 리뷰를 요청해야 한다.&lt;/li>
&lt;li>리뷰가 진행이 되지 못하여 다음 작업 또한 진행을 못하는 경우가 생기는 것을 방지하기 위해 최대한 코드 리뷰 받는 부분과 의존성이 없도록 작업이 돼야 하며 그도 아니라면 정중하게 리뷰어에게 &amp;lsquo;부탁&amp;rsquo;을 해야 한다. (요청 이 아니라는 점!)&lt;/li>
&lt;li>리뷰어의 리뷰는 &amp;ldquo;지적&amp;rdquo; 이 아니라 &amp;ldquo;함께 작업하는 코드에 대한 조언&amp;quot;으로 받아들여야 한다. 혹 리뷰 내용이 자신의 생각과 다르다면 토론을 통해 합의점을 찾도록 해야 한다. (무조건 리뷰어가 리뷰했다고 기계적으로 고치는 것 또한 잘못된 부분)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>리뷰어(Reviewer)
&lt;ul>
&lt;li>리뷰이는 당신의 한마디를 간절하게 기다리고 있을 수도 있으니 최대한 정성껏 리뷰를 해주자.&lt;/li>
&lt;li>온라인 코드 리뷰를 하게 된다면 &amp;ldquo;텍스트&amp;quot;라는 제한적인 상황에서 최대한 유연한 멘트로 코드 리뷰를 해야 한다. (자칫 잘못하다간 서로 오해가 있을 수 있으니&amp;hellip;)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>코드 리뷰 관련된 문화에 대한 내용들은 잠깐만 검색해봐도 훌륭한 포스팅들이 나오니 참고해봐도 좋을 것 같다.
&lt;a href="https://engineering.linecorp.com/ko/blog/effective-codereview/" target="_blank" rel="noopener noreffer ">Line | 효과적인 코드리뷰를 위해서&lt;/a>
&lt;a href="https://tech.kakao.com/2016/02/04/code-review/" target="_blank" rel="noopener noreffer ">Kakao | 코드 리뷰, 어디까지 해봤니?&lt;/a>
&lt;a href="https://tosslab.github.io/codereview/2015/12/18/%EC%BD%94%EB%93%9C%EB%A6%AC%EB%B7%B0-%EC%9D%B4%EB%A0%87%EA%B2%8C-%ED%95%98%EA%B3%A0-%EC%9E%88%EB%8B%A4.html" target="_blank" rel="noopener noreffer ">Jandi | 코드리뷰, 이렇게 하고 있습니다.&lt;/a>&lt;/p></description></item></channel></rss>