<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>lucky-shim.log</title>
        <link>https://velog.io/</link>
        <description>Backend Developer</description>
        <lastBuildDate>Mon, 12 Aug 2024 12:46:34 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>lucky-shim.log</title>
            <url>https://velog.velcdn.com/images/lucky-shim/profile/5f2ca316-d695-4789-8bde-1d89945a3417/image.png</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. lucky-shim.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/lucky-shim" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[클린 코드를 기반으로 한 "ChatGPT 코드 리뷰어" GPT 생성 방법과 도입 후기]]></title>
            <link>https://velog.io/@lucky-shim/ChatGPT-%EC%BD%94%EB%93%9C-%EB%A6%AC%EB%B7%B0%EC%96%B4-%EC%83%9D%EC%84%B1-%EB%B0%A9%EB%B2%95%EA%B3%BC-%EB%8F%84%EC%9E%85-%ED%9B%84%EA%B8%B0</link>
            <guid>https://velog.io/@lucky-shim/ChatGPT-%EC%BD%94%EB%93%9C-%EB%A6%AC%EB%B7%B0%EC%96%B4-%EC%83%9D%EC%84%B1-%EB%B0%A9%EB%B2%95%EA%B3%BC-%EB%8F%84%EC%9E%85-%ED%9B%84%EA%B8%B0</guid>
            <pubDate>Mon, 12 Aug 2024 12:46:34 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/lucky-shim/post/d53d4c4c-8ed4-40b3-afcc-857d49a3014c/image.webp" alt="ChatGPT 코드 리뷰어"></p>
