Today I../Today I Read

[소프트웨어 장인] 나의 커리어와 프로페셔널로서의 미래는 누구의 책임인가?

HJChung 2021. 11. 6. 16:12
소프트웨어 장인 - 산드로 만쿠소 저 의 '4장. 소프트웨어 장인의 태도'를 읽고 정리함과 동시에, 나는 책에서 소개하고 있는 것들을 어떤 방식으로 하고 있는지, 깨달은 바는 무엇인지를 중간중간 적어보았다. 

 

나의 커리어와 프로페셔널로서의 미래는 누구의 책임인가?

 

SW 프로페셔널로 대우 받기를 원한다면 프로처럼 행동해야 한다. 

그러기 위해서는 언제/무엇을/어떻게 배울 것인지 스스로 결정하고,

스스로의 발전에 돈과 시간을 투자해야 한다. 

 

1. 내 커리어 주도적으로 이끌기

독서

  • 특정 기술에 대한 서적: 현재의 업무에서 다음에 하고 싶은 업무로 옮겨가기 위해 필요한 특정 기술에 대해서 상세하게 또는 이용 방법을 급하게 알아야 할 때 필요하다. 그러나 배운 가치가 상당히 빨리 떨어진다. 새 버전의 기술이 릴리즈 되거나 다른 기술이 인기 있으면 이전만큼 쓸모없기 때문이다. 

 

  • 특정 개념에 대한 서적: 기초를 쌓을 수 있는 책. 당장 활용하기 어렵고 제대로 이해하고 습득하는데도 시간이 오래 걸리지만 알아두면 새 기술을 배울 때 학습 시간을 단축시킨다.

 

  • 행동양식에 대한 서적: 효율적으로 팀에서 일할 수 있게 안내하거나, 일반적인 상황에서 더 나은 프로페셔널이 될 수 있도록 조언하는 책. 
    • 소프트 스킬이 개발 실력과 거의 비슷하게 중요하구나 라는 것을 입사하고 배웠다. 애자일 방법론에 대한 책을 제대로 읽고 싶다.

 

  • 혁명적 서전(또는 고전): 일 하는 방식이나 개인의 가치관을 바꾸는 책

 

블로그

  • 경험과 발견을 공유함으로써 훌륭한 프로페셔널 커뮤니티를 이루는데 도움이 되어야 한다. 

 

기술 웹사이트

 

끊임없는 훈련

  • 문제를 '어떻게' 해결할 것인지에 대한 끊임없는 훈련
    • 이를 통해 편안해지고 주의 집중과 의식적인 노력 없이도 자연스럽게 할 수 있게 되자!

 

  • 무엇을 훈련할 것인가
    • 작성 가능한 최선의 코드를 만드는 데 집중!

 

  • 어떻게 훈련할 것인가 
    • 처음엔 시간은 걱정 말고!
    • 훈련할 때는 그 훈련이 완벽하도록!
    • 코딩 가타(작은 훈련용 코딩)는 다른 테크닉, 다른 언어, 다른 기술, 다른 접근 방법을 사용해서 새로운 것을 시험하고 비교하는 게 좋다. 

 

펫 프로젝트 

  • 무엇을 배울지를 정하고 그것을 이용해서 해결할 문제를 찾는다. 
  • 펫 프로젝트를 통해 안전한 환경에서 실무 프로젝트와 유사하게 시험하고, 발견하고, 배우고, 즐길 수 있다. 

 

오픈 소스 프로젝트에 기여하기

  • 훌륭한 개발자들이 어떻게 일하는지 체험하고, 어떻게 코드를 작성하고 문제를 해결하는지 살펴볼 수 있다. 
  • 탈잉 <월간 코드 리뷰 ver_0.1 : 커리어 성장 CODE>의 'Session 2. 혼자서 오픈소스로 성장하기: 기여보다 학습 목적으로 바라보는 오픈소스'라는 강의를 통해 많은 것을 느꼈다. 

 

