개발자는 기록이 답이다

[항해플러스] 오픈소스 프로젝트 1주차에 배운 점 본문

항해플러스

[항해플러스] 오픈소스 프로젝트 1주차에 배운 점

slow-walker 2023. 8. 22. 15:55

1. 오픈소스 프로젝트 1주차에 배운 점, 느낀점

이번 주에는 오픈소스 SW와 SW 라이선스에 대해 학습하고, 직접 오픈소스 SW를 만들거나, 기존에 있는 오픈소스 SW프로젝트를 컨트리뷰트 하기로 결정하는 시간을 가졌습니다

오픈소스에 대해 한번도 생각해 본적도 없고, 어렵게만 느껴졌었는데, 막상 팀이 만들어지고 여러가지 의견을 나누다보니까 그렇게 무서워하지 않아도 될 것 같았습니다.

멘토님께서 말씀해주시길, 오타를 수정하는 것도 오픈소스에 기여하는 컨트리뷰터 역할중에 하나라고 말씀해주셨고, 평소에 개발을 하면서 불편한 점이 있으면 개선하는 방법을 만들어내면 된다고 해주셨습니다.

 

빠르게 배우는 NPM 패키지 생성부터 배포까지 완벽 가이드

예제를 통하여 npm 패키지를 생성하고 생성된 npm 패키지를 NPM Repostory에 배포까지 배움으로 인해 오픈소스로서 NPM 생태계에 기여하는 방법을 배워보자.이번 포스팅에서는 npm 모듈 혹은 npm 패키지

kdydesign.github.io

 

https://velog.io/@wisdom_lee/%ED%81%AC%EB%A1%AC-%ED%99%95%EC%9E%A5-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8Chrome-extension-%EA%B0%9C%EB%B0%9C-%EA%B0%80%EC%9D%B4%EB%93%9C

 

 

위의 npm 패키지 생성하고 배포 가이드를 보고 따라했는데, 생각보다 엄청 간단했고 아무나 라이브러리를 만들 수 있다는게 놀라웠습니다. 이전 프로젝트에서 같이 했던 팀원분은 테스트용으로 간단한 더하기, 빼기 연산해주는 함수를 npm패키지로 배포했는데 벌써 다운로드수가 400회가 넘었다고 합니다. 이런걸 들으면 저도 욕심이 생기고 뭔가 오픈소스 하나 얼른 만들어보고 싶다는 생각이 들었습니다.

https://www.npmjs.com/package/test-package-by-codeing999?activeTab=readme

저희 조에서는 open-AI를 활용해서 더미 데이터를 만들어서 파일로 저장해주는 오픈소스를 활용할 예정입니다.

이 과정에서 chatGpt api를 nest.js로 테스트도 해봤고, 앞으로 CLI는 어떻게 사용하면 좋을지 알아봐야 합니다.

프롬프트 명령어를 어떻게 해야 원하는 대답을 얻을 수 있을까 고민해야하고, 과금 문제가 발생할까 걱정도 되고, CLI니까 리눅스 명령어 쪽으로 좀 더 파봐야 할 것 같습은데, 계속해서 새로운 걸 배워가는게 재미있습니다.

2. 무신사 박미정님의 리뷰문화 특강

박미정 | 링크드인 : https://www.linkedin.com/in/mjpark03/

현) 무신사 백엔드팀 테크리드

전) 우아한 형제들 백엔드 개발자

전) 네이버 본사 시니어

개인적으로 지난 회사에서 느꼈던 점들이 많이 와닿는 게 있어서 유익했던 시간이었습니다. 개발자가 하는 일이란 무엇이고, 구현 단계와 테스트 단계에서의 리뷰의 중요성에 대해 특강해주셨습니다.

개발자는 단순히 코딩만 하는 게 아니라, 회사에서 발생하는 비즈니스적인 문제를 해결하고 비즈니스 가치를 만들어내는 직업이고. 지금은 사임하신 전 배달의 민족 CTO님 이셨던 김범준대표님도 단순히 어떤 목적의식도 없이 주어진 요구사항에 대해 코드를 만들어내고, 멋지게 만들어 내는 것에만 관심이 있는 개발자는 뽑고 싶지 않다고 하신게 되게 마음에 와닿았습니다.

그러기 위해서는 코드 리뷰 뿐만 아니라 비즈니스 전반적인 부분에 대해서도 리뷰 문화를 가지고 있어야 한다.

개발자가 일하는 모든 단계/과정에서 나쁜 냄새는 빨리 발견할 수 록 고생을 덜하게 되고, 각 단계/과정마다 '리뷰'가 필요하다고 해주셨습니다.

본인이 속한 팀, 회사가 지향하는 바를 어떻게든 만들어내는 실력을 갖춘 사람이면서, 본인 뿐만 아니라 팀에게 영향을 주는 사람이 시니어 개발자의 역량이라고 합니다.

이러한 전반적인 내용들로 개발 문화가 잘 되어있는 팀에서 근무하고 싶다라는 생각이 견고해졌습니다. 개발 문화라는 걸 제대로 갖추고 있는 회사는 별로 없다고 하는데, 이직할때 시간낭비를 하지 않기 위해서는 확실한 기준을 갖고 있어야 할 것 같습니다.

3. 강동윤님 QnA세션을 통해 느낀 점

강동윤 | Github ID : kdy1

현) Vercel SWC 프로젝트 개발자

전) Deno 와의 협업

- 항해 플러스 커리큘럼 검수자

오픈소스로 Vercel에 스카우트 된 국내 유일 개발자 강동윤님과 함께하는 오픈소스 QnA시간을 가졌습니다. 오픈소스를 만들면 사람들이 많이 컨트리뷰트 할 줄 알았는데, 처음 시작하고 2년동안은 혼자서 만들었다고 하셨습니다. 확실히 마케팅을 하지 않으면 사람들이 잘 모르기 때문에 오픈 소스로서 매력을 알리기 위해서는 여러 채널에서 홍보를 하는 것도 중요한 것 같습니다.

또한, SWC 프로젝트를 만들때 이름을 swc로 지은 이유 중 하나는 cli에서 사용하기 편리하게 한손으로만 타이핑 하면 끝나는 걸로 이름을 지었다고 하셨습니다. 이름 짓는것도 굉장히 중요하다고 하는데 이런 개발자적인 편리성을 생각하는 것도 획기적인 것 같습니다.

사실 오픈소스 작업 단계가 시작이 되지 않아서 질문할 거리가 별로 없었습니다. 어떤걸 질문해야 할지도 잘 모르겠어서 외국계 기업의 불편한 점을 물어보기도 했는데, 평생 직장으로 생각하실 만큼 불편한 점이 없다고 하십니다. 시차 때문에 새벽 1시에 미팅이 있다는 것 정도? 그런데 그것도 재택이라서 상관없다고 하셨고.. 회사를 다니면서 어떻게 그렇게까지 만족할 수 있지? 라고 생각할 정도로 복지가 좋은건가 부럽다. 나도 언젠가 해외 취업을 해야지라는 생각을 하기도 했습니다.