기타

백기선님 개발자 고민 상담 1회

프로일기꾼 2021. 12. 28. 22:13

백기선님 유튜브 개발자 고민 상담 1회('우리 진짜로 대화를 나눠봅시다.')를 들으며 기억하고 싶은 내용들을 적어서 올립니다.

 

Q 커리어 패스란 무엇인가?
직장을 바뀌는 것 / 전문분야를 찾아가는 것일까
3,4년 마다 면접을 보는 것은 개발자 본인에게 health check를 하는 것과 같다.
많은 곳에서 다른 기술을 사용한다고 그 기술로 갈아타지 말고, 내가 사용하는 기술에 더 전문적으로 갈고 닦이면 다른 기술을 볼 때도 별로 위화감이 들지 않는다.
회사 이직할 때 코어 개발하는 쪽에 있어야 한다. 만약 코어 개발에 있지 않다면, 코어 쪽으로 가기 위한 인식을 늘 갖고 있어야 한다.
이직을 할 때 기술이 중심인 회사인지 혹은 컨텐츠가 중심인 회사인지 잘 판단하고 기술이 중심인 회사로 이직을 해야한다. 
기술이 익숙치 않아서 연봉을 낮춘다는 것은 이상한 회사이다.

Q 아이들이 있을 때 공부를 어떻게 해야 되는 건가? 
진짜 아이들에게 신경을 쏟아야 한다는 생각과 마음이 들 때는, 쏟게 된다.
하지만 아이들이 있을 때 그런 간절한 마음이 커지기 전에 공부를 계속하는 상황이 있을 수 있다. 그 떄에도 아이들에게 미안함을 느끼는데,
미안한 만큼 진심으로 공부를 해야한다. 
원하는 것을 이루지 못하면 아파트에서 뛰어내리겠다고 생각한 백기선님..
아이가 나오기 전이 공부할 수 있는 마지막 기회이다.

Q. cs가 부족한 것 같은데, 취준의 시기에 cs를 다시 보는게 맞을까?
지식이 부족한 건 얼마든지 메꿀 수 있다. 인강이든 책이든 사람이든 어떤 방법을 통해서든 메꿀 수 있다.
그런데 뭔가를 좋아하게 하는 것은 힘들다
Q. FE 관련 유명한 책은 무엇이 있을까
취직인 상태는 유지하되, 끊임없이 학습해야한다.

Q. 34살 10개월 차 주니어 개발자이다, 바쁜 회사 생활로 개인공부할 시간이 없어지고, 업무 때에도 잡무를 하는 것 같은데, 어떻게 해야 성장하는 개발자가 될 수 있을까?
어떤 개발자가 되고 싶은가?
자신의 코드가 최선의 코드인지에 대해 확신이 안선다. 복잡한 업무, 기술적 성장을 하는 업무를 쟁취하라.
근본적으로 회사 업무만을 가지고 본인이 원하는 개발자로 성장하기는 어렵다. 그래서 공부를 따로 하고 스터디를 하는 것이다. 고통이 따르는 업무를 해야 깨우치고 성장할 수 있다.
나이브한 업무를 하면 안된다. 나이브한 업무만 계속하게 되면, 이직을 준비해야한다. 업무 시간외 자기 공부하는 시간을 필수적으로 확보하고 공부에 쏟아야 한다.
개발자가 성장하기 위해서 제일 필요한 것은 '시간'과 '에너지'이다. 야근을 절대하면 안된다. 업무외 시간을 공부에 필수적으로 확보하자. 업무 외에 공부하는 시간은 너무나도 비싼 시간이고, 내가 갖고 있는 시간의 소중함을 깨달아서 공부에 몰두 해야한다. 내 시간을 절대 회사에게 뺏기거나 값싼 헐값에 팔면 안된다. 내 시간의 소중함.. 놓치지 말자.
팀의 성격을 개인이 바꾸는 것은 쉽지 않은 일. 

퇴근 이후의 시간과 에너지는 너무나도 소중하다. 마치 집에서 혼자 아파하고 있는 아기를 돌봐야 하는 사람이 나 밖에 없는 것과 같은 절박한 상황, 부모님 병간호를 할 사람이 나 밖에 없는 것과 같은 그런 매우 소중하고 무엇과도 대체될 수 없는 중요한 시간이다. 
성장하지 않는 것 같은 야근이면 때려쳐라.

Q. 3년차 개발자, 이직을 했는데, 첫 시작을 잘 하며, 좋은 인상을 남기고 싶다. 팁이 있다면?
램프 업(불을 키는 것) - 사수가 있는 곳이라면 긍정적인 사인. 기술적인 문제가 아니라 회사에 대한 지식, 서비스 및 플랫폼에 대한 지식을 파악하는 것이 중요하다. 
이메일을 잘 읽어야 한다. 특히 팀 단위로 오는 이메일을 잘 읽어야한다. 나의 업무와 관련된 이메일을 읽다가, 팀에 관한 이메일을 모두 읽어야한다.
이메일을 읽으며 이해하지 못한 것들을 리스트업해서 사수와 회의를 잡고 그것을 물어봐라.
상시로 질문을 많이 하면 짜증이 난다, 그래서 질문을 모아 하는게 좋다. 그리고 질문을 많이 하는 것보다 중요하고 가치 있는 질문을 하는 것이 중요하다.

Q. 이직한지 6개월 차, 지금 회사에서 사용하는 기술이 레거시 기술들이다, 새로운 기술들을 공부해야 할까 아니면 지금 기술스택으로도 괜찮을까
어느 한 프로그래밍 언어에 익숙하면 되는 것인데 기술스택을 보는 것이 이해가 안됨, 
경력직들이 면접을 볼 때는 얼마나 복잡한 문제를, 얼마나 촉박한 문제를 다뤄봤는지를 평가한다. 일을 잘하는 지를 봐야지, 기술스택으로 사람을 판단해서는 안된다.
어떤 이력서에 끌리는가? - 어떤 업무를 했고 기술적으로 어떤 기여를 했으며 그 결과 얼마나 성능이 좋아졌다는지, 비용을 얼마나 줄었는지에 대한 내용이 들어가야 한다.
어떻게든 결과를 만들어내는 역량, 협업을 할 수 있는 역량을 개발자에게 기대한다.
일에 쫓기다 보니 코드 품질이 낮은 것을 만들어 낼 때가 있다 어떻게 해야 할까?
중복 코드/테스트 코드를 안짜는 경우.
내가 봤을 때 자명하게도 똥 같은 코드를 반복해서 짜면 안된다. 이것은 안된다. 이러면 절대 실력이 늘지 않는다, 
코드를 잘짜는 방법 - 리팩토링, 디자인 패턴 ('refactoring to patterns' / '패턴을 활용한 리팩토링 1편, 2편' 서적)
본인 스스로 싸 놓은 똥을 스스로 치우면서도 실력이 올라간다.
리팩토링은 절대 나중에 하는 것이 아니다. 현재 주어진 상황에서 최선의 코드를 짜야한다.