0. 서문구글처럼 사업 성공과 구성원의 행복이라는 두 마리 토끼를 잡으려면 기업들은 어떻게 해야 할까?비결은 구성원들이 긍정적인 감정을 갖고 업무 추진을 위한 강력한 동기를 가지며 동료를 우호적으로 인식하는 환경, 즉 직장생활의 내면상태(inner work life)를 만족스럽게 유지할 수 있는 환경을 만들었기 때문이다.바람직한 직장생활의 내면상태를 유지하기 위해서는 우선 구글의 사명인 “전 세계의 정보를 조직화시켜 누구나 유용하게 사용할 수 있게 하자”처럼 의미 있는 목적이 있어야만 한다. 구성원이 일상적인 업무 추진 과정에서 실질적으로 진척을 보일 수 있도록 분명한 목표를 제시하고, 자율성을 보장하며, 필요한 자원을 제공해야 한다. 구성원이 경험하는 직장생활의 내면상태는 각자가 낸 아이디어가 존중받는..

매 년 회고 포스팅을 작성할때면 연말이 되었음을 실감하곤 합니다. 2024년은 다양한 경험들을 바탕으로 인간적인 성숙함을 많이 기를 수 있었던 한 해 였던 것 같습니다. 올 한 해를 돌이켜보면서 2025년 역시 어떻게 헤쳐나갈지 고민해보도록 하겠습니다. 1. 2024년 회고[ 2024년의 학습과 자기개발 ]2024년에는 다음과 같은 학습을 진행했다.1월: 자바 웹 프로그래밍 next step & 김영한의 실전 자바 기본편 & 책은 도끼다2월: 코틀린 쿡북 & 백명석의 클린 코더스 & 행복의 기원3월: 코틀린 인 액션4월: 이펙티브 코틀린5월: 구글 엔지니어는 이렇게 일한다 & 1만 시간의 재발견6월: 좋은 코드, 나쁜 코드 & 조영호님 DDD의 사실과 오해7월: 오브젝트8월: 프로그래머, 열정을 말하다..

아래 포스팅 내용의 대부분은 당근 마켓 테크 블로그 포스팅을 참고하여 작성되었습니다. 1. 실무 사례로 살펴보는 VARCHAR와 TEXT의 차이[ 문제의 상황 공유 ]개발자가 다음과 같은 DDL 요청을 DBA에게 부탁한 상황이다.alter table allowancemodify tx_id varchar(1000) not null comment '거래 내역 ID'; 해당 요청을 보고 개발자와 DBA가 나눈 대화는 다음과 같다.DBA: tx_id가 1000자나 되나요? 1000자면 한글 기준으로 3000byte에 해당하고, 2KB가 넘는 사이즈라서요.개발자: 요러요러한 비즈니스 구현 사항으로 인해 tx_id는 1000자가 될 수 있습니다.DBA: 그렇군요, 이해했습니다. 혹시 숫자와 문자 데이터를 분리..
1. 값 객체(Value Object)와 불변성(Immutablity)[ 값 객체(Value Object) 와 참조 객체(reference object) ]프로그래밍을 하다 보면, 사물을 복합적으로 표현하는 것이 유용한 때가 있다. 예를 들어, 좌표는 x 값과 y값으로 표현될 수 있고, 금액은 숫자와 통화로 구성될 수 있다.class Point( val x: Int, val y: Int,) 이때 두 객체가 동일한지를 판단해야 하는 경우가 있는데, 예를 들어 두 Point 객체가 모두 (2, 3)이라는 좌표를 나타낸다면, 이를 동일하게 취급하는 것이 합리적일 수 있다.val p1 = Point(2, 3);val p2 = Point(2, 3);check(p1 == p2) 이렇듯 속성 값에 의해..
1. 소프트웨어 엔지니어링이란?구글에서는 이따금 “소프트웨어 엔지니어링은 흐르는 시간 위에서 순간순간의 프로그래밍을 모두 합산한 것이다”라고 말하곤 합니다. 소프트웨어 엔지니어링에서 프로그래밍이 큰 비중을 차지하는 건 틀림없지만 프로그래밍은 결국 새로운 소프트웨어를 제작하는 수단입니다. 여러분이 이 차이를 받아들인다면 자연스럽게 프로그래밍 작업(개발, development)과 소프트웨어 엔지니어링 작업(개발, development + 수정, modification + 유지보수, maintenance)의 차이도 궁금할 것입니다. 시간이라는 요소가 더해지면서 프로그래밍에는 중요한 차원이 하나 늘어서 더 입체적으로 바뀝니다. 정육면체는 정사각형이 아니고 거리는 속도가 아니듯, 소프트웨어 엔지니어링은 프로그래밍..