티스토리 뷰
오늘 TIL 3줄 요약
- 사용자처럼 생각하기 위해 사용자와 함께 일하라.
- 행운은 준비된 사람에게 찾아온다.
- 사용자는 여러분 팀의 일원이다.
TIL (Today I Learned)
2022.04.03
오늘 읽은 범위
8장. 프로젝트 전에 p349-p376
책에서 기억하고 싶은 내용을 써보세요.
요구 사항의 구렁텅이
- 자신이 뭘 원하는지
정확히 아는
사람은 아무도 없다. - 진짜 세상은
엉망
이고갈등
이 넘쳐나며알 수 없는
점도 많다. - 프로그래머는 사람들이 자신이
원하는
바를 깨닫도록 돕는다. - 신입 개발자들이
자주 범하는 실수
는 이런 요청 사항을 받았을 때바로 해결책을 구현해 버리는 것
이다. - 요구 사항은
피드백을 반복하며
알게 된다. - 실용주의 프로그래머는
프로젝트 전체를 요구 사항 수집 과정
으로 보아야 한다. - 사용자처럼 생각하기 위해 사용자와
함께
일하라. 정책은 메타데이터
다.
=> 내가 맡은 도메인의 기능 개선을 위한 새로운 기획이 나오고, 회의가 잡힌다. 기획을 살펴보니 사용자에게 더 편리한 기획임은 틀림없다. 예전에는 전달 받은 내용을 어떻게 구현해야 할지에 대한 고민하는데 회의 시간을 거의 다 보냈다. 이 부분이 바로 위에서 설명하는 신입 개발자들이 자주 범하는 실수다. 이런식의 개발은 누구나 할 수 있다고 생각한다. 진짜 소프트웨어 엔지니어가 되기 위해서는(못 한다고 가짜 소프트웨어 엔지니어는 아니다.) 새로운 요구사항을 받으면 시스템적으로 문제는 없는지, 기능을 구현했을 때 현 회사의 정책과 충돌은 없는지 충분히 머리를 맞대고 고민을 한 뒤에, 수정 작업을 거쳐 완성된 기획을 가지고 구현에 대한 고민을 해야 한다고 생각한다. 물론 나도 아직은 구현에 대한 고민이 항상 더 먼저 앞선다. 이런 행동을 고치기 위해 의도적으로 노력해야겠다.
불가능한 퍼즐 풀기
- 생각의 틀을
벗어나지 말고
, 틀을찾아라
. - 풀리지 않는 문제와 마주쳤다면 생각해 볼 수 있는
모든 해결 경로 후보
를 눈 앞에 나열해 보라. - 제약을 범주별로 나누고
우선순위
를 매겨라 - 잠시
딴 짓을 하기 딱 좋은 시간
이다.잠깐
다른 일을 하라. - 행운은
준비된 사람
에게 찾아온다.
=> 기능을 구현하다보면 정말 어떻게 해야 할지 모를 정도로 막히는 때가 온다. 늦게까지 이 문제를 해결하기 위해 컴퓨터 앞에서 머리 싸매고 고민해도 답은 나오지 않는다.. 에라 모르겠다하며 퇴근하고 집으로 향하는 지하철 안이나, 집에 도착해서 샤워를 하다가 문득 "어? 잠깐만! 이런 방식으로 접근하면 될 거 같은데?" 하며 해결방안이 떠오를 때가 있다. 풀리지 않는 문제를 오래 고민하지 말자. 시간 아깝다. 해결책은 정말 어느 순간에 찾아온다. 물론 해결책을 얻기 위해 내 지식은 항상 준비 되어 있어야 한다.
함께 일하기
사용자는
여러분팀의 일원
이다.실제로 코딩을 하는 와중에
질문을 하고 토론을 하는 것이다.- 우리 인간의
뇌 용량은 제한적
이라는 점을 잊지 말라. - 다른 사람의
관점을 듣고 이해하려고
노력하라.다른 것은 틀린 것이 아니다
. - 코드에
혼자
들어가지 말라.
=> 개발 완료된 코드를 하루 지나고 다시 본 적이 있다. 내가 그땐 왜 그렇게 코드를 짰을까 생각하게 만드는 코드가 눈에 보였다. 코딩하는 순간에는 코딩에만 집중해서 다른 부분을 놓치기 십상이다. 누가 볼새라 황급히 코드를 수정하였다. 좀 더 나은 방향의 코드를 작성하는 방법으로는 동료와 함께 짝이 되어 프로그래밍하는 방법이 있다고 한다. 솔직히 지금의 내 개발환경에서는 불가능한 일이라고 자신있게 말할 수 있다. 지금은 최대한 혼자 작성하고 돌이켜보고, 개발자들과 개발적인 이야기 뿐만 아니라 그 외적으로도 편하게 많은 대화를 나눌 수 있는 환경의 회사로 이직할 준비를 해야 겠다.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
기획자로부터 추가 또는 개선될 기능이 도착하고, 그 기능이 올바른지(정책이나 다른 기능과의 충돌은 없는가) 파악된 후에야 구현할 준비를 해야 하지만, 어떻게 구현해야 할지에 대한 고민으로 회의 시간을 보내왔다. "빨리 기능이나 만들어야지"하며 매 순간에 임해왔다. 이런 행동은 나에게도, 팀에게도 좋지 않은 영향을 끼치는 것은 자명한 사실이다. 함께 일하며, 사용자에게 더 나은 서비스를 제공하려면 의도적으로 내가 바뀌어야겠다고 생각한다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
애자일은 많이 들어 보았지만, 여전히 낯설기만하다. 애자일에 대해 조금 더 찾아보아야 겠다.
'Book > 실용주의 프로그래머' 카테고리의 다른 글
[TIL 9] 실용주의 프로그래머 #9. 실용주의 프로젝트 (0) | 2022.04.05 |
---|---|
Mission: 진짜 요구사항 (0) | 2022.04.04 |
[TIL 7] 실용주의 프로그래머 #7. 코딩하는 동안 (0) | 2022.04.02 |
[TIL 6] 실용주의 프로그래머 #6. 동시성 (0) | 2022.03.29 |
Mission: 연습문제 풀이! (0) | 2022.03.27 |
- Total
- Today
- Yesterday
- 노마드
- 인프런
- Real MySQL
- kotlin
- 코테
- 스프링부트
- 리팩토링
- 코틀린
- 구현
- 문자열
- webflux
- 파이썬
- 노마드코더
- MySQL
- 정렬
- mysql 8.0
- 릿코드
- 데이터베이스
- 스프링 부트
- 백준
- 스프링
- spring boot
- leetcode
- 알고리즘
- Spring
- 김영한
- 그리디
- 자료구조
- 북클럽
- Algorithm
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |