<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Curtule on</title><link>https://taetaetae.github.io/tags/curtule/</link><description>Recent content in Curtule on</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sun, 23 Jul 2023 10:39:22 +0900</lastBuildDate><atom:link href="https://taetaetae.github.io/tags/curtule/index.xml" rel="self" type="application/rss+xml"/><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/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>