백명석 /@@2xm Java, OOP, TDD, Refactoring, Clean Code, Code Review 에 관심이 많음 ko Tue, 29 Apr 2025 14:33:02 GMT Kakao Brunch Java, OOP, TDD, Refactoring, Clean Code, Code Review 에 관심이 많음 //img1.daumcdn.net/thumb/C100x100.fjpg/?fname=http%3A%2F%2Fu1.daumcdn.net%2Fbrunch%2Fservice%2Fguest%2Fimage%2FHt2z831ldL-bSQi2aSZD3vkq_h0 /@@2xm 100 100 주말 장애 처리 이야기 /@@2xm/91 장애의 시작 금요일&nbsp;퇴근을 하고 있는데 연신 Teams 물류센터 방에서 뭐가 안된다는 글이 계속 올라왔다. 누군가 처리하겠지 하고 있는데 물류 개발자 중에 막내 개발자가 대응을 했다. 막내이지만 워낙 훌륭한 개발자라 잘 처리하겠지 하고 퇴근을 했다. 그리고 좀 잠잠해지는 것 같았다. 그저 대량 입고 와 대량 출고가 있어서 비동기 처리가 좀 지연이 되어 그런<img src= "https://img1.daumcdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2F2xm%2Fimage%2FpVx8G84B8tOChS06etRS2TZatQo.png" width="489" /> Sun, 09 Mar 2025 10:15:14 GMT 백명석 /@@2xm/91 개발자들과의 커피챗 /@@2xm/90 커피챗 예전에 함께 일했던 후배와 연말에 식사를 같이 하는 자리가 있었다. 대화를 나누다가 다음에 시간이 되면 본인 팀의 개발자들과 커피챗을 해 줄 수 있냐는 얘기가 나왔다. 그리고 이번 주에 그런 자리를 가졌다. 유사한 경험을 몇 차례 했는데 이번 경험도 즐거움이 있어서 정리를 해 보려 한다. 시작하며 내게 코칭, 커피챗 등을 요구하는 개발자나 개발 조직<img src= "https://img1.daumcdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2F2xm%2Fimage%2F7mLaZ3O4ZasTxjLXfJd-VSyvk3Q.png" width="458" /> Sun, 23 Feb 2025 07:45:02 GMT 백명석 /@@2xm/90 LLM의 도움으로 모르는 기술로 개발하기 - 갑자기 장님이 된 것 같아요 /@@2xm/89 LLM(Claude)으로 기술적으로 모르는 영역을 개발해 봤습니다. 주로 DB, Java를 이용한 서비스 개발을 해 왔는데 어제는 인텔리제이 플러그인을 만들 기회가 있었습니다. 처음에 LLM에 요구사항을 제공하자 전체 코드를 한 번에 알려주었습니다. 하지만 동작하지 않았습니다. 무엇이 안된다고 하면 해결책을 알려주는데 그것을 적용하면 다른 문제가 생기는 <img src= "https://img1.daumcdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2F2xm%2Fimage%2F3emNCkGo__YMttY6XlId5vyRr7o.png" width="500" /> Fri, 31 Jan 2025 00:00:29 GMT 백명석 /@@2xm/89 AI가 개발자를 대체할 것이다? - 효율화가 되면 수요가 줄어들 것이다? /@@2xm/88 LLM 등 AI로 인해 누구나 개발을 할 수 있게 되어, 개발자의 수요가 줄어들지 않겠냐는 질문을 받을 때가 종종 있습니다. 이러한 질문에 대한 답을 다음과 같은 2개의 글에서 찾아보았습니다. 1. AI &amp; Software Development &quot;AI가 모든 프로그래밍 일자리를 없앨 것이다&quot; 이 글에서 Kent Beck은 다음과 같이 이야기합니다. 말도 <img src= "https://img1.daumcdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2F2xm%2Fimage%2FSADzGGEGTSUTqlwMvJ0JOTZNBnI.png" width="500" /> Wed, 15 Jan 2025 10:02:24 GMT 백명석 /@@2xm/88 숙련된 개발자의 역할 - TDD를 배우기 어려운 이유 /@@2xm/87 개발 관련된 강의, 발표 등을 하다 보면 온라인이나 강단에 서서 설명하는 것이 효과가 없다고 느끼는 경우가 있다. 하나의 모니터를 같이 보면서 키보드를 공유하고, 이면지나 화이트보드에 서로의 생각을 공유해야 제대로 의도가 전달되는 경우가 있다. TDD, 리팩터링 등이 대표적인 예인 것 같다. 왜 그럴까? 왜 책이나 온라인 강의 등으로 체득하기 어려울까? Sun, 08 Dec 2024 01:13:12 GMT 백명석 /@@2xm/87 미래의 인센티브가 사람을 움직인다 - 과거에 베푼 은혜에 연연하지 말아야 한다 /@@2xm/86 오늘 저녁 산책하면서 들은 유튜브 영상에서 인상적인 내용이 있어서 정리해 봅니다. https://www.youtube.com/watch?v=Y0JO98xTt4Y 이 영상의 14:20 즈음 부터의 이야기가 흥미롭습니다. ---- BC 210년 진시황제 사망 후 초, 제, 연나라 등에서 발생한 반란을 항우가 진압 항우는 전공에 따라 땅을 부하들에게 나눠줌 Tue, 01 Oct 2024 12:14:37 GMT 백명석 /@@2xm/86 14.5 지속적 학습과 성장 - 완벽하게 공부하고 시작하기 vs 시작할 만큼 준비해서 시작하기 /@@2xm/85 추석 연휴의 첫날, 나는 산책을 하며 머릿속에 떠오르는 생각들을 음성 메모로 기록했다. 그리고 시간이 날 때 이를 글로 정리해 본다 어떻게 채용/취업해야 하나? 내가 개발자로서 첫 경력을 시작한 LG-EDS에 입사했을 때를 떠올려본다. 당시 신입 사원들은 거의 1년에 가까운 시간을 교육받았다. 기술적인 부분은 물론, 직장 매너와 사회생활에 필요한 다양한 <img src= "https://img1.daumcdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2F2xm%2Fimage%2FXiNvKW_baSSUbR0r3AUD6KXoQ_I.png" width="500" /> Wed, 18 Sep 2024 05:09:58 GMT 백명석 /@@2xm/85 14. 소프트웨어 공학의 특성 - 소프트웨어 개발의 3가지 메타포 중 하나인 공학에 대해서 /@@2xm/83 소프트웨어 개발을 얘기할 때 언급되는 메타포들이 있다. 장인정신(craftmanship), 정원 가꾸기(gardening), 그리고 오늘 이야기할 공학(engineerin g)이 있다. 장인정신 내가 이해하고 있는 장인정신 메타포는 지식과 학습 외에 경험을 통한 배움과 숙련(연습)이 필요하다는 것이다. 즉, 실무에서 가치로 기여하며 동료들과 서로 배움을 주<img src= "https://img1.daumcdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2F2xm%2Fimage%2F5qQ1YKPhU49tm8RJBYDIZIqebiA.png" width="500" /> Mon, 09 Sep 2024 12:54:25 GMT 백명석 /@@2xm/83 나의 쓰임이 필요하다 - &quot;운칠기삼(運七技三)&quot;, &quot;새옹지마(塞翁之馬)&quot; /@@2xm/81 오늘 아침 출근길에 만난 기사님의 이야기이다. 택시를 타면 주로 책을 보거나, 노트북을 꺼내서 일을 한다. 그런데 오늘은 타자 마자 집에 들어가려는데 콜이 와서 받았어요.밤을 새워서 들어가야 하는데... 라고 입을 여신다. 나는 &quot;아 예&quot;라고 하며 노트북을 폈다. 그런데 이분이 계속 이야기를 하신다. 근데 흥미로왔다. 이젠 노트북을 닫고 이 분의 말씀에 주 Tue, 13 Aug 2024 22:50:03 GMT 백명석 /@@2xm/81 빠르게 하는 것의 중요성 - 제대로 문제를 해결하는 방법 /@@2xm/80 0. 빠르게 잘하는 방법 주어진 시간에 문제를 잘 해결하기 위해서는 일단은 문제를 처음부터 끝까지 빠르게 풀어보고 남은 시간에 좋은 답변을 만들기 위해 노력해야 한다. 왜 이렇게 분리해서 진행해야 하는지 이 글에서 설명해 보겠다. 1. 한 번에 잘할 수 있다고 믿는 사람들 문제를 빠르게 잘 풀기 위해서는 소여물 먹듯이 반복 을 해야만 잘할 수 있다. 어떤 Sat, 06 Jul 2024 13:25:25 GMT 백명석 /@@2xm/80 다양함의 중요함 - LG-EDS 공채의 기억 /@@2xm/79 나는 컴퓨터공학 학사, 석사를 마치고 LG-EDS(현 LG-CNS)에 입사를 하면서 사회인으로서 개발자 경력을 시작했다. 입사 동기가 없었기에&nbsp;비슷한 시기에 입사한 공채들과 동기처럼 지냈었는데,&nbsp;그때 LG-EDS의 공채들은 전공 무관으로 채용을 했다. 신입 공채의 경우&nbsp;입사 후 첫 1년은 12개월 중에 거의 10개월은 교육을 받는 것 같은&nbsp;느낌이었다. 나는 Sun, 09 Jun 2024 05:02:58 GMT 백명석 /@@2xm/79 몰입의 함정 - 혼자 하는 것이 편하지만, 함께 해야 잘할 수 있다. /@@2xm/78 개인적으로 뭔가에 몰입해 있을 때 열심히 하게 되고, 스트레스도 안 받고, 시간도 빠르게 가고, 마음도 편하고, 즐거움까지 느끼기도 한다. 그런데 이렇게 좋은 점이 많은 몰입에는 함정이 있다. . 열심히 하는 것의 함정 &quot;소프트웨어 장인 정신 이야기&quot;&nbsp;에서 로버트 C. 마틴은 몰입된 상태에서 만들어 낸 코드가 꽤 엉망인 편인 것을 발견하곤 한다. 그래서&nbsp;요<img src= "https://img1.daumcdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2F2xm%2Fimage%2Fh2q2x2fHSwe7tuZEgHN9vy--zqs.jpg" width="500" /> Sun, 02 Jun 2024 12:59:26 GMT 백명석 /@@2xm/78 중요한 일을 잘하는 방법 /@@2xm/77 중요한 것을 잘해야 한다. 중요한 것을 잘하기 위해서는 열심히&nbsp;하는 것 외에 올바른 방향으로 해야 하는 것도 포함된다.&nbsp;속도(Velocity)는&nbsp;속력(Speed)과 같은 크기와&nbsp;방향을 함께 포함하는 물리량이다. 열심히 해서 속력을 최대로 올릴 수는 있지만 방향이 잘못된다면 나쁜 방향으로 엄청난 속력으로 달려서 크게 망할 것이다. 따라서 속력만큼 방향도 잘 <img src= "https://img1.daumcdn.net/thumb/R1280x0.fjpg/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2F2xm%2Fimage%2FvnsIeSAlhI2e6E0F97EiMpL-B78" width="500" /> Sun, 26 May 2024 12:58:22 GMT 백명석 /@@2xm/77 개발 조직을 만들기 어렵다 - 개발 조직은 돈 먹는 하마다 /@@2xm/76 이전에 작성한 글&nbsp;개발 조직을 만들기 어렵다에 의어 새로이 개발조직을 만들고 성과를 내는 것에 대한 글을 작성해 보려 한다. 좋은 개발 조직이란 회사의 사업에 가치로 기여하고 지속적으로 높은 경쟁력을 유지하여 회사의 성장에 기여하는 것 이 좋은 개발 조직이라고 생각한다. 좋은 개발 조직을 만들고 유지하기 위해서는 어떤 것이 필요할까? 소프트웨어 개발의 본 Sun, 19 May 2024 01:49:07 GMT 백명석 /@@2xm/76 경험주의 /@@2xm/75 소프트웨어 공학은&nbsp;공학(Engineering)일까? 아니면 공예(craft)일까? 이 둘은 서로 배타적이지 않고, 칼로&nbsp;무 자르듯 나눠서 얘기할 수는 없다고 생각한다. 각각의 방법에 대해서 조금 더 알아보자 공학적인 측면 Modern Software Engineering: Doing What Works to Build Better Software Faste Sat, 11 May 2024 04:28:35 GMT 백명석 /@@2xm/75 13. 기술 부채 관리하기 - 빨리, 잘하기 /@@2xm/74 위 그림은 마틴 파울러의 블로그 설계체력가설(Design Stamina Hypothesis)에 나오는 그림이다. 가로축은 시간의 흐름을 나타내고, 세로축은 누적 기능 개수를 나타낸다. no design(설계가 좋지 않은 경우)의 경우는 설계 수익선(design payoff line)까지는 빠르게 기능을 추가해 가지만 그 이후는 속도가 둔화된다. good d<img src= "https://img1.daumcdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2F2xm%2Fimage%2FEhs6AweQY7iezKk8BbnQ5SDEJEw.png" width="500" /> Sun, 24 Mar 2024 04:30:25 GMT 백명석 /@@2xm/74 중요한 일 먼저하기 - 고 득점 전략 /@@2xm/73 여러 가지&nbsp;일을 여러 명이 하는 2가지 방법 학창 시절 시험 시간을 생각해 보자. 시험지를 받아서 1번부터 마지막 번 문항까지 그냥 순서대로 푸는 것이 맞나?전체적으로 살펴보고 배점이 높고, 잘 풀 수 있는 문제를 먼저 푸는 게 좋은가? 고 득점을 위해서는 전략이 필요하다. 업무도 마찬가지이다. 10가지 과제가 있다. 이 일을 동시에 진행하는 것과 중요한 <img src= "https://img1.daumcdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2F2xm%2Fimage%2Fwg40FJFipOrwoxEHYyUZ5pf8cNw.png" width="500" /> Fri, 01 Mar 2024 01:28:35 GMT 백명석 /@@2xm/73 2.1 살아남는 놈이 강한 놈이다 - 존버 /@@2xm/72 &quot;2. 소개&quot;에서 내 이력을 기준으로 사실만 나열했다면, 이 글에서는 그런 이력을 갖게 된&nbsp;과정과 내 생각에 대해서 정리한 글이다. 최근 지금의 나에 대해서&nbsp;들려달라는 요청이 있어서 정리해 본다. &quot;강한 놈이 살아남는 게 아니라, 살아남는 놈이 강한 놈이다&quot; 라는 말이 있다. 어렸을 때 이 말을 듣고는 강한 사람이 살아남아야지 살아남는 사람이 강하다니 말이<img src= "https://img1.daumcdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2F2xm%2Fimage%2FjCtpXf9RRUaCzrLcKa4FB2UTLvU.png" width="500" /> Sun, 18 Feb 2024 02:10:30 GMT 백명석 /@@2xm/72 2023 회고 /@@2xm/71 이제 23년이 이틀 남았다. 였었는데. 어제 완성을 못해서 오늘이 23년의 마지막 날이다. 23년에 있었던 업무적 경험과 개인적 경험에 대해서 회고해 본다. 1. GMS GMS는 케이타운포유의 WMS로서&nbsp;Global warehouse Management System을 의미한다. 케이타운포유가 200여 개 국으로 배송을 하고 있어서 Global이라는 단어가 <img src= "https://img1.daumcdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2F2xm%2Fimage%2FU35DF9tY3VTlhUNSbNZYOAY-FaI.png" width="500" /> Sun, 31 Dec 2023 06:20:07 GMT 백명석 /@@2xm/71 12. 어려운 기술을 배우기 /@@2xm/70 2016년에 &quot;아는 것, 할 수 있는 것, 하는 것&quot;에서도 말했던 것처럼 배우기 어려운 기술들이 있다. 특히 TDD는 우리가 개발을 하던 순서를 바꿔야 하는 비직관적인 것이어서 익히기 매우 어렵다. 우리는 대개 기능을 구현하고 그 기능이 잘 동작하는지를 확인하기 위해 테스트를 추가한다. 또 AAA(Arrange, Act, Assert) 스타일(Given W<img src= "https://img1.daumcdn.net/thumb/R1280x0/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbrunch%2Fservice%2Fuser%2F2xm%2Fimage%2F1rs13WfnL_DVFF3QW9sP5yqJz0k.png" width="500" /> Sun, 17 Dec 2023 05:48:30 GMT 백명석 /@@2xm/70