<p>안녕하세요. 백엔드 개발자 럭키입니다.</p>
<p>이 글은 저희 개발팀에서 ChatGPT 코드 리뷰어를 도입하게 된 배경을 이야기하고, 팀에 특화된 코드 리뷰어 GPT를 생성하는 방법, 마지막으로 도입 이후 팀의 개발 문화에 어떤 영향을 줄 수 있는지에 대해 이야기합니다.</p>
<h2 id="코드리뷰">코드리뷰</h2>
<blockquote>
<p>코드 리뷰는 개발자들에게 중요한 활동이며, 팀의 생산성과 코드 품질을 향상시키는 데에 큰 도움을 줍니다. 목적과 기대효과를 정의하고, 코드 가독성과 일관성을 확인하며, 에러 핸들링과 예외 처리를 검토하고, 테스트 케이스와 성능을 검토하며, 적절한 피드백을 제공하는 것이 효과적인 코드 리뷰의 핵심입니다. 이러한 팁과 가이드라인을 따르면 개발자들은 더 나은 코드를 작성하고 팀의 성과를 높일 수 있을 것입니다.</p>
</blockquote>
<h1 id="code-reviewer-gpt-활용-예시">Code Reviewer GPT 활용 예시</h1>
<p>작성한 메서드의 구현 내용을 코드 리뷰어 GPT에 리뷰할 코드를 입력합니다.</p>
<p><img src="https://velog.velcdn.com/images/lucky-shim/post/b924a1ac-b9c6-458f-a66d-2c937da47397/image.png" alt="코드 입력"></p>
<p><img src="https://velog.velcdn.com/images/lucky-shim/post/d3947173-9f59-45a0-b143-efd0a93c0c2b/image.png" alt="코드 리뷰1"></p>
<p><img src="https://velog.velcdn.com/images/lucky-shim/post/3ef3e047-1c25-4a6d-8b08-e98d0e25a729/image.png" alt="코드 리뷰2"></p>
<p><img src="https://velog.velcdn.com/images/lucky-shim/post/ccec0613-2a9c-4fdd-92c5-2a44988ca565/image.png" alt="코드 리뷰3"></p>
<p><img src="https://velog.velcdn.com/images/lucky-shim/post/f80dd3e3-332c-47c3-93fb-727f1de0c346/image.png" alt="테스트 코드1"></p>
<p><img src="https://velog.velcdn.com/images/lucky-shim/post/4f5685f1-2564-45ff-bea2-7185fa471027/image.png" alt="테스트 코드2"></p>
<p>위와 같이 리뷰받고 싶은 코드를 GPT에 입력하면, 개선해야 할 부분에 대한 내용과 개선 후 테스트를 진행할 수 있는 코드 작성 예시를 확인할 수 있습니다.</p>
<h2 id="주의">주의!</h2>
<blockquote>
<p>위의 코드 리뷰어 GPT는 걸음마 단계로 생성된 수준이라 100% 만족도를 보장하지 않습니다. 생성 후 이용하실 때 이 점 참고하시길 바랍니다.</p>
</blockquote>
<hr>
<h1 id="도입-배경">도입 배경</h1>
<p>현재 백엔드 개발팀 인원이 총 3명으로 3개의 API 프로젝트와 Spring Batch 프로젝트를 유지보수 및 관리를 맡고 있습니다. 기존에 작성된 코드를 유지보수하고 개편함과 동시에 새로운 비즈니스 요구사항이 발생하면 이를 해결하기 위해 수많은 코드도 작성해야 합니다.</p>
<p>각각의 프로젝트는 Github에서 소스코드를 관리하고 있고, 우아한형제들의 “우린 Git-flow를 사용하고 있어요”라는 글에서 언급되어 있는 아래의 git-flow를 업무에 활용하고 있습니다.</p>
<h1 id="문제점">문제점</h1>
<p>각 개발자들은 신규 코드를 작성하기도 하지만, 기존의 코드를 수정하는 일도 빈번하게 발생했습니다. 팀에서는 코드 리뷰 문화가 없어서 코드 리뷰 문화를 제안했지만, 과거에 코드 리뷰를 도입 후 좋지 않았던 경험 실제로 팀에 도입이 어렵다는 의견을 들었습니다.</p>
<h1 id="원인">원인</h1>
<p>코드 리뷰 도입이 어려웠던 이유는 코드 리뷰를 할 시간이 없다는 표면적인 이유가 있었지만, 사실 개발자 간의 신뢰가 구축되어 있지 않았고, 코드 리뷰 시 리뷰어의 피드백이 객관적인 판단이 아닌 주관적인 의견일 것이라는 생각이 지배적이어서 받아들이기 어렵다는 의견이 근본적인 원인이었습니다. 더욱 큰 문제는 구현된 코드의 대부분이 Object 기반이 아닌 Map 기반으로 구현되어 어떤 데이터가 오고 가는지 예측하기 어렵고, 코드를 수정했을 때 발생할 수 있는 사이드 이펙트(Side effects)를 예상할 수 없었기 때문이라고 합니다. 이 부분은 테스트 코드의 부재로 인해 프로젝트 코드를 개발자가 신뢰하지 못한 부분이라고 생각했습니다.</p>
<h1 id="해결방안">해결방안</h1>
<p>그래서 이 문제를 해결하기 위해 저는 ChatGPT 생성형 AI 활용을 제안했습니다. 팀원들은 ChatGPT를 코드 작성 보조 용도로 사용하고 있다고 했습니다. 저는 ChatGPT를 좀 더 개발팀에 특화된 전문적인 지식을 설정한 GPT를 커스텀해서 팀의 코드 리뷰어로 활용해보고자 아래의 방법으로 만들어 보기로 했습니다.</p>
<ul>
<li>코드 리뷰어는 기본적으로 <strong>클린 코드(Clean Code)를 기반</strong>으로 리뷰해야 합니다. 팀원들의 클린 코드에 대한 지식이 없기 때문에 이 부분은 반드시 필요합니다.</li>
<li>리뷰어는 코드에서 <strong>수정할 부분을 어떻게 개선해야 할지 예시 코드를 제시</strong>하고, 왜 그렇게 해야 하는지 <strong>이유를 설명합니다.</strong></li>
<li>리뷰어는 제시된 코드를 기반으로 가능한 테스트 케이스를 도출하고, 그에 맞는 <strong>테스트 코드를 JUnit5를 기반으로 제시</strong>합니다.</li>
<li>리뷰어는 <strong>코드에서 확인해야 할 포인트를 정리</strong>하여 개발자에게 다시 한 번 확인시켜 줍니다.</li>
</ul>
<h1 id="목표">목표</h1>
<ul>
<li>ChatGPT를 활용하여 사내에게 사용할 코드 리뷰어 GPT를 생성하자.</li>
<li>코드 리뷰어 GPT를 활용하여 팀의 코딩 스킬과 지식을 향상시키자.</li>
</ul>
<h1 id="준비사항">준비사항</h1>
<ul>
<li>ChatGPT 유료 계정 (회사 또는 본인의 계정)</li>
<li>코드 리뷰어의 행동 지침</li>
<li>코드 리뷰어의 지식 (Clean Code)</li>
</ul>
<h1 id="gpts-만들기">GPTs 만들기</h1>
<p>위의 내용들이 모두 준비되었다면, 이제 아래의 순서로 GPTs를 만들어 봅니다.</p>
<p>ChatGPT 사이트에 접속하여 로그인을 합니다.</p>
<ul>
<li><a href="https://chatgpt.com/">https://chatgpt.com/</a> </li>
</ul>
<p><img src="https://velog.velcdn.com/images/lucky-shim/post/816e71c9-06be-41f3-96f2-ba893233ee59/image.png" alt="GPT"></p>
<p>왼쪽 메뉴의 <strong>GPT 탐색을 클릭</strong>합니다.</p>
<p>오른쪽 위에 <strong>+만들기를 클릭</strong>합니다.</p>
<p><img src="https://velog.velcdn.com/images/lucky-shim/post/5ceee28d-cb03-411c-b08d-5eb5bcc54825/image.png" alt="GPT 구성"></p>
<p>구성 화면에서 이름, 설명, 지침 내용을 입력합니다.</p>
<p>아래의 지침 내용은 ChatGPT에게 답변을 이끌어 낼 수 있도록 일종의 명령 지침입니다.</p>
<p>지침의 내용은 회사 또는 개인의 상황에 맞게 설정하여 좀 더 정확한 답변을 이끌어 낼 수 있습니다.</p>
<ul>
<li>지침 예시</li>
</ul>
<blockquote>
<ol>
<li>당신은 Google 회사의 뛰어난 Backend Engineer가 되어 첨부된 지식을 기반으로 주어진 코드를 리뷰합니다.</li>
<li>사용하고 있는 프레임워크와 언어의 버전은 각각 springframework version 5.3.9, java 1.8.0, mybatis 3.4.6, junit 5.7.0을 사용하며 이 버전을 기반으로 코드 내용을 제안합니다.</li>
<li>리뷰의 목적은 코드 품질 향상, 가독성, 버그 찾기, 성능 개선, 에러 핸들링을 위한 예외처리를 목적으로 합니다.</li>
<li>코드 리뷰의 내용은 주어진 코드에서 코드 리뷰의 목적에 부합하는 “변경대상 코드”와 제안된 내용의 “제안된 코드”로 이루어집니다.</li>
<li>“제안된 코드”는 어떠한 근거로 코드의 내용이 이루어졌는지 설명되어야 합니다.</li>
<li>코드의 성능을 검토하고, 불필요한 연산이나 복잡한 알고리즘을 단순화할 수 있는지 확인해야 합니다.</li>
<li>또한 메모리 사용량과 실행 속도를 최적화할 수 있는 방법을 제안할 수 있습니다.</li>
<li>왜 개선이 필요한지 이유를 설명해주세요.</li>
<li>코드를 클린 하게 유지하고, 일관되게 구현하도록 안내해 주세요.</li>
<li>주어진 코드 또는 제안된 코드를 기반으로 “테스트 케이스”를 도출해야 합니다.</li>
<li>도출된 테스트 케이스를 기반으로 JUnit5 라이브러리를 사용하여 “테스트 코드”를 제안해주어야 합니다.</li>
<li>각 테스트 코드에는 &quot;DisplayName&quot; 어노테이션을 사용하여 어떤 내용을 테스트하는지 설명합니다.</li>
<li>테스트 코드를 제안하면서 체크해야 할 포인트를 “Check Point”로 알려주어야 합니다.</li>
<li>“Feedback”은 구체적이고 명확해야 하며, 개선 사항을 제시하는 것에 초점을 맞추어야 합니다. 긍정적인 피드백도 제공하고, 리뷰 받는 개발자의 노력과 기여를 인정하는 것이 중요합니다.</li>
<li>피드백 할 게 없으면 칭찬해 주세요.</li>
<li>모든 내용은 한글로 설명해주세요.</li>
</ol>
</blockquote>
<p>이제 GPT에게 위의 지침을 수행하기 위한 기반 지식을 셋팅합니다. GPT는 클린 코드(Clean Code)의 지식을 장착하고 우리가 작성한 코드를 리뷰해 줍니다. 또한 질문을 하면 지식을 기반으로 하는 답변을 이끌어 낼 수 있습니다.</p>
<ul>
<li>&quot;지침&quot; 내용을 입력한 후 지침 아래에 &quot;지식&quot;에 <strong>clean-code.txt 파일을 업로드</strong> 합니다.</li>
<li><a href="https://cremazer.github.io/assets/clean-code.txt">https://cremazer.github.io/assets/clean-code.txt</a></li>
</ul>
<p>지식 아래의 &quot;기능&quot;에서 <strong>웹 브라우징과 DALL·E 이미지 생성을 체크 해제</strong>합니다.</p>
<ul>
<li>코드 리뷰에서는 이미지를 생성하거나 웹 브라우징 기능을 하지 않을 것이기 때문에 해당 기능을 사용하지 않도록 체크를 해제합니다. 만약 기능이 필요하다면 체크하여 사용할 수 있습니다.</li>
</ul>
<p>마지막으로 오른쪽 위에 <strong>만들기를 클릭</strong>합니다.</p>
<hr>
<p>여기까지 따라오셨다면 이제 코드 리뷰어 GPT를 사용하실 수 있게 되었습니다.</p>
<h1 id="next-action">Next Action</h1>
<p>저희 팀에서는 Git Action을 아직 도입하지 않았지만, Git Action을 활용한 코드 리뷰 활용 블로그 들이 있어서 이 부분을 적용해 보면 어떨까 팀에서 논의를 해볼 예정입니다. (비용 관련...)</p>
<p>더 좋은 리뷰의 답변을 얻어내려면, 회사의 비즈니스 도메인 지식을 정리하여 지식을 추가해야 합니다. 단순 코드의 리뷰 뿐만아니라 도메인 지식이 곁들인 리뷰라면 비즈니스 프로세스를 이해하는 데 있어서도 개발팀에 많은 도움이 될 것입니다.</p>
<hr>
<p>위의 내용을 기반으로 ChatGPT 뿐만아니라 다른 생성형 AI에서도 코드 리뷰어를 만들어 사용할 수 있을지도 모르겠습니다. 현재로써는 이 도구를 이용하는 방법이 팀원들의 시간을 아껴줄 수 있는 가장 빠른 방법이라고 생각해서 어떻게 만들지 연구하는데는 시간이 조금 걸렸지만, GPT를 만들 때는 1시간도 채 걸리지 않았습니다.</p>
<p>코드 리뷰어 GPT를 사용하면서 현재 개발환경에 맞는 가장 효율적이고 가독성이 높은 코드를 빠르게 생성하여 테스트하고 업무에 적용하고 있습니다. 저의 시간 뿐만아니라 팀원들의 시간도 아낄 수 있었고, 무엇보다 프로젝트에 구현된 과거의 코드들이 점점 일관성있는 코드로 진화하고, 테스트 코드도 함께 작성하면서 코드에 대한 신뢰도 점점 높아지고 있습니다.</p>
<p>지금 당장은 큰 변화를 못 느낄 수 있지만, 시간이 지날 수록 팀의 생산성은 반드시 늘어나고 개발자 분들의 지식도 함께 성장할 것이라 믿어 의심치 않습니다.</p>
<p>여기까지 읽으신 개발자 분들도 꼭 만들어 보셔서 업무에 활용해 보시길 바랍니다.</p>
<ul>
<li>가장 좋은 것은 좋은 동료들입니다. 그런 혜택이 없다면 이 코드 리뷰어 GPT는 개발하는데 많은 도움이 될 것입니다.</li>
</ul>
<h3 id="reference">Reference</h3>
<ul>
<li><a href="https://learnote-dev.com/java/AI%ED%95%9C%ED%85%8C-%EC%BD%94%EB%93%9C%EB%A6%AC%EB%B7%B0%EB%A5%BC-%EB%B0%9B%EC%95%84%EB%B3%B4%EC%9E%90/">[Java] AI한테 코드리뷰를 받아보자… (1)</a></li>
<li><a href="https://velog.io/@dnflekf2748/%ED%9A%A8%EA%B3%BC%EC%A0%81%EC%9D%B8-%EC%BD%94%EB%93%9C-%EB%A6%AC%EB%B7%B0%EB%A5%BC-%EC%9C%84%ED%95%9C-7%EA%B0%80%EC%A7%80-%ED%8C%81%EA%B3%BC-%EA%B0%80%EC%9D%B4%EB%93%9C%EB%9D%BC%EC%9D%B8">효과적인 코드 리뷰를 위한 7가지 팁과 가이드라인</a>\</li>
<li><a href="https://tech.kakao.com/posts/498">효과적인 코드리뷰를 위한 리뷰어의 자세</a></li>
<li><a href="https://youtu.be/TwO_CegLKZE?t=3464">나만의 GPTs 만들기</a></li>
<li><a href="https://www.youtube.com/watch?v=sZoh0aLXq5g">GPT 코드 리뷰</a></li>
<li><a href="https://github.com/Yooii-Studios/Clean-Code/tree/master">Clean Code</a></li>
<li><a href="https://techblog.woowahan.com/2553/">우린 Git-flow를 사용하고 있어요</a></li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[새로운 팀에서의 첫 한 달: 적응과 성장의 과정]]></title>
            <link>https://velog.io/@lucky-shim/%EC%83%88%EB%A1%9C%EC%9A%B4-%ED%8C%80%EC%97%90%EC%84%9C%EC%9D%98-%EC%B2%AB-%ED%95%9C-%EB%8B%AC-%EC%A0%81%EC%9D%91%EA%B3%BC-%EC%84%B1%EC%9E%A5%EC%9D%98-%EA%B3%BC%EC%A0%95</link>
            <guid>https://velog.io/@lucky-shim/%EC%83%88%EB%A1%9C%EC%9A%B4-%ED%8C%80%EC%97%90%EC%84%9C%EC%9D%98-%EC%B2%AB-%ED%95%9C-%EB%8B%AC-%EC%A0%81%EC%9D%91%EA%B3%BC-%EC%84%B1%EC%9E%A5%EC%9D%98-%EA%B3%BC%EC%A0%95</guid>
            <pubDate>Sun, 11 Aug 2024 07:29:25 GMT</pubDate>
            <description><![CDATA[<p>안녕하세요, 백엔드 개발자 럭키입니다.</p>
<p>어느덧 입사 후 1달이 지났습니다. 팀 문화를 이해하고 기존 팀원들과의 협업 환경에 적응하면서 진행하고 있는 업무의 큰 흐름을 조금씩 파악하기 시작했습니다. 새로운 분야의 업무 내용은 굉장히 낯설고 생소한 단어들도 많아 업무 프로세스를 이해하는 데 어려움이 있었습니다. 뿐만 아니라, 업무 이해에 도움을 줄 문서나 자료들도 없는 상황이었습니다. 이러한 환경에서 지난 일주일 동안 업무에 적응하기 위해 제가 사용한 방법을 다음과 같이 공유합니다.</p>
<h1 id="신규-프로젝트-설문조사-참여">신규 프로젝트 설문조사 참여</h1>
<p><img src="https://velog.velcdn.com/images/lucky-shim/post/69e9826c-903c-47d9-9ed1-d6ca47e6a700/image.webp" alt="신규 프로젝트 설문조사 참여">
신규 콘텐츠 개발을 위한 설문조사에 참여하며, 프로젝트 초기 단계의 진행 상황을 파악했습니다. 설문조사에 참여하면서 단순히 설문을 작성하는 것에서 그치지 않고, 이 과정에서 얻을 수 있는 비즈니스 인사이트를 깊이 생각해보았습니다. 설문 목적과 기대되는 결과를 이해하려고 노력하며, 이해관계자들과의 대화를 통해 더 명확한 비전을 잡을 수 있었습니다.</p>
<h1 id="문서화-및-정보-공유">문서화 및 정보 공유</h1>
<p><img src="https://velog.velcdn.com/images/lucky-shim/post/452a56f3-6246-4ed4-b564-bbeb5d10c5d4/image.webp" alt="문서화 및 정보 공유"></p>
<p>업무 이해도를 높이기 위해 회사의 시스템들을 분석하고, 이를 체계적으로 문서화하여 팀원들과 공유했습니다. 처음에는 문서가 거의 없어서 힘들었지만, 직접 시스템 구성도를 그려 파악한 내용을 팀원들과 공유하며 피드백을 받았습니다. 이 과정을 통해 시스템의 유기적인 관계를 보다 깊이 이해할 수 있었습니다.</p>
<h1 id="프로젝트-및-api-분석">프로젝트 및 API 분석</h1>
<p><img src="https://velog.velcdn.com/images/lucky-shim/post/905d17c6-9039-4a0d-a8db-6e9b1f82f853/image.webp" alt="프로젝트 및 API 분석"></p>
<p>API 프로젝트와 배치 프로젝트를 분석하며, 현재 시스템에서 나타나는 문제점들을 발견하고 개선 방향을 모색했습니다. 특히 도메인 정보를 소스코드를 통해 직접 분석하면서 비즈니스 용어와 프로세스를 이해하게 되었습니다. 이 과정에서 문서화의 중요성을 다시 한번 깨달았고, 문제점을 공용 문서에 기록하여 팀원들과 논의하며 개선 방안을 모색했습니다.</p>
<h1 id="서버-및-환경-분석">서버 및 환경 분석</h1>
<p><img src="https://velog.velcdn.com/images/lucky-shim/post/01cecf09-6c02-420b-87a6-077e5e38da9c/image.webp" alt="서버 및 환경 분석"></p>
<p>개발 서버와 운영 서버의 환경을 분석하며, 시스템의 안정성을 높이기 위한 방안을 찾았습니다. 시스템 아키텍처를 이해하고, 네트워크 구성에 대한 팀원들과의 논의를 통해 개선할 부분을 식별했습니다. 특히 백엔드 개발자가 인프라 영역까지 이해할 필요가 있다는 것을 느끼게 되었고, 이를 위해 추가적인 학습이 필요함을 인식했습니다.</p>
<h1 id="스케줄-관리-및-회의-참석">스케줄 관리 및 회의 참석</h1>
<p><img src="https://velog.velcdn.com/images/lucky-shim/post/fd0c4de9-20b8-4c26-8400-33e5afa8b504/image.webp" alt="스케줄 관리 및 회의 참석"></p>
<p>일정 관리를 통해 프로젝트 진행 상황을 체계적으로 관리했습니다. 처음에는 일정 없이 작업을 진행하는 경우가 있었지만, 이를 개선하기 위해 팀원들과 스케줄을 명확히 설정하고 작업 범위를 정의했습니다. 이를 통해 업무 효율성을 높이고 성취감을 느낄 수 있는 기반을 마련했습니다.</p>
<h1 id="외부-연동-api-검토">외부 연동 API 검토</h1>
<p><img src="https://velog.velcdn.com/images/lucky-shim/post/5c209547-d1e5-46e0-a12a-88258ffb6115/image.webp" alt="외부 연동 API 검토"></p>
<p>내부와 외부 연동 API를 검토하며 보안, 성능, 에러 핸들링 등을 점검했습니다. 특히 외부 API 연동 시 발생할 수 있는 성능 이슈와 보안 문제를 확인하며, 이를 개선하기 위한 방안을 모색했습니다. API 버전 관리와 모니터링의 중요성도 다시 한번 인식하게 되었습니다.</p>
<h1 id="데일리-스크럼">데일리 스크럼</h1>
<p><img src="https://velog.velcdn.com/images/lucky-shim/post/57d64189-5f26-471f-bfd8-855604d7517c/image.webp" alt="데일리 스크럼"></p>
<p>팀 내 소통 문제를 해결하기 위해 데일리 스크럼을 제안하고 실행에 옮겼습니다. 스크럼을 통해 팀원들이 서로의 업무를 더 잘 이해할 수 있었고, 빠르게 문제를 공유하고 해결할 수 있었습니다. 특히 소규모 팀에서의 커뮤니케이션 중요성을 재확인하는 계기가 되었습니다.</p>
<h1 id="이슈-해결-및-방안-논의">이슈 해결 및 방안 논의</h1>
<p><img src="https://velog.velcdn.com/images/lucky-shim/post/5a167f41-c1c3-40bd-bc29-769338ff7f3e/image.webp" alt="이슈 해결 및 방안 논의"></p>
<p>백엔드 API 관련 이슈 해결을 위해 팀원들과 함께 문제를 논의했습니다. 실무 개발자가 겪는 과부하나 시간 압박, 그리고 문서화의 중요성을 재인식하며, 팀 내에서 효율적으로 문제를 해결하기 위한 방안을 모색했습니다. 이를 위해 추측이 아닌 데이터 기반의 논의가 필요하다는 점도 강조했습니다.</p>
<h1 id="새로운-기술-학습-시도">새로운 기술 학습 시도</h1>
<p><img src="https://velog.velcdn.com/images/lucky-shim/post/f1acbe93-38c9-49c5-a080-0d02773c7006/image.webp" alt="새로운 기술 학습 시도"></p>
<p>사내에서 사용 중인 다양한 기술 기반 솔루션을 이해하기 위해 학습 시간을 할애했습니다. 특히 R로 작성된 API를 Python으로 전환하는 가능성을 탐색하며, 이를 위해 필요한 기술 스터디의 필요성도 인식했습니다. 팀 내에서 이러한 기술 변화를 어떻게 수용할지 논의해보는 시간이 필요하다고 생각했습니다.</p>
<hr>
<h1 id="next-action">Next Action</h1>
<p>다음은 앞으로 팀 또는 개인적으로 해야할 일들에 대해 정리한 내용입니다.</p>
<h3 id="팀-협업">팀 협업:</h3>
<ul>
<li>설문조사에서 얻은 인사이트를 바탕으로 이해관계자들과 프로젝트 방향에 대해 논의하고 요구사항 분석을 명확히 한다.</li>
<li>프로젝트 진행과 관련된 문서를 작성하고 시스템을 체계적으로 이해할 수 있도록 팀원들과 지속적으로 공유한다.</li>
<li>현재 운영중인 API의 문제점을 팀원들과 공유하고, 개선 방안을 도출하여 우선순위를 정해 실행 계획을 수립한다.</li>
<li>서버 및 네트워크 구성 개선을 위해 팀 내 논의를 거쳐 구체적인 실행 방안을 마련한다.</li>
<li>스케줄 관리를 체계화하고, 팀원들과의 협업을 통해 일정 관리의 중요성을 공유한다.</li>
<li>데일리 스크럼을 지속적으로 진행하며, 효과적인 소통을 위한 개선점을 팀원들과 논의한다.</li>
<li>이슈 해결 프로세스를 명확히 정의하고, 이를 문서화하여 팀 내에서 공유한다.</li>
<li>팀 내 기술 학습 스터디 그룹을 제안하고, 필요한 기술을 함께 학습할 수 있는 환경을 조성한다.</li>
</ul>
<h3 id="개인-작업">개인 작업:</h3>
<ul>
<li>비즈니스 이해도를 높이기 위해 관련 자료를 수집하여 연구하고 학습한다.</li>
<li>새로운 시스템이나 프로세스를 접할 때마다 문서화를 습관화하고, 이를 팀 내에 적극적으로 알린다.</li>
<li>네트워크 및 클라우드 관련 기술을 학습하여, 백엔드 개발 외에도 시스템 전체를 이해할 수 있는 역량을 키운다.</li>
<li>나만의 일정 관리 방법을 개발하고, 이를 팀 내에서 실천할 수 있도록 계획을 세운다.</li>
<li>API 성능 최적화와 보안 강화에 대한 기술적 학습을 진행한다.</li>
<li>스크럼에서 제기된 이슈를 기록하고, 이를 바탕으로 업무 개선에 반영한다.</li>
<li>문제 해결에 필요한 기술적 역량을 키우고, 데이터 기반의 논의를 위해 필요한 자료를 준비한다.</li>
<li>Python 및 Flask 등 새로운 기술을 지속적으로 학습하고, 이를 팀 내에서 적용할 수 있도록 준비한다.</li>
</ul>
<p>정리해보니 앞으로 해야할 일들이 명확해졌습니다. 위의 내용을 시작으로 우리팀은 성장하고 저 또한 성장할 것입니다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[효율적인 팀 적응을 위한 단계별 가이드: 경험을 통한 인사이트]]></title>
            <link>https://velog.io/@lucky-shim/%ED%9A%A8%EC%9C%A8%EC%A0%81%EC%9D%B8-%ED%8C%80-%EC%A0%81%EC%9D%91%EC%9D%84-%EC%9C%84%ED%95%9C-%EB%8B%A8%EA%B3%84%EB%B3%84-%EA%B0%80%EC%9D%B4%EB%93%9C-%EA%B2%BD%ED%97%98%EC%9D%84-%ED%86%B5%ED%95%9C-%EC%9D%B8%EC%82%AC%EC%9D%B4%ED%8A%B8</link>
            <guid>https://velog.io/@lucky-shim/%ED%9A%A8%EC%9C%A8%EC%A0%81%EC%9D%B8-%ED%8C%80-%EC%A0%81%EC%9D%91%EC%9D%84-%EC%9C%84%ED%95%9C-%EB%8B%A8%EA%B3%84%EB%B3%84-%EA%B0%80%EC%9D%B4%EB%93%9C-%EA%B2%BD%ED%97%98%EC%9D%84-%ED%86%B5%ED%95%9C-%EC%9D%B8%EC%82%AC%EC%9D%B4%ED%8A%B8</guid>
            <pubDate>Sat, 20 Jul 2024 04:09:21 GMT</pubDate>
            <description><![CDATA[<p>안녕하세요. 백엔드 개발자 럭키입니다.
새로운 팀에 합류하거나 기존 팀에서 변화가 있을 때, 효율적으로 적응하는 것은 중요한 도전 과제입니다. 이 글에서는 팀에 빠르게 적응하기 위한 단계별 전략과 그 과정에서 지난 일주일동안에 얻은 인사이트를 공유합니다. 이 가이드를 통해 여러분은 팀 내에서 효과적으로 자리잡고, 협업을 최적화할 수 있는 방법을 배울 수 있을 것입니다.</p>
<p><img src="https://velog.velcdn.com/images/lucky-shim/post/33a78117-9a7e-440f-b297-d491d50790b4/image.webp" alt="1. 팀 문화와 환경 이해하기"></p>
<h3 id="1-팀-문화와-환경-이해하기">1. 팀 문화와 환경 이해하기</h3>
<p><strong>팀 문화 파악하기</strong></p>
<ul>
<li><p>팀의 핵심 가치와 문화를 이해하고, 비공식 대화를 통해 팀의 분위기와 동료들의 업무 스타일을 파악합니다.</p>
</li>
<li><p>팀이 사용하는 도구와 프로세스를 익히고, 기존 문서와 업무 흐름을 검토합니다.</p>
</li>
</ul>
<p><strong>관찰과 질문</strong></p>
<ul>
<li><p>팀 회의나 주요 프로젝트에 참석하여 팀의 작업 방식을 관찰합니다.</p>
</li>
<li><p>불확실한 부분이나 의문점이 있을 때는 주저하지 말고 질문합니다.</p>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/lucky-shim/post/5de0541f-08e0-42b6-9457-69236854c1b1/image.webp" alt="2. 커뮤니케이션 및 관계 구축"></p>
<h3 id="2-커뮤니케이션-및-관계-구축">2. 커뮤니케이션 및 관계 구축</h3>
<p><strong>적극적인 소통</strong></p>
<ul>
<li><p>팀원들과의 1:1 미팅을 통해 개인적인 관계를 형성하고, 업무 관련 기대와 요구 사항을 명확히 합니다.</p>
</li>
<li><p>소통 시 피드백을 수용하고, 자신의 생각과 아이디어를 명확하게 표현합니다.</p>
</li>
</ul>
<p><strong>신뢰 구축</strong></p>
<ul>
<li><p>약속한 일을 성실히 이행하고, 팀 내에서 신뢰를 쌓기 위해 노력합니다.</p>
</li>
<li><p>팀 프로젝트에서 기여를 통해 자신의 능력을 입증합니다.</p>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/lucky-shim/post/c65d7a77-48da-4f47-bd09-5a0a08913607/image.webp" alt="3. 업무 및 프로세스 적응"></p>
<h3 id="3-업무-및-프로세스-적응">3. 업무 및 프로세스 적응</h3>
<p><strong>업무 이해</strong></p>
<ul>
<li><p>자신이 맡게 될 주요 업무와 책임을 명확히 하고, 기존의 코드와 시스템을 빠르게 이해합니다.</p>
</li>
<li><p>필요 시 문서화된 자료나 이전 팀원의 작업 내용을 참고하여 업무를 숙지합니다.</p>
</li>
</ul>
<p><strong>프로세스에 통합</strong></p>
<ul>
<li><p>팀의 작업 프로세스와 도구를 사용하는 데 익숙해지기 위해 실습합니다.</p>
</li>
<li><p>프로세스 개선에 대한 제안이 있을 경우, 팀과 논의하여 적용할 수 있는 방안을 모색합니다.</p>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/lucky-shim/post/041b5f6e-99f5-45f3-82cb-be8aff0ffc87/image.webp" alt="4. 피드백과 조정"></p>
<h3 id="4-피드백과-조정">4. 피드백과 조정</h3>
<p><strong>정기적인 피드백</strong></p>
<ul>
<li><p>자신의 작업과 성과에 대해 정기적으로 피드백을 받습니다.</p>
</li>
<li><p>피드백을 바탕으로 업무 방식을 조정하고, 개선점을 찾아나갑니다.</p>
</li>
</ul>
<p><strong>자기 개선</strong></p>
<ul>
<li><p>자신의 약점과 개선이 필요한 부분을 인식하고, 이를 보완하기 위한 학습과 연습을 계속합니다.</p>
</li>
<li><p>팀 내에서의 성장과 발전을 위해 개인적인 목표를 설정합니다.</p>
</li>
</ul>
<p><img src="https://velog.velcdn.com/images/lucky-shim/post/46153a85-e9b3-40eb-a369-74ac5be7629c/image.webp" alt=""></p>
<p>팀에 효과적으로 적응하기 위한 이 단계별 가이드는 여러분이 새로운 환경에서 빠르게 자리잡고, 팀과 함께 성공적인 성과를 이루는 데 도움을 줄 것입니다. 팀 내에서의 적응 과정은 시간이 걸릴 수 있지만, 지속적인 노력과 열린 마음으로 성과를 이룰 수 있습니다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[이직 후 업무에 빠르게 적응하는 7가지 방법 (Backend)]]></title>
            <link>https://velog.io/@lucky-shim/%EC%9D%B4%EC%A7%81-%ED%9B%84-%EC%97%85%EB%AC%B4%EC%97%90-%EB%B9%A0%EB%A5%B4%EA%B2%8C-%EC%A0%81%EC%9D%91%ED%95%98%EB%8A%94-7%EA%B0%80%EC%A7%80-%EB%B0%A9%EB%B2%95-Backend</link>
            <guid>https://velog.io/@lucky-shim/%EC%9D%B4%EC%A7%81-%ED%9B%84-%EC%97%85%EB%AC%B4%EC%97%90-%EB%B9%A0%EB%A5%B4%EA%B2%8C-%EC%A0%81%EC%9D%91%ED%95%98%EB%8A%94-7%EA%B0%80%EC%A7%80-%EB%B0%A9%EB%B2%95-Backend</guid>
            <pubDate>Sun, 14 Jul 2024 04:36:42 GMT</pubDate>
            <description><![CDATA[<p>안녕하세요. 백엔드 개발자 럭키입니다. 
새로운 회사에서 업무를 시작한 지 일주일이 정말 순식간에 지나갔습니다. 새로운 시작에 두근거리고 설레면서도 내가 맡은 일을 잘 해낼 수 있을까 걱정이 많으실 텐데요. 백엔드 개발자로서 이직 후 회사에 적응하는 과정을 공유하고 싶어 이 글을 작성했습니다. 저의 방법을 적용해 보시면 업무에 많은 도움이 될 거예요.</p>
<h2 id="회사에-대한-정보를-조사하고-관찰해-보세요">회사에 대한 정보를 조사하고 관찰해 보세요.</h2>
<p><img src="https://velog.velcdn.com/images/lucky-shim/post/90e4c710-1610-44bd-926c-c3af55d1cc80/image.webp" alt="회사에 대한 정보를 조사하고 관찰해 보세요"></p>
<p>저는 회사 홈페이지에서 회사의 문화를 소개하는 메뉴를 찾아봅니다. 회사의 핵심 가치는 무엇인지, 조직 문화는 어떤 문화를 지향하는지에 대해 미리 알아봅니다. 사바사겠지만 잘 설명되어 있는 홈페이지가 있는가 하면 그렇지 않은 회사도 있습니다.</p>
<h2 id="긍정적이고-자신감-있는-태도로-동료들에게-다가가세요">긍정적이고 자신감 있는 태도로 동료들에게 다가가세요.</h2>
<p><img src="https://velog.velcdn.com/images/lucky-shim/post/0a094374-2d21-4464-a746-a113a86ed24f/image.webp" alt="긍정적이고 자신감 있는 태도로 동료들에게 다가가세요"></p>
<p>규모가 적은 팀에서는 직원들의 이름과 직책을 알기 위해 먼저 가서 인사를 건네고 명함을 받습니다. 규모가 큰 회사의 경우에는 상급자의 소개로 여러 부서에 가서 소개를 하고 가볍게 인사를 나누기도 합니다. 이번에 근무를 시작한 회사에서는 소개해주는 문화가 없다는 것을 알았고, 일단 내가 속한 팀의 직원들부터 먼저 알아가 보기로 했습니다.</p>
<h2 id="주저하지-말고-질문해-보세요">주저하지 말고 질문해 보세요.</h2>
<p><img src="https://velog.velcdn.com/images/lucky-shim/post/bd2c4527-132e-4bea-88bd-6a6e1e381af8/image.webp" alt="주저하지 말고 질문해 보세요"></p>
<p>회사의 온보딩(Onboarding) 문화가 있으면, 업무에 필요한 기본적인 내용들을 빠르게 접할 수 있습니다. 만약 온보딩 문화가 없는 회사라면 어떻게 해야 할까요? 주저하지 말고 동료들에게 다가가 질문해 보세요.</p>
<p>&#39;ㅇㅇㅇ님은 어떤 업무를 담당하시나요?&#39;
&#39;ㅇㅇㅇ 업무라고 있던데, 이 업무는 어떤 내용인지 설명해 주실 수 있을까요?&#39;</p>
<p>갑작스러운 질문에 당황할 수 있지만, 웬만하면 맡은 업무에 대해 한 번 생각해 본 뒤 설명해 주기도 합니다. 팀의 업무들을 기록하고 관리하는 공용 문서가 있다면 메신저를 통해 공유받을 수도 있습니다. 상급자에게 질문을 했을 때 만약 팀에 그런 문서가 없다면 새로 생성하여 팀의 문화를 만들어 가게 할 수도 있습니다. 팀에서 진행하는 업무는 어떤 것들이 있는지, 팀의 우선순위가 높은 업무는 무엇인지, 담당자는 누구인지, 진행 상황은 어떻게 되고 있는지, 업무에 방해되는 요소는 무엇인지 한눈에 볼 수 있는 문서가 있다면 팀원들 간에 업무적인 의사소통을 하는데 활용할 수 있습니다.</p>
<h2 id="중요한-내용이나-팁을-메모하세요">중요한 내용이나 팁을 메모하세요.</h2>
<p><img src="https://velog.velcdn.com/images/lucky-shim/post/fc6a545b-5462-4bd2-a9a6-6e2b7632e10f/image.webp" alt="중요한 내용이나 팁을 메모하세요"></p>
<p>업무를 하나씩 알아가다 보면 비즈니스에 사용하는 생소한 용어들을 접하게 됩니다. 용어의 뜻, 코드로 작성된 변수나 단어의 의미, 프로세스 등을 이해했다면 노션이나 컨플루언스 등 공용으로 사용하는 문서 도구나 개인 메모장에 기록해 보세요. 개인 메모장보다 팀원들이 모두 함께 볼 수 있고 검색이 가능한 노션이나 컨플루언스에 기록하는 것을 추천합니다.</p>
<p>지금 내가 알게 된 지식은 누군가에게는 익숙한 지식일 수 있으나, 저처럼 처음 접하는 동료들에게는 굉장한 도움이 되는 자료가 됩니다. 지식을 기록하고 팀에 공유해 보세요. 잘못된 정보는 동료들의 피드백을 통해 올바르게 기록하여 팀의 자산으로 만들 수 있습니다.</p>
<h2 id="동료들과-대화를-나눠-보세요">동료들과 대화를 나눠 보세요.</h2>
<p><img src="https://velog.velcdn.com/images/lucky-shim/post/f9aca433-b69a-4382-9dfb-d99cfd3d640b/image.webp" alt="동료들과 대화를 나눠 보세요"></p>
<p>동료들과는 아직 서먹서먹하기 때문에 업무 시간에는 각자의 업무에 집중하고 있어서 대화를 나누기 어렵습니다. 커피타임이나 흡연자의 경우 흡연할 때, 점심을 같이 먹을 때, 산책할 때 동료들과 대화를 나눠 보세요. 업무 외적인 대화를 통해 친밀감을 쌓을 수 있고, 회사 생활에 자연스럽게 녹아들 수 있습니다.</p>
<p>저는 흡연을 하지 않아서 커피를 마시거나 점심을 먹을 때 다른 동료들의 대화를 경청합니다. 어떤 주제로 이야기를 하는지, 화제는 무엇인지, 대화하는 동료들을 관찰하면서 주로 듣는 편이고, 필요한 타이밍에 질문을 던져서 대화가 끊기지 않도록 하려고 노력합니다.</p>
<p>어떻게 하면 동료들과 다양한 주제로 대화를 이끌어 나갈지 고민을 많이 합니다. 팀원들이 대화를 잘 안하는 성향이 강하다면 그들의 업무 방식이나 고민점에 대해 질문하여 들어보는 것을 시작합니다. 대화를 나누다 보면 동료 직원이 가지고 있는 문제점을 캐치할 수도 있고, 제가 알고 있는 지식선이나 회사의 문화를 통해 해결할 수 있는 방법을 서로 같이 얘기해 보기도 합니다.</p>
<p>관심사에 대한 주제로 얘기를 나눠볼 때도 나와 공감할 수 있는 관심사가 무엇인지 찾으려고 노력합니다. 서로의 공통된 관심사를 통해 자주 이야기를 나눌 수 있어 친밀감을 높일 수 있습니다.</p>
<h2 id="업무의-우선순위를-확인하세요">업무의 우선순위를 확인하세요.</h2>
<p><img src="https://velog.velcdn.com/images/lucky-shim/post/a5629041-e2e8-4cc1-bcec-aec06920c15f/image.webp" alt="업무의 우선순위를 확인하세요"></p>
<p>동료들과 업무 관련 대화를 나누다 보면 자연스럽게 어떤 업무가 현재 우선순위가 높은지 확인할 수 있습니다. 팀에서 관리하는 업무 목록에서 어떤 업무가 우선순위가 높은지 확인하세요. 만약 우선순위가 표시되어 있지 않다면 왜 표시되어 있지 않은지 이해하고, 업무의 우선순위를 표시하여 팀의 목표를 명확히 하세요. 이를 통해 효율적으로 업무를 처리할 수 있고, 팀에서 나아가는 방향과 유관 부서와의 관계를 파악하고, 신뢰를 얻을 수 있습니다.</p>
<h2 id="업무에-대한-피드백을-받으세요">업무에 대한 피드백을 받으세요.</h2>
<p><img src="https://velog.velcdn.com/images/lucky-shim/post/19a0d32e-b2de-4ffa-b3ed-5e71debc914b/image.webp" alt="업무에 대한 피드백을 받으세요"></p>
<p>파악한 업무를 기록하고 팀에 공유하세요. 공유하는 문화가 없는 팀에서는 &#39;왜 굳이 이런 내용까지 하나하나 공유하지?&#39;라는 의문이 생길 수도 있습니다. 또는 공유하는 문화가 &#39;어색하지만 해보니까 좋은데?&#39;라고 생각할 수도 있습니다. 중요한 것은 공유받은 내용에 대해 피드백을 주거나 받는 것입니다. 회사에서 사용하는 메신저를 통해 기록한 업무 내용을 공유하고 상사나 동료들에게 피드백을 요청하세요. 아직 익숙하지 않은 업무를 내가 제대로 이해하고 업무를 진행한 것인지, 더 좋은 방향으로 해결할 수 있는지 등등 다양한 관점의 피드백을 받을 수 있어요. 업무를 수행하면서 피드백을 받는 것은 성장에 필수적입니다.</p>
<hr>
<p>저는 위의 7가지 방법을 입사 후 일주일 동안 실천으로 옮겼고, 멈춰있던 것들을 다시 움직이게 만들었습니다. 시작은 미약했지만, 동료들의 정적인 업무 패턴을 개선하기 위해 문제점이 무엇인지 파악하고 성장할 수 있는 요소를 찾아 끌어내고 적용시켜 조금씩 변화하며 성장하는 팀 문화를 만들어가는데 힘쓰고 싶습니다.</p>
<p>물론 이러한 과정을 달갑지 않게 받아들이는 분들도 분명 있을 것입니다. 아직 일주일밖에 지나지 않아 더 알아가야 할 내용들이 많은 것이 분명합니다. 업무에 필요한 기록을 계속 남기고, 업무 불편함을 개선해 나가기 위해 저를 채용한 것이 아닌가 싶습니다.</p>
<p>그동안 저의 다양한 경험을 바탕으로 개선해 나가는 모습들을 계속해서 기록을 남겨보고 싶습니다.</p>
<p>이 글을 읽으시는 모든 분들이 업무에 잘 적응하시고 성장하셨으면 하는 바람입니다.</p>
<p>ps.
입사 후 기억에 남는 경험이나 좋았던 점, 나빴던 점, 궁금한 내용에 대해 댓글로 남겨주세요. :)</p>
]]></description>
        </item>
    </channel>
</rss>