Search
📚

[우아한 테크 세미나] 개발자 원칙 (2) - 실패를 축하합니다: 실패가 내 성장의 동력이 되려면

Tags
Soft Skills
Meet Up / Conference
Study
Last edited time
2025/01/19 13:13
2 more properties

1. 나 이런 실패들을 해봤지

실패란? 일을 잘못하여 뜻한 대로 되지 아니하거나 그르침
실패 예)
미라클 모닝 실패
일정 완료 예정일 날에 개발을 완료 못할 것이라는 걸 깨달은 순간

1.1. 개발자로서 나의 실패

버그 있는 코드 배포
사용자가 서비스 이용 시 문제 발생
운영 DB 테이블 삭제
데이터 복구 밤샘 작업에도 불구하고 손실된 데이터
코드 배포 후, 성능 문제 발생
서버 다운으로 서비스 중단
언제나 기시감이 드는 코드 작성
나만 성장하지 않은 것 같은 자괴감

1.2. 제품 만드는 사람으로서 나의 실패

나는 개발자니까 기술에만 집중하는 태도
코드는 미미하게 견고했지만, 서비스를 떠나가는 사용자
개발 문화만 너무 소중한 태도
개발팀만 신나고 후퇴하는 제품/서비스의 성장

1.3. 관리자 로서 나의 실패

팀의 역량을 파악하기 전 일을 계획함
프로젝트 중단
개발팀 과잉 보호
소통과 신뢰가 어려운 개발팀 (개발팀만 똘똘 뭉치고 소통이 안돼)
팀원을 이해하기전, 판단
어려운 리더가 됨

2. 실패 그 후

실패 그후 어떤 성장을 했나?
과정에 대한 이야기도 중욯지만, 실패 이후 성장한 결과에 대한 내용

2.1. 개발자로서 나의 실패, 그 후

버그 있는 코드 배포
코드 리뷰 절차 강화
운영 DB 테이블 삭제
인프라 보안 강화
코드 배포 후, 성능 문제 발생
성능 테스트 절차 강화
언제나 기시감이 드는 코드 작성
코드를 다시 작성해보는 습관 획득

2.2. 제품 만드는 사람으로서 나의 실패, 그 후

나는 개발자니까 기술에만 집중하는 태도
최종 사용자 관점에서 고민하는 태도
개발 문화만 너무 소중한 태도
동일한 목표를 바라보는 원팀으로의 협업

2.3. 관리자 로서 나의 실패, 그 후

팀의 역량을 파악하기 전 일을 계획함
일과 사람을 냉정하게 바라보고 실현 가능성 판단
개발팀 과잉 보호
주도적으로 일을 찾는 팀
팀원을 이해하기전, 판단
의문이 아닌, 이해와 인정이 먼저

2.4. 결과를 보고 나니..

모두 예측 가능한 성장 결과
배움이 아닌 회피를 택한 경우가 무수히 많았음
그런 경험이 쌓이다보니 실패를 대하는 방법이 생김
대단하지 않지만 루틴이 생겼다는 사실이 도움이 됨

3. 실패를 마주보기

3.1 실패를 대하는 방법

1.
실패의 순간, 가라앉은 감정 충분히 느끼기
회피하지 않고, 이 경험 안에서 느끼고 있는 감정을 알아채기
2.
그 감정에서 빠져나오기
필요 이상으로 감정에 매물되어 있음을 인지하기
빠져나오기 위한 나만의 의식 만들기
예) 가라앉은 감정에서 빠져나오는 과정
1.
문제가 뭐였을까? 생각 또 생각
2.
같은 생각 혹은 후회를 반복하고 있네? (인지)
3.
활자를 읽자 (의식)
4.
더 이상 가라앉은 감정에 매몰되지 않고 빠져나옴
3.
실패를 제대로 바라보기
감정을 배제하고, 사실만 보고, 잘한 것 / 놓친 것을 적어보기
자기가 한 실패를 손으로 기록하는 것은 실패를 반복하지 않게, 나에게 실패를 정확히 각인하기 좋은 수단
4.
단 한가지의 액션 아이템 선정하기
이 실패를 반복하지 않기 위한 단 한가지를 실행하기 ( = 회복)

3.2. 실패를 반복하지 않기 위한 단 1가지

개발자로서의 실패 예시를 다시 살펴보면,
버그 있는 코드 배포
코드리뷰 절차 강화 vs 테스트 코드 작성 문화
코드 배포 후 성능 문제 발생
성능 테스트 절차 강화 vs 고급 API 로직 분석
팀이 이 실수를 반복하지 않도록
전파 속도가 빠르고, 실패 반복 가능성이 낮은 방법을 선택

3.3. 임팩트가 가장 큰 1가지의 액션 아이템

실패를 가만히 들여다보면 여러가지 액션 아이템이 떠오름
하지만 가장 임팩트가 있는 단 한가지만 선택하려고 함
그 이유는 실패를 대하는 루틴이 너무 무겁지 않았으면 해서임
루틴이 무거워지는 순간 회피하게 될 것 같음

3.4. 실패를 대하는 방법 응용

1) 실패의 순간, 가라앉은 감정 충분히 느끼기 2) 그 감정에서 빠져나오기 3) 실패를 제대로 바라보기 4) 단 한가지의 액션 아이템 선정하기
관리자인 경우, 팀/팀원의 실패를 대할때도 동일한 루틴을 적용할 수 있음
팀/팀원이 루틴을 실행할 수 있도록 돕는 역할에 집중

4. 그래서 하고 싶은 말은?

4.1. 실패는 당연하다는걸 우리는 모두 알고 있어요

우리는 너무나 익숙하게 실패를 전제로 일을 하고 있음
예)
TDD
RED (실패하는 테스트 작성)
GREEN (테스트 통과)
REFACTOR
Agile 하게?
Fail Fast

4.2. 누구나 실패하고 누구나 힘들어해요

실패하지 않았다는 말은 시도하지 않았다는 말이죠
실패한 적이 없는 사람은 늘 회피하는 사람일 거에요
그리고 그 실패 앞에서는 누구나 가라앉은 감정에 빠집니다.
그 상태를 받아들이는게 중요해요
오프라 윈프리 “굴속에 빠졌을 땐 잠시 우울해도 괜찮습니다”
실패를 했을 때 우울한 것은 당연하다. 그래야 실패를 직면 할 수 있음

4.3. 스스로 심리적 안정감을 만들어주세요

조직의 심리적 안정감 이야기 많이하잖아요
삶에서 너무나 당연한 실패인데 스스로에게는 참 인색하죠
나 자신에게 실패해도 괜찮다고 당연하다고 해주세요
모든 실패는 나름 의미가 있지만, 모두 극복할 필요는 없어요
나만의 실패를 대하는 루틴도 꼭 만들어 주시고요
위인전에는 없는 페이지
위인전에는 성공 이야기만 가득함
그러나 실제로는 그들은 실패와 실수에 대한 기록을 성공보다 훨씬 많이 함
→ 실패를 했을때 손으로 기록하는 행위가 실패를 반복하지 않게 각인시키는 가장 좋은 수단

5. Reference