안녕하세요. 이번에 SK 에서 주최한 Devocean 세미나에 참석한 후기를 간단히 남겨봅니다.
외부 행사 참여를 통해 현재 우리가 잘하는 것은 무엇이고 개선해 볼 수 있는 것은 무엇인지 생각해 볼 수 있는 소중한 시간이었습니다.
참여한 분들 마다 감상이 다르기에 개별로 작성해봤어요. 조금 두서없는 부분이 있더라도 양해 부탁드립니다.
밀리
후기
세미나를 듣고 싶었던 이유는 사내 커뮤니티를 활성화해서 개개인과 회사의 성장에 좋은 방법이 있을까 하는 마음 때문이었습니다.
그렇기 때문에 세미나에서 특히 인상적이었던 부분은 오프닝에 소개된 DevRel 활동의 목적이었는데요. HR 측면의 홍보 효과(개발자 리텐션)와 회사에 커뮤니티를 통한 성장을 증명하기 위해 커뮤니티 행사를 진행한다고 하신 점이 헤렌의 인프콘과 기술 블로그 활동이 떠올라서 흥미로웠던 부분이었습니다.
주요 내용은 커뮤니티를 통해 성장하는 방법을 공유하고 각자 성장하는 과정에서 커뮤니티가 어떤 영향을 줬는지에 대한 내용이었습니다.
사실 회사에서 할 수 있는 성장이란 다양한 측면이 있을 것 같습니다. ‘개발자로 살아남기’라는 책을 보면 개발자가 성장하는 시간을 성장하는 10년, 리딩하는 10년, 서포트하는 10년이라고 구분하고 있습니다. 당연히 초반의 성장하는 10년은 제품에 대한 이해와 개발 기본 지식에 대해 깊게 이해하는 시간일 것이구요.
하지만 세미나에서 말하는 커뮤니티를 활성화해서 얻을 수 있는 성장은 조금은 다른 것 같았습니다. 엔지니어로써의 성장도 있지만 나의 성장이 ‘다른 사람의 성장에 도움이 될 수 있다’라고 보는 측면이 더 컸었던 것 같습니다.
세미나를 듣고 나서 어쩌면 성장이란 정말로 ‘다른 사람에게 도움을 줄 수 있냐 아니냐’를 말하는 것이 아닐까 라는 생각을 하게 되었습니다. 회사 또한 우리 브랜드, 우리 제품을 통해 고객에게 어떠한 가치를 주고 도움이 되는 것이 회사의 성장으로 이어질 것이고, 우리 팀/파트 또한 서로의 동료들에게 도움을 줄 수 있다라는 것이 나의 성장으로 이어질 것이기 때문입니다.
이렇듯 ‘다른 사람의 성장에 도움이 될 수 있다’의 측면에서 우리는 어떤 노력을 할 수 있는지 고민해볼 수 있는 세미나였다고 생각합니다.
추가로 세미나를 듣고 와서 해야겠다고 생각한 두가지 액션이 있습니다.
•
회고 & 글쓰기
저는 한동안 기술 블로그를 작성하다가 블로그 작성을 위해 학습을 하게 되는 것이 아닌가 싶어서 글쓰기를 잠시 멈추고 있었습니다.
하지만 세미나를 듣고 생각보다 많은 개발자 분들이 열정적으로 자신의 경험을 공유하고 커뮤니티를 통해 피드백 받으며 성장하는 모습을 보니 다시 글쓰기를 시작해야겠다는 생각이 들었습니다.
•
공유
세미나에서 한 연사가 자신이 어떤 기술적 개념을 완전히 이해했다는 것을 ‘다른 사람에게 설명할 수 있다’라는 것을 지표로 삼는다는 말을 했습니다.
그 말을 듣고 평소에 저는 다른 사람에게 기술적인 설명을 할 때 나와 이해도가 같지 않는 사람이라도 이해하기 쉬운 언어로 풀어서 설명할 수 있나라는 생각이 들었습니다. 따라서 이를 성장의 지표로 삼아 보자는 생각이 들었습니다.
내용 정리
- DevRel 활동의 목적
1.
sk 사내 기술 외부 공유
2.
HR 측면의 홍보 효과(개발자 리텐션)
3.
회사에 커뮤니티를 통한 성장 증명
4.
커뮤니티를 통한 성장
- 코드 리뷰 문화를 리뷰하다(PR Reminder Bot 개발 이야기) by. 헤렌 프론트엔드 김만수
: 서로의 코드를 살펴봄으로써 한 명에게 맥락이 몰리는 현상 방지
코드 리뷰의 장점
1.
품질 검수
2.
지식 공유
3.
구성원 성장
현재 상태
Husky로 코드 리뷰 자동화 : Test code 실패 여부 검사 & Lint 검사로 코드 컨벤션 유지
문제들
1.
여러 스크럼 팀의 병렬 진행
•
서로 다른 기능을 개발하기 때문에 구성원 간의 이해도가 다른 문제
•
리뷰어가 짧은 시간 안에 assignee의 이해도를 따라가기 어려움
•
특히 방대한 양의 코드는 리뷰 시 문제 발생 가능성이 농후
2.
비동기 커뮤니케이션
•
approve를 받기 위한 시간적 딜레이 발생
•
PR 폭탄에 대한 리뷰를 기다리는 병목 발생
해결 과정
1.
PR Template의 변화 - 아래의 내용을 포함할 수 있도록
•
PR을 통해 해결하려는 문제
•
핵심 변경사항
•
동작, 크로스 체크가 필요한 부분
2.
PR Label 자동 세팅 → Slack 코드 리뷰 채널에 알림 리마인드
•
Selenium WebDriver
•
Octokit.js
•
PyGithub : 차후 유지보수 쉬움
•
PR Reminder Bot 활용
3.
Pn Rule
QnA
- I Love Hands-On과 말로 개발하는 시대 by. Microsoft 파워 플랫폼 MVP 이재석
Power Platform Copilot
프롬프트 흐름, 시맨틱 커널, ChatGPT LANG Chain
업무 자동화
•
대부분의 업무, 고객의 데이터 인입 부터 최종 업무 처리까지 전자동화를 고민하고 있다.
- 머신러닝 작가 성장기 by. scipy 박혜선
커뮤니티에서 배운 것들
GDE 활동을 하며 GDG 커뮤니티가 전국, 전세계에 많은 개발자들이 정보를 공유하고 참석한다는 걸 알게되었음 (Scipy conference 머신러닝, 과학 관련 컨퍼런스)
커뮤니티에 기여하면 내가 커뮤니티를 이끌때 도움이 되기도 했음.
IT 트렌드 (모두의 연구소) → 뉴스레터 꾸준히 구독으로 습득.
- 라이트닝 토크 C++Korea / OPDC
커뮤니티 홍보 (C++ Korea)
커뮤니티 홍보 (OPDC)
- Community-Driven Development (GDG, Flutter) by. 드림어스 컴퍼니 박제창
커뮤니티를 하는 이유
네트워킹, 경험 (특히, Tech Community - 기술 공유, 경험 공유)
기술 발전 속도가 빠르다 → 참여 → 공유/기여 → 성장 (다음의 사이클 반복)
Microsoft 평가 기준
내가 다른 사람의 성장에 어떤 기여를 했는가
•
Apple 생태계도 나도 성장했던 7년간의 기록 by. AsyncSwift/KWDC23 김은영
애플 생태계 커뮤니티 = ios 개발자 커뮤니티는 작다? → 오히려 많다! ios, ipad, mac, watch os app developer
폐쇄적? → 늘어나고 있다! swift opensource, swift forum, wwdc swift student challenge
2018, 2019 - Let’Swift / let us: Go
2022 - 변곡점. Swift Coding Club
2023 - Apple Developer Event, KWDC23
Connecting Dots
•
Let’Swift 2018: 잘 이해한다 = 타인에게 설명할 수 있어야 한다를 깨닫고 기술 블로그, 기술 공유를 활발히 진행하기 시작
•
Swift 애호회 개발합숙: 일본 애플 개발자 합숙
•
포항으로 이주: Apple Developer Academy 근무, 아카데미/커뮤니티로 성장 → AsyncSwift라는 커뮤니티를 만든 계기
•
KWDC23 준비
앞으로의 성장
•
애플 생태계를 성장시키는 모든 직군의 성장 → 더 나은 유저 경험
•
발표, 지식 전달을 통한 성장 → 네트워킹으로 성장하는 걸로 발전
•
다른 생태계, 커뮤니티와 교류하는 기회
- QnA
•
개발자와 커뮤니티를 병행하면서 어려운점
→ 코드, 업무 내역이 외부로 유출되지 않도록, 문서 위주 contribution
→ 문서 번역을 시작으로 커뮤니티 시작
•
사비가 나가는 커뮤니티 → 후원으로 진행?
→ 가급적이면 후원을 받지 않으려고 함. (업체 홍보 줄이기 위해)
•
현생과 커뮤니티 생활의 균형을 어떻게 맞추시는지
→ 기여한다는 마음으로, 업무라고 생각하지 않으려 한다.
→ 주위 사람들과 일을 잘 분배하려고 노력
→ 회사 생활하다보면 루틴한 업무를 하게 되고, 자신이 하고 싶은 기술 스택을 선택해서 할 수 업는 데 이를 채워주는 것이 커뮤니티 활동, 새로운 기술이 나오면 찍먹 해보기 좋은 활동이 커뮤니티 활동이라고 생각한다.
→ 커뮤니티 활동하시는 분들을 보며 동기부여 받아 업무에도 도움이 된다.
→ 커뮤니티를 월급 안주는 직장으로 생각하는데 그래서 더욱 분리가 잘된다. 업무로 정의하면 일을 하고 끝내고 하는데 도움이 되었다.
제스
세션 후기
코드 리뷰 문화를 리뷰하다 (PR Reminder Bot 개발 이야기) by. 헤렌 프론트엔드 김만수
테디님이 평소에 회사에서 다양한 시도를 하는 것을 지켜보았지만 어떤 스토리를 갖고 도전하신지는 처음 알게 되었습니다. 특히 PR Reminder Bot 개발 이야기를 들으며 바로 옆에 있는 프런트엔드 셀의 고군분투 이야기가 흥미로웠습니다. iOS 셀에서도 동일하게 고민하는 부분에 대해서 여러 해결책을 받은 것 같아 적용하면 좋을 듯 합니다.
•
PR 하나 당 200줄 이상 작성하지 않기
•
Reviewer를 배려하여 Reviewee는 상세하게 PR을 기술하기
•
코멘트를 달 때, 이것이 권장사항인지 강력한 제안인지 단계를 나누는 라벨을 말머리에 달아 읽는 이의 수고를 덜기
•
코멘트를 달 때, 비난 대신 대칙과 함께 건설적인 피드백을 남기기
Apple 생태계도 나도 성장했던 7년간의 기록 by. AsyncSwift/KWDC23 김은영
작년 9월 포스텍에서 열린 AsyncSwift의 Organizer이신 김은영님의 세션이었습니다. 다양한 주제의 유익한 세션이 열려서 관심이 있었는데 이번 기회로 어떻게 AsyncSwift와 KWDC 세미나가 열리게 된지 이야기를 들을 수 있어서 의미있었습니다. 은영님은 다른 iOS 개발자들 (저 포함)하여 애플 생태계에 대한 같은 편견을 갖고 있었습니다. ‘애플은 너무 폐쇄적이야’라는 말은 사실 저희 셀에서도 자주 하는 말이기도 합니다. 그러나 요즘 느끼는 애플은 조금씩 변화하고 있는 것입니다. Swift 언어는 오픈소스로 공개되어 있고 많은 contributor들이 발전에 기여하고 있습니다. 또한 모바일 특성 상 Android와 함께 연합하여 다양한 이벤트를 준비하고, 이를 넘어서 다른 Backend, Frontend, Infra 등 다양한 개발 직군과도 세미나를 열기도 합니다.
세미나 후기
이번 세미나를 통해 다른 회사와 개발자들이 개발 커뮤니티와 문화를 어떻게 구축하기 위해 노력하는지 배울 수 있었습니다. 세션 전반적으로 느낀 것은 모두가 이런 개발 문화를 발전시키고 참여하는데 행복함을 느끼고 다른 이들과 가진 지식을 공유하는데 있어 열정적이었습니다. 평일 퇴근 후, 주말 등 가진 시간들을 쪼개어 네트워킹을 하고 때로는 사비를 사용하여 세미나를 여는 등 헌신적이었습니다. 이런 분들 덕분에 여러 개발 커뮤니티가 유지되고 많은 개발자들이 많은 도움을 받는구나 느꼈습니다.
헤렌에서 입사하여 6개월의 시간을 돌아보았습니다. 프로덕트 메이커들이 참여한 ‘프로덕트 자체 세미나’, 헤렌을 홍보할 수 있었던 ‘인프콘’, iOS 구성원들과 함께는 스터디 등 깊이는 다르지만 다양한 형태로 개발 커뮤니티를 만들고 있었습니다. 연사자 중 Community-Driven Develop이란 주제로 얘기하신 박제창님께서 커뮤니티에 대한 생각을 얘기하셨습니다. ‘개발 커뮤니티는 사람이 모여서 함께 기술적 얘기를 하다보면 함께 성장하고 더 잘 개발할 수 있는 선순환에 영향을 끼친다’ 라는 말을 들으며 헤더분들과 기술적 얘기를 하는 모든 순간들이 커뮤니티이고 더 좋은 제품을 만드는데 영향을 줄 수 있지 않을까 생각하였습니다. 앞으로 좋은 기회가 있다면 헤렌 내외에서 커뮤니티 활동에 적극적으로 참여해야겠다고 깨달았습니다.
벤티
세미나 후기
커뮤니티란 여러사람들이 자신만의 관점을 공유하고 함께 성장하는 모습을 발표에서 느낄 수 있었습니다. 또한 커뮤니티를 운영하시면서 발생하시는 문제점들을 공유하시면서 문제를 해결하는 관점도 느낄 수 있었습니다.
네트워킹을 통한 얻는 성장에 대해 저는 기술과 대화하는 방식 이라고 생각합니다.
•
기술
◦
자신이 사용하고 있는 기술에 대한 관점 공유를 통해 여러 의견을 받아 적용해볼 수 있는것이 기술적 성장이라고 생각합니다.
•
대화하는 방식
◦
일반적으로 개발자들중 대부분은 남과 대화하는 기술이 부족하다고 생각합니다.
◦
주로 기술적 문제를 푸는 과정에서 기술적인 문제에 대한 이야기를 합니다.
◦
자신만의 관점, 목표, 방향성을 잘 공유하지 않습니다.
◦
자신만의 이야기 하는것에 자신감을 키워나갈 수 있음을 배웠습니다.
세션 후기
코드 리뷰 문화를 리뷰하다(PR Reminder Bot 개발 이야기) by. 헤렌 프론트엔드 김만수
개발자들은 코드리뷰문화를 통해 서로 성장을 할 수 있는데요 코드리뷰도 시간이 드는 작업이다보니 비용이 듭니다.
그 비용을 개발자적인 관점으로 어떻게 업무 효율화 하는지 볼 수 있었던 발표였습니다.
•
코드리뷰간 발생하는 문제점
◦
스크럼 (기능 단위 그룹)으로 업무가 진행하게 되고, 도메인이 다를경우 서로 다른 스크럼 인원들끼리 도메인 이해도의 문제로인해 코드리뷰의 어려움
◦
PR의 코드 변경사항이 많을 경우(200Line 이상) 자세히 리뷰하기 어려워 LGTM를 외치는 상황
•
어떻게 업무의 불필요한 리소스들을 해결할 수 있을까?
◦
PR 리뷰 템플릿을 활용하여 부족한 도메인에 이해도를 돕는다.
▪
템플릿을 통해 PR 요청시 코드의 생성, 변경점들에 대해 문서화 할 수 있도록 함
◦
PR이 남아있다는 알림을 Slack 봇을 이용하여 전달하여 피드백 전달
◦
제한 기간 github 태그를 통해 지속적으로 PR이 존재한다는 피드백 전달
커뮤니티의 참여자에서 운영진으로 (AWSKRUG, AUSG)
커뮤니티를 위해 참여하다가 함께 성장함을 느껴 적극적으로 활동하여 함께 성장을 하고계시는 모습이 본받을 점이였습니다.
빅챗
•
자신이 원하는 주제로 자유롭게 발표하고, 다양한 조언을 구하고 함께 성장
•
발표를 준비하는 과정에서 더 공부하고, 발표 이후 질문과 피드백을 통해 성장