평소 학습할 때 애용하는 플랫폼 중 하나인 패스트 캠퍼스에서 진행한 일할맛 세미나에 참석하였다.
언제나 그렇지만 내성적인 E(?) 로써 이런 오프라인 행사는 또 다른 도전 같은 느낌이다. 그래도 늘 마무리는 기회가 된다면 꾸준히 참석해야겠다는 생각!
개발자 일맛 나는 프로젝트
라는 타이틀인 만큼 세션들도 개발자로서 일 하기 좋은 환경과 관련된 주제로 발표가 진행됐다.
강대명 님은 개발자 원칙
도서와 2023 안드로이드 올해의 앱인 퍼핀을 운영하는 레몬트리 CTO 님으로,
김은호 님은 유쾌한 스프링 방
이라는 오픈카톡방과 패스트 캠퍼스 10개 스프링 프로젝트 강의를 통해 알게 되어 꾸준히 팔로우하고 있는 개발자 분들이었다.
좋은 개발자가 되는 법 - 강대명 님
강대명 님은 좋은 개발자란? 의 질문에
함께 일하고 싶은 개발자(계속 성장하는 개발자) 인 것 같다 말씀하셨다.
기술적으로 계속 성장해 함께 일하고 싶은 개발자의 덕목? 처럼 개발자가 가져야 하는 마음가짐에 대해 알려주셨다.
개인적으론 매우 공감가는 내용이었다.
아래는 강연 내용을 간략하게 요약하였다.
문제에 대한 접근
문제를 해결하려면 문제 정의를 먼저 해야 한다.
문제점을 잘 도출해 낸다. → 장애의 원인들을 잘 찾아낸다.
실력의 지표
- 전 직장에서 어떤 일을 했는지
- 사내에서 일을 잘한다고 평가받음
회사를 다닐 때 실력 늘리기 좋은 방법
- 코드 저장소에 올라오는 코드를 읽는다.
- 어떤 문제를 해결하기 위해서인지? 어떤 요구사항을 만족해야 하는지? 왜 이 해결책을 선택했는지?
- 더 좋은 해결책이 있는지 확인한다.
- 1 ~ 3 반복
실력을 키우기 위한 방법
기본적으로 좋은 글쓰기 원칙인 다독, 다작, 다상량 방법을 개발 공부에 적용시키는 것이 도움이 됨
다독
- 어떤 코드를 읽을 것인가?
- 내가 지금 관심 있는 기술의 코드
- 회사 코드
- (회사 코드가 좋아 보이지 않으면, ) 좋은 오픈소스 찾아보기 (Linux Kernel, Kafka, Spark, Rust, Go)
- 기본 지식이 필요
- 내가 많이 읽거나 써야 하는 코드
다작
- 읽기로 한 코드를 많이 작성해봐야 함
- 백문이 불여일타
- 오픈소스에 기여
- 회사에 필요한 코드
다상량
- 어떻게 하면 더 성능이 개선될까
- 어떻게 하면 더 확장성을 가질까
효율적인 성장
새로운 도메인 공부 할 땐 - 익숙한 언어
새로운 언어 공부 할 땐 - 익숙한 도메인
새로운 환경에 도전해야 한다면 익숙한 도구를 이용하는 것이 시간을 단축시키고 효율적으로 빠르게 습득함
한정된 시간에서 계속 성장해야 하고 효율적인 성장 방법을 찾아야 한다
소프트 스킬
경험 상 4-3-1-2 순으로 같이 일하기 좋은 개발자
1번 보다 3번이 더 좋은 이유는 진행상황을 계속 공유하며 문제점을 알림
김은호 님의 깃헙 강의는 라이브 코딩 위주였고 사용법 위주의 강연이라 정리보단 깃헙 사용으로 얻을 수 있는 효과에 집중하고자 했다.
사전 과제 코드 리뷰
이번 일할맛 2기 에서 신청자 발표와 함께 사전 과제를 내주었다.
과제 주제는 페이와 관련된 가상 결제 도메인이었다.
제출해 준 인원 중 2명을 뽑아 현장에서 코드 리뷰를 진행해 주신다 하셨는데, 너무 감사하게도 강대명 님 께서 내 사전 과제(Github Repo.)를 선정해 코드 리뷰를 진행해 주셨다.
핑계지만 나는 제출 마감일 당일에 메일을 받아 과제를 진행한 탓에 다방면으로 고려하지 못한 채 급하게 제출했다.
쫓기며 개발을 해도 꼭 완성해야겠다고 생각한 요소는
- 멱등성을 고려해 개발할 것
- 테스트 코드는 빠짐없이 작성할 것
이 두 가지였다.
개인적으로 이 조건은 만족했다 생각했지만 역시 경험이 부족한 탓에 리뷰에서 보완할 점으로 데이터 정합성 문제가 지적되었다.
전혀 고려하지 못한 방향으로의 정합성 문제였고, 멱등성 또한 레디스 락 문제가 발생할 가능성이 존재한다는 것을 리뷰를 통해 알 수 있었다.
이 외에도 멱등키 나 테이블 설계 등에서 좋은 평가도 있었고 도메인 관점에서 보완할 점 등 코드 리뷰로 고려할 시야를 넓힐 수 있었다.