Happynut

조직을 이끄는 삶이란 무엇인가

2024년에 한 해를 잔잔히 돌아보며 한 가지 결심이 섰다. 나는 내가 가진 창의력을 온전히 발휘할 수 있는 일을 하고 싶다. 엔지니어링과 나의 한계 내가 주로 하는 소프트웨어 엔지니어링은 창의력을 마음껏 발휘하기에 좋다고 보기 어렵다. 기껏해야 주어진 문제 해결을 위해 기가막힌 편법을 찾아내거나, 미래를 상상하며 더 좋은 설계를 고민하는 것 정...

좋은 의사결정이란 무엇인가

최근 좋은 의사결정을 어떻게 하면 잘 내릴 수 있는 것인가에 대한 고민이 생겨 생각을 정리했다. 좋은 의사결정을 위해서는 구체적 목표 설정, 리스크 평가, 정보 수집 등 고려해볼만한 여러 항목들이 있겠지만, 실무적 상황에서 그런 기초적인 내용들은 어느 정도 챙겼다는 가정하에 개인적인 견해를 덧붙여 담론해 보고자 한다. 주의: 개인적 경험은 I...

Kotlin 코루틴의 비동기는 어떻게 동작할까?

코루틴은 매번 정리하고 까먹고를 반복하는데 이건 내가 제대로 이해하지 못했다는 선명한 반증이다. 내가 코루틴에 대한 피상적인 이해는 요약하자면 다음과 같다. 코루틴은 중단 함수를 만나면 자신의 작업을 중단하고, CPU를 양보한다. 코루틴을 실행하던 해당 스레드는 양보 받은 CPU로 다른 작업을 수행한다. 그렇기 때문에 일반적인 멀티스레...

도메인 모델 분리가 꼭 필요할까?

도메인 모델 분리란, 영속화 시점에 사용되는 모델과, 비즈니스 문제를 표현할 때 사용되는 모델을 분리하는 것을 의미한다. 오랫동안 나는 도메인 모델을 분리하는 편이 더 낫다는 점에 의심을 품지 않았다. 도메인 모델을 분리함으로써 비즈니스 표현력을 높이고, 이는 곧 탐사 비용을 낮출거라는 기대 때문이었다. 그러나 기대와는 달리, 결과적으로 일반적인 서...