지속 가능한 개발자란 무엇일까? - 학습 스프린트 회고
읽기 전 중요 사항
적다보니 부스트캠프의 보안과 관련된 이슈가 있을 수 있습니다.
향 후 문제가 될 경우 해당 글이 내려갈 수 있습니다.
부스트캠프 멤버십에 합격하다.
스스로에게 부실하고 아쉬울게 많았던 챌린지
챌린지는 정말로 배울 기회가 많았고, 값진 기회였다. (챌린지 자체가 아쉽단게 절대 아니다.)
사실 한달은 긴 기간이지만, 배우고 실천하기에 있어서는 너무나 짧은 기간이다.
어느 누가 부트캠프를 통해 한달 과정을 통해 모든 걸 마스터할 수 있다고 하겠는가.
그것은 나에게도 마찬가지였다.
솔직히 말해서 모든 주차별로 회고를 썼어야 했는데 다 쓰지 못해서 아쉬움이 많이 남았다. 그만큼 내가 여태 뼈저리게 느끼지 못했던 학구열과 실천을 하지 못했던 게으름에 대한 성장통
이라고 생각한다.
그렇게 아쉬움만 남아, 나에게는 멤버십은 다음 기회라고 생각했었는데.. 정말 고맙게도 합격 소식에 나에게 들려왔다.
사실 지금 돌이켜보면 나에게 너무 과분한 기회가 아닌가.. 싶었다. 평가 기준은 아직도 모른다. 비밀이기도 하고..
솔직히 평가 기준을 알고 이것에만 집중하면서 활동하는 건 정말 의미없다고 생각한다.
챌린지에서는 훌륭하신 분들이 이미 충분히 많으셨고, 그분들 중 멤버십에 떨어지신 분도 많이 보았다. 실제로 그분들 중에는 부스트캠프만큼 값진 경험을 하고 계시는 모습도 깃허브 피드를 통해서 보기도 했다. 이를테면 오픈소스 기여라던지..
결국엔 부스트캠프 그 자체보단, 내가 학습하고자 하는 마음만 있으면 부스트캠프는 상관없다. 부스트캠프는 그걸 도와주는 버팀목일 뿐.. 결국 내가 해야함을 느낀다.
그렇기에 더더욱 나에게 과분한 기회라고 생각했다.
여태 나는 열정적으로 학습
을 하진 못했던 것 같다. 노션을 써보는 것도 처음이고, 모든게 새로운 환경에서 어정쩡하게 4주를 보낸게 아닌가 생각이 들었다.
실무처럼 배우는 학습 스프린트 과정
부스트캠프에서는 매일매일 내가 한 일을 기록을 하면서, 그 날 어떤 일을 했는지 매일 공유 했다.
그 과정에서 내가 혼자 개발하고 있었구나.. 라고 생각이 들었고, 내가 정말로 성장하기 위해서는 어떻게 공부해야할까? 를 매번 나만의 방법을 찾기 위해 고민을 많이 했던 것 같다.
매주 새로운 시도를 해보면서 나만의 방법을 찾아나가려고 노력했다.
가령 계획을 나누어 세우거나, 학습 문서 형식을 변경해보거나, 구현 과정에서 학습과의 비율을 어떻게 정할지,, 같이 활동하는 시간을 어떻게 정할지 등등…
AI 시대에서 개발자로써 성장하기 위한 방법
특히, 요즘에는 ChatGPT
와 함께 협업(혹은 학습)을 할 수 있는 시대인 만큼, 이것들을 적극 사용해보면서, 내가 어떻게 하면 효율적으로 학습할 수 있을지 생각해보았다.
결론부터 말하자면, 나는 AI 를 적극 채용하게 되었다.
간략하게만 알려주자면, 새로운 무언가를 질문을 할 때, ‘지식’ 자체에 집중할 때에는 AI를 적극 활용하게 되었다. 애초부터 내가 무언가를 알아야지 그 무언가를 키워드로 하여 검색을 할 수 있었는데, 그러한 키워드나 지식 자체를 AI 검색을 통해 활용하게 됨으로써, 지식의 범위를 발빠르게 넓힐 수 있었다.
또한, 이 지식을 가지고 활용하는 간단한 예시 정도만을 물어봤고, 일종의 나만의 개인 멘토 느낌으로 사용하게 된 것 같다. 무엇보다 가장 좋았던 점은 글을 쓰는 능력을 많이 기를 수 있었던 것 같다. 요즘 AI가 개떡같이 말해도 찰떡같이 알아들을 수 있기에 좋은 것 같고, 오히려 AI가 오해하는 부분은 내가 전달력이 낮아서 제대로 전달하지 못한 부분임을 알 수 있어서 좋았다. 이를 코드 리뷰에도 활용하고 있다.
그렇게 나만의 학습 방법을 찾아나갈 수 있었던 좋은 기회였고, 지금에 와서는 지속 가능한 개발자의 가치를 어느정도 깨달은 것 같다고 생각이든다.
학습 스프린트 회고
부스트캠프에서는 항상 묻는다. 지속 가능한 개발자란 무엇일까? 하고 말이다.
앞서 말했듯이 나는 이번 학습 스프린트 과정을 거치면서 진정한 학습에 대해서 어느정도 깨달았고, 이에 대해 공유 겸 회고 해보려고 한다.
내가 부족했던 점
평소에 내가 학습을 했던가..?
나는 평소에 학습이 잘 이루어지지 않았다.
챌린지 때는 매일 구현을 하고, 제출을 해야만 살아남을 것이다. 라는 생각에만 집중하여 그냥 꾸미기에 급급했다. 내가 진정으로 어떤 가치를 쫒고 있는지 생각을 안하고 그냥 무작정 달리기만 했다.
그래도 부스트캠프 멤버십에 들어서고 부터는 학습에 조금 집중을 해보려고 했었다.
특히 노션과 옵시디언 사이에서 어떤 걸 선택할 지 고민을 많이 하면서, 정리를 제대로 해보려는 노력을 특히나 많이 했던 것 같다.
위에 보이는 것 처럼 그룹 활동 일지 또한, 다양한 시도와 다양한 생각을 하는 많은 사람들의 의견을 취합하여 저렇게 깔끔하게 정리할 수 있게 되지 않았나 생각한다..
딥다이브?
딥다이브 라는 용어를 처음 알게 되었고, 문제 해결의 과정과 그 고민의 가치에 대해 알게 되었다. 평소에는 코딩에만 매진하고, 검색에만 매진하며 해결에만 급급했던 과거 시절이 떠올라서 많이 부끄러웠다.
부스트캠프를 진행하면서 이런 과정들이 모두 딥다이브 경험이었다는 것을 알게 되었고, 기록으로 남기지 않아서 많이 아쉽다고 생각하게 됐다. 그래서 현재는 하나지만, 앞으로도 다양한 딥다이브에 관한 해결 방안들을 올리려고 한다.
지금 당장에도 이 블로그에 올리는 글들은 내 소중한 딥다이브 경험들을 기록하기 위한 글들이다!
다양한 마스터님들과의 만남
또 한가지로, 마스터님들과 만남을 통해서 많은 시각을 넓힐 수 있었다.
마스터님들이 실제로 실무에서는 어떤 일들이 있는지 친근하게 알려주어서 현업에 대한 공포심과 두려움을 살짝 이겨낼 수 있었던 것 같다.
취업하면 끝이 아니다. 그 이후에도 내가 지속적으로 어떻게 성장할 수 있는지 잘 생각하게 만든 좋은 수업들이라고 생각한다.
예를 들어, 실무에서 생긴 다양한 예시들을 설명해주셨는데, 그 과정에서 내가 많은 생각을 바꿀 수 있게 되었던 것 같다. 일례로 내가 직접 밑바닥 부터 구현해서라도 해결할 수 있어야하는 가치는 나에게 정말 많은 생각을 하게 만들었다.
이런 부분에서 많은 영감을 받았고, 성장의 밑거름이 되었다고 생각한다.
내가 배운 점
코드의 핵심은 일관성과 재사용성
특히, 일관성
이라는 이름으로 코드를 작성하는 것에 많은 인상을 받았다. 항상 내 코드 스타일이 옳고, 다른 사람들의 코드 스타일에 어색함을 느껴서 내 방식대로 맨날 고치는 것에 집중하려고 했었던 것 같다.
어떤 코드이던 자신만의 특색은 있기 마련이고, 결국 일관성
에 집중하면서 코드 리뷰를 하면서 많은 성장을 했던 것 같았다. 일관되지 않은 부분에서 피드백을 주고 의견을 보내보는 것에 집중하게 됐다.
꼭 그렇지 않더라도, 코드를 왜 쓰는지 근거에 관해서 생각을 많이 했던 것 같아서 좋았다.
그리고 마스터클래스 시간에서 많이 느낄 수 있는 것들 중에, 주니어를 포함한 우리가 많이 실수하는 것들은 바로 코드의 반복
들이었다.
항상 코드리뷰를 통해 개선되는 부분을 보면 결국 재사용이 될만한 코드 부분의 개선이었다.
그래서 코드 자체를 잘 짜려면 재사용에 집중해야하는것이 좋을 것이다.
처음 배우는 것의 중요성
이번에 나는 프론트엔드 만 하다가 백엔드를 처음 선택해보았다. 왜냐하면, 백엔드 자체가 서버를 다루는 분야인데, 브라우저에서만 작동하는 프론트엔드와 달리 자유로운 것이 너무 좋았다.
특히, 최근에 마인크래프트
플러그인을 만져보면서 자바에 대해 공부해봤는데, 이런 자바를 사용하는 스프링에 대해서도 궁금했다.
또 서버측 코드인 이상 파일 시스템 접근, 데이터베이스 직접 제어와 같은 부분을 다루기에 엄밀한 방식의 코딩을 백엔드에서 요구를 할 텐데, 그런 부분에 있어서 나에게는 매력적으로 다가왔다.
하지만,, 처음 배울 때에는 어떻게 해야할까..?
에 대한 고민이 많았다.
특히나 나는 백엔드 지식을 처음 배우면서, 짧은 기간 동안 많은 상심과 극복을 경험했다.
데이터베이스를 예를 들 수 있겠다. 데이터베이스에서 예를 들면 정규화, 반정규화 같은 개념이 한번에 이해가 되지 않았다. 일단은 하나만 생각해보자
라는 식으로 생각을 하여 하나만 해보았다.
그러다 보니 주어진 미션들도 모두 하지 못하고, 코드의 완성도도 많이 높이진 못했다. 하지만 선택과 집중을 통해 배울 것들을 정리할 수 있었고, 앞으로의 개발에서도 새롭게 배우는 두려움
에 대해 어떻게 대처할지도 생각하게 되었다.
러닝 커브로 인해서 모든 걸 하진 못했지만, 앞으로는 어떻게 할지는 완벽히 잡은 느낌이었다.
자신감을 가지자.
이는 내 인생에서도 적용 되었고, 근거없는 자신감
을 바탕으로 일단 저질러보자
라는 마인드를 배우게 됐던 것 같다.
나는 사실 좋지 않은 학창시절로 인해 자존감이 많이 떨어져있었고, 나를 무시할 것 같은 사람들에 대한 경계심 그리고 사소한 것에 의미를 부여하는 자격 지심이 많은 사람이었다.
부스트캠프를 통해 좋은 분들을 많이 만나면서 자존감이 많이 회복된 느낌이었다. 일단 내가 잘하던 못하던 자신감을 가지는게 정말 좋다고 생각한다. 내가 실력이 없어도 자신감이 있으면 열정적이게 보일 것이고, 실력이 있으면 멋있게 보일 것이다.
마치 사람을 두려워하지 않고 호기심에 접근해보는 멍청하지만 당당한 펭귄처럼.. 내 인생의 모토를 새롭게 새운 것 같아서 많이 인상이 남는다.
처음으로 해본 다양한 코드리뷰 경험들
나는 멤버십을 하면서 개인적으로 매주마다 만나는 새로운 사람들의 코드를 직접 해주었다.
특히 위에서 언급했던 코드의 일관성을 위주로 리뷰해주었던 것 같다. 변수명이 통일되지 않은 부분이라던지, 특히 잘한 부분의 경우 칭찬을 많이 해줬다.
이렇게 사소한 부분도 모두 짚어주거나 칭찬해주면서 함께 자라는 역량을 기를 수 있었던 것 같다!
7-8주차 에서 해본 코드 리뷰 경험들
그 중에서 특히 7-8주차 기간에 많은 분들과 만나 월요일
, 수요일
마다 코드 리뷰를 진행하면서, 많은 안목을 기를 수 있었던 것 같다.
코드 리뷰를 하면서, 그 다음날 해당 리뷰에 대한 피드백과 답변을 서로 알려줌으로써 정말 알차게 보낼 수 있었던 것 같았다.
그 예시로 세션
을 들 수 있을 것 같다. 내가 일전에 세션과 관련된 부분에서 setTimeout
을 설정하여 세션이 해제되도록 만들었는데, 정말 별 생각 없이 만들었던 것 같다.
다른 분 께서 나에게 생각을 할 만한
느낌으로 질문을 던져줌으로써 다시 생각할 수 있게 되었고, 결국 세션 방식에서 이런 방식이 성능 저하를 유발할 수 있음을 깨달았다.
코드 리뷰 문화가 활발하지 않았다면 지금도 같은 방식으로 코드를 짜고 있었을 것을 생각하면 아찔하다…!
다음에도 다른 사람들과 같이 자랄 때에는
이런 방식으로 서로가 적극적으로 리뷰해가는 방식으로 공부해도 괜찮을 것 같다는 생각이 들었다.
문서화의 중요성
역으로 나는 멘토님으로부터 코드 리뷰를 받는데 나는 내가 한가지 느낀 점이 있었다. 내가 의외로 개발을 하는데에는 문제 없지만, 그 외적인 부분에서 협업 경험이 부족함을 깨달았다.
나름대로 커밋 컨벤션도 맞춰가며 열심히 했지만, 결국 누군가에게 내가 이런 작업을 했어요
라고 말하는 실력이 부족함을 깨달았다.
의미 단위로 커밋하는 것이 정말 중요함을 깨달았고, 커밋의 무결성에 대해 많이 고민해봤던 것 같다.
내가 정의하는 커밋의 무결성이란, 이 커밋이 설명하는 것과 실제 커밋 내용 사이에서의 일치하는 부분이 얼마나 되는지를 의미한다고 보면 된다.
소중하고 뜻 깊은 만남들
다양한 활동들을 진행하며 많은 격려를 얻었다고 위에서 언급했다.
많은 코드리뷰를 해주면서 나에게 많은 관심과 응원을 해주었던 따뜻한 한마디들이 나의 자존감을 채워주는데 큰 역할을 했다고 생각하고, 내가 앞으로도 성공하게 된다면 이런 공로를 같이 부스트캠프를 수료할 동기들에게 돌리고 싶다.
개발자로써, 아니 사회인으로써 처음 출발지점이 된게 부스트캠프가 아닐까 생각한다.
가장 먼저 생각나는 분들은 1-2 주차 분들이다.
여태까지 나보고 긍정적이다고 말해주는 분들이 없었다. 1-2주차 그룹원 분들을 만나면서 여느때보다 정말로 진짜 재밌게 진행할 수 있었던 것 같고, 그 덕분에 학습 스프린트 과정에서 우울함 없이 즐겁게 소화할 수 있는 배경이 되었던 것 같다.
그 이후로 ‘긍정적’ 이라는 피드백을 한번도 안받은 적이 없었다! 앞으로 이런 긍정적인 마인드를 끝까지 가져갈 수 있다면 정말 좋겠다고 생각이 들었다!
그리고 7-8 주차에 참여를 많이 못했었다. (화요일 허리 이슈로 인해 운동을 가야했다.) 그 과정에서 괜찮다고 응원해주며, 내 코드를 보고 좋은 점을 칭찬해주시는 동료 캠퍼분들 덕분에 힘이 많이 되었던 것 같다.
무엇보다, 코드 리뷰 때 나름 신경을 많이 써준 점에서 고마움을 느낀다!
지속 가능한 개발자란 무엇일까
흥미를 가지자.
이 말을 가장 먼저 쓰고 싶다. 매주마다 개인 회고를 진행해보면서 다음주의 나에게 하고 싶은 말들을 요약하여 키워드들을 나열해보았다.
- 성장
- 기술적 근거
- 왜?
- 재미
- 정리하기
그리고.. 하면 된다.
였다.
흥미를 가지는 개발자가 지속 가능한 개발자라고 생각한다.
결국 모든게 흥미가 있어야만 배우는 것과 일하는 것을 멈추지 않는다고 깨닫게 되었다. 어렸을 때의 생각이 나게 만드는 아주 중요한 사실이라고 생각한다.
어렸을 때부터 게임하는 걸 좋아했는데, 아픈데도 불구하고 게임하던 어린 시절이 생각났다.
역시 내 마음대로 내 소신대로 사는게 재밌고, 그게 인생의 가치 같다. 😁
함께 자라는 개발을 잘하자
가장 중요한건, 결국엔 개발만 잘하는 것 이 아닌, 개발도 잘해야한다는 것이다.
우리는 함께 자랄 수 있어야 지속 가능한 개발자가 될 수 있을 것이다.
개발에 대한 열정이 떨어질 때, 주변에서 많은 격려를 받아 내가 다시 일어서서 나만의 개발자로써의 가치를 확립했던 것처럼, 함께 자랄 수 있어야 개발도 잘할 수 있을 것이다.
다시 이야기하게 된다면 ‘함께자라는 개발을 잘하자’가 지속 간으한 개발자가 되기 위한 두번째 가치가 아닐까.. 스스로 회고 해본다.
지속 가능한 개발자가 되기 위한 여정
그래서 앞으로 다시 긴 모험을 떠나보려고 한다. 그룹 프로젝트
로의 여정을 말이다.
부스트캠프 자문위원님께서 말씀해주셨다.
우리는 모두 긴 여행의 출발점에 서 있다.
사실 이번에 개인 회고 하면서 많은 시도를 해보려고 한다. 나는 평소에 소위 말하는 극 I
라고 할 수 있겠다.
그래서 이번 인터미션 기간 동안 울산
에서 조금(멀리 ㅠㅠ) 떨어진 부산에서의 모각코도 적극 참여중이고, 새로운 만남을 아끼지 않고 적극적으로 만나볼 예정이다! 함께 자라는 것 말이다 😄
모각코를 진행하며 성향이 같은 분들과 기술적인 이야기를 나누는 건 정말이지 즐거운 일이라고 할 수 있다.
이렇게 흥미도 잃지 않으며 함께 자라는 사람이 되기 위해 나는 앞으로 긴 여정을 떠나보려고 하는 것이다.
부산 모각코 모임
자세한건 나중에 써보겠다!
그룹 프로젝트 때 우여곡절이 많겠지만, 내 모든걸 쏟고 싶다는 생각이 들었고, 앞으로 실수도 하고 많이 엎어질 거고.. 면접 때 많이 깨져보겠지만, 화이팅 하려고 한다.
그야 재밌으니까~