페어 프로그래밍

  • 한참 개발을 배울 때 매주 동기분들과 페어 프로그래밍을 진행했었는데, 그때 정말 파워풀하게 성장했다. 누군가와 함께한다는 것 자체가 많은 준비성을 필요로 하고, 약간의 긴장감이 대충 하지 못하게 한다. 
  • 이전에 페어 프로그래밍을 하면서 느낀 점에 대해 적은 글: About Pair Programming

 

그 외

  • 팔로우할 리더 찾기
  • 소셜 미디어

 

 

 

2. 모르는 것을 발견하는 방법

모르는 것을 배우는 기회를 만들기 위해 항상 노력해야 한다. 

 

회사에 있는 시간이 많다 보니 회사에서 일하면서 모르는 것을 발견하고, 배우고, 성장하는 것이 내가 이 회사에 다니고 싶은 이유가 되는 것들  중 하나라고 생각한다.

나 같은 경우에는 

  • 개발자 세션: 사내에서 매주 돌아가면서 진행하는 개발자 세션을 통해 몰랐던 것을 많이 배웠다. 
  • 코드 리뷰: coding skill를 enhance 하는 가장 강력한 방법이라고 생각한다. 코드 리뷰를 받을 때 정말 감사하다는 마음가짐으로 받아야 한다고 생각한다. 리뷰어가 정말 오랜 시간과 많은 노력을 들어서 습득한 '좋은 코드, 좋은 설계...'를 몰랐다는 것을 알게 되는 과정과 배울 수 있는 기회를 동시에 얻는 것이기 때문이다. 

이렇게 모르는 것이 무엇인지 알게 되었다면 <내 커리어 주도적으로 이끌기>에서 알아본 방법 등으로 무지에 대항해보자!

 

 

3. 모르는 것을 공부할 시간을 어떻게 만들어 낼 수 있나

의식적 절제가 필요하다. 

  • 한 주에 두 번 정도는 노트북과 샌드위치를 챙겨서 어딘가 조용한 곳으로, 집중할 수 있는 곳으로 가서 자투리 시간을 활용하자. 
  • 사는 곳 근처에 기술 커뮤니티가 있는지 찾아보자. 

라는 사항들을 소개해 주었다. 이건 약간 꼭 이 책이 아니더라도 흔히 알 수 있는 내용이라고 심드렁하게 생각했다. 

 

그런데 그다음에 나온 <뽀모도로 기법>에 대한 소개는 다시 한번 상기해 볼 만한 주제이다. 

뽀모도로 기법의 다섯 단계

1. 어떤 일을 할지 정한다. 

2. 뽀모도로(타이머)를 25분에 맞춘다. 

3. 타이머가 끝날 때까지 그 일을 한다. 

4. 짧게 쉰다. (보통 5분)

5. 매 4회의 뽀모도로 마다 길게 쉰다. (15~30분)

 

즉, 여기서의 핵심은 '집중해서 짧고 굵게 해야 할 일을 하고, 이를 통해 여분의 시간을 만들자!'인 것 같다. 

야근한다고 해서 절대 업무의 양이 많다고 생각하지 않는다. 
물론 업무량이 적당하다는 전제 하에, 주어진 시간 내에 할 일을 마무리할 수 있는 것도 능력이며 이를 야근하면 된다는 생각으로 질질 끌면 야근도 습관이 된다는 것을 느꼈던 적이 있다. 

 

 

 

뼈 때리는 말로 마무리

 

배움과 훈련이 멈추는 순간 우리의 커리어도 멈춰버린다.
더 많은 지식과 기술을 가질수록 더 쉽게 커리어를 관리할 수 있다.
언제, 어디서, 누구와 일하고 나의 일에 대한 대가로 얼마를 받을지에 대한 결정권을 가질 수 있다.
시간이 없다는 말은 더 이상 변명이 될 수 없다.
우리는 모두 정확히 같은 만큼의 시간이 주어진다. 차이점은 우리가 그 시간을 어떻게 쓰느냐일 뿐이다.