지난 7월 Google I/O Extended Seoul 2023에 다녀왔다. 친구가 알려줘서 알게 된 건데 좋은 기회인 것 같아서 다녀왔다🤗 아직 지식이 부족해서 이해하지 못하는 내용도 있었지만... "세상의 모든 데이터베이스 이야기"와 "일 잘하는 개발자는 회사에서 어떻게 일할까?" 세션은 나름 재미 있게 듣고 온 것 같다. 플러터 관련 세션도 몇 개 들었는데 아직 플러터 관련 지식이 부족해서 내용을 따라가느라 사진을 남기지 못 해서 아쉽다... 이 글에서는 간단한 후기와 "일 잘하는 개발자는 회사에서 어떻게 일할까?" 세션에 대한 내용을 정리해 보려고 한다.
I/O Extended 기념품
티셔츠랑 그물 가방, 스티커를 받았다. 사실 티셔츠랑 스티커에 별 관심이 없어서 그물 가방이 제일 맘에 드는데 여름 가기 전에 메 볼 수 있을까...ㅎ_ㅎ
부스 상품들👀
부스 상품들은 대부분 책이었다. 데보션 부스에서 금붕어 건지기 해서 소프트웨어 장인 정신 이야기 받고, 스피드코더 부스에서 장고 파이썬 책을 받았다. 이전 회사에서 백엔드 프레임워크로 장고를 사용했어서 흥미가 생겼었는데 책을 받게 되어서 좋았다 ㅎㅎ 버전 업그레이드 되기 전에 빨리 공부해야지...
📌 일 잘하는 개발자는 회사에서 어떻게 일할까?
행사 세션 중에서 가장 흥미로웠던 세션이었다. 특히 인턴을 하고 있을 때 들었던 세션이라 더 와닿았던 것 같다. 아래로는 기억나는 내용 위주로 정리해 보겠다 😃
1. 암묵지 없애기
- 회사에 처음 들어온 사람들은 서비스 도메인에 대한 지식이 없고, 이미 회사를 다니고 있는 사람들끼리도 본인이 생각하는 서비스 도메인에 대한 개념이 서로 다른 경우가 많다.
-> 이러한 암묵지들을 잘 정리해서 문서화
하자!
- 모두가 고민했지만 누구도 명확하게 정하지 않았던 것들에 대해 정하자.
✨ 나도 인턴으로 처음 입사했을 때 서비스 도메인 지식이 없어서 초반에 업무하는 데 약간의 난항을 겪었다. 회사 노션에 잘 정리되어 있는 경우도 있었지만, 정리되지 않은 개념에 대해서는 일일이 물어보는 수밖에 없어서 조금 힘들었던 것 같다... 하지만 익숙해지고 나서는 쉽게 업무를 볼 수 있었고, 그렇기 때문에 이걸 정리해 놔야겠다는 생각을 하지 못했던 것 같다.(난 이미 알게 되었으니까...) 그렇지만 여기서 정리해 놓지 않으면 새로운 입사자는 또 나 같은 어려움을 겪게 될 것이기 때문에 효율을 위해서라도 입사 초에만 느낄 수 있는 이런 개념들을 잘 기억했다가 정리해 두는 게 회사를 위해서도 좋을 것 같다.
강의자님께서는 회사 내에서 정해져 있지 않았던 이런 가이드나 규칙에 대한 것들을 정하는 노력을 하셨다고 한다.
2. 기술로만 해결하려고 하지 않는다.
- 고객들의 문제를 해결하고자 할 때, 기술적인 해결 방법만 생각하지 않는다.
- 꼭 어려운 개발이 아니더라도 간단한 아이디어를 떠올린다.
3. '안 된다'고 하지 않는다.
- 정확히는 '안 된다'라고만 말하지 말고, 왜 안 되는지와 함께 그 외에 선택할 수 있는 여러 대안을 제시한다.
- 각 대안들에 대한 장점과 단점을 명확히 정리해서 공유한다.
4. 최적의 피쳐 개발 방향을 찾는다.
- 기획자가 기획한 해결 방법보다 더 좋은 기술적인 방식이 있다면 주저없이 제안한다!
- 기획한 개발 방향보다 더 효율적인 방향이 있다면 제안한다.
- 완성도가 5% 정도 떨어지지만, 개발 시간을 80% 단축할 수 있는 방법
- 내가 좋아하는 개발 방식이 있어도, 고객의 문제를 해결하는 데 더 좋은 구현을 고민한다.
5. 모든 것을 기록한다.
- "기록은 기억을 지배한다"
- "적자생존" : 적는 자가 생존한다 (ㅋㅋ)
- 말로 논의한 내용들도 모두 기록한다.
- 누군가가 왜 그렇게 했는지 참고가 필요할 때 전달
✨ 나도 다른 사람이 내 코드가 이해가 가지 않을까 봐 왜 이렇게 구현했는지를 문서로 남긴 적이 있는데 비슷한 맥락인 것 같다. 강사님이 기록에 대해 계속 강조하시기도 했고 나도 짧은 회사 생활에서 몸소 느낀 바, 문서화가 정말 중요하긴 한 것 같다...
- 개인 DM을 보내지 않고, 공개된 채널을 이용한다.
6. 하라는대로 하지 않는다.
- '꼭 이렇게 해야 하나?'란 생각을 가진다.
- 관성적으로 개발해 온 업무 방식이나 코드들을 더 좋은 방식으로 개선한다.
7. 일정 공유
- 예측 가능하게 만들기
- 지금 하고 있는 작업이 언제쯤 끝날 것 같은지 공유한다.
- 긴 일정의 작업이라면 중간 공유를 통해 진행상황을 공유한다.
✨ 그런데 이건 개발을 많이 해 보면서... 경험이 많이 쌓여야 하는 것도 중요한 것 같다. 왜냐면 난 아직 기능을 개발할 때 정확히 시간이 얼마나 걸릴지 가늠하기가 쉽지 않았다. 회사에서 일정을 공유할 때 정확하게 일정에 맞춰 개발한 적도 있었지만, 늦거나 빠르게 개발한 적이 많았다. 기능 개발에 얼마 정도의 시간이 걸릴지 산정하는 일에는 당연하겠지만 경험이 많이 필요하다는 것을 새삼스럽게 깨닫게 되었다.
8. 혼자서 다 하려고 하지 않기
- 혼자서 다 하려고 하지 않는다... (ㅋㅋㅋㅋ)
✨ 인턴할 때도 PM님한테 자주 들었던 말인데 내 성격상 참... 그러기가... 쉽지 않은듯...
9. 인정할 줄 안다.
- 문제를 널리 알린다.
- 배포가 잘못된 것을 알게 된 순간 즉각적으로 알린다.
- 문제의 '현상'과 '원인', '해결방법'을 관련된 사람들에게 모두 공유한다.
10. 명확한 단어와 문장 사용
-
요청을 하거나 질문을 할 때, '배경'을 함께 이야기한다.
- '왜' 이 요청을 하는지, 물어보는지를 알면 더 명확히 이해하고 답변할 수 있다.
- 좋은 질문에 좋은 답변이 나온다!
✨ 나도 항상 느끼는 게 질문할 때 "정확히 알고 싶은게 무엇인지"를 확실히 이야기하는 게 좋은 것 같다. 나 같은 경우에는 학부 생활에서 교수님께 질문을 많이 했던 게 도움이 되었던 것 같다. 메일로도 해 보고 말로도 해 보고 그런 게 좋은 연습이 되었던 것 같다.
-
듣는 사람이 이해하기 편한 단어와 문장을 사용한다.
- 서버 개발자에게는 서버개발 용어로, 디자이너에게는 디자이너 용어로
-
영어 단어를 섞어 쓴다.
- 오해를 일으킬 만한 단어·문장일 경우, 의도에 맞게 명확한 영단어를 섞어 쓴다.
11. TODO / Reminder
- 한 일과 해야 할 일을 항상 정리한다.
- 개인 Snippet, 팀 Snippet
- 내가 어떤 것을 했고, 뭘 해야 하는지를 명확하게 파악 가능
- 지금 당장 그 일을 할 수 없는 상황이라면, 리마인더를 등록해 둔다.
- 문제 상황을 지금 당장 해결하지는 않겠지만, 언젠가 하기로 했을 때
- 좋은 아이디어나 방법이 생각났는데 까먹기 전에
12. 알아서 잘한다.
- A를 시키면 그에 반대되는 else 케이스에 대한 처리를 알아서 한다.
✨ 코드에서의 예외처리를 업무에서 하는 느낌...
- 기획이나 해당 업무의 의도를 충분히 이해하고 있다면 가능
- 기획 내용에는 없었지만 간단한 사항이라면, 일단 본인 생각대로 구현해 두고 나중에 확인 받는다.
- 의외로 생각치 못한 부분을 채워줘서 기획자나 팀장님이 좋아함
- 내가 만들어 둔 거 기반에서 디테일하게 정해지는 경우가 많음
✨ 나도 일할 때 UX 라이팅이 빠져 있어서 혼자 적당히 구현한 다음 컨펌 받거나, 기획 내용에는 나와 있지 않은 고려 사항을 제안한 적이 있었는데, PM님이 생각지도 못한 부분이라고 말씀해주셔서 혼자 뿌듯했던 기억이 있다 ㅎㅎ... 역시 프로덕트는 다같이 만들어가는 게 맞는 것 같다.
13. 귀찮아 한다.
- 귀찮은 개발자가 자동화를 만든다.
- 자동화를 통해 Human resource를 최대한 아끼고, 더 유용한 곳에 시간과 리소스를 투자한다.
- 3명이 하던 일 -> 자동화 -> 3명이 받던 월급 아낌 -> 3명이 받던 월급 받음...? ㅎㅎ
14. 회고
- 잘한 것과 못한 것을 명확하게 인지하고, 무엇을 해야 할지를 고민한다.
- KPT 회고!
- 내가 평가하는 나와 남이 평가하는 나를 받아들일 줄 안다.
- 남을 깎아내리기 위한 피드백이 아닌, '더 발전하기 위한 피드백'을 전달한다.
- 팀 회고, 피쳐 회고, 전체 회고
✨ 내 피드백이 남에게 기분 나쁘게 전달되지 않았으면 한다면... 나부터 다른 사람의 피드백에 기분 상하지 않고 겸허히 받아들이는 태도가 필요한 것 같다.
-
회고는 마치 오답노트와 같다.
✨ 예전에 드림코딩 엘리님이 주니어 시절 때부터 자신이 했던 모든 실수를 기록하고 회고하는 문서를 작성하신 것을 본 적이 있는데, 이 정도는 해야 그만큼 발전하는구나...를 느꼈다.
-
회고하면, 내가 담당한 업무에 어떤 부분이 부족했는지 되돌아 볼 수 있다.
-
회고하면, 내가 다음에 어떤 시도를 할 수 있는지 파악할 수 있다.
✨ 내가 지금 벨로그에 작성하고 있는 월 단위 회고록은 부족한 점이 많았는지도 모르겠다... 앞으로 더 열심히 작성해야지...
얼른 마무리짓고 인프콘 후기도 쓰러 가야겠다. 아자~