상세 컨텐츠

본문 제목

12월 15일 (수) - 어느 '찐' 개발자분과의 대화 기록

개인/Today

by NayC 2021. 12. 15. 16:56

본문

728x90

면접을 하면 할수록 정말 배우는게 많다.
면접이기도 하지만 사실 내게는 이 시간들이 한-참 경력이 많은 '개발자 선배'의 가치관과 이야기를 들을 수 있는 시간으로 느껴지기도 해서 결과 여부를 떠나서 참 유익하다. u-g에서 경력이 있던 개발자 면접관을 통해서는 새로운 세상 이야기를 듣기도 하고, CTO 자리에 오르게 되어 이전만큼 개발을 하는 시간이 줄었다며 '이 재밌는걸 놓칠수는 없기에 따로 하죠 :)'라는 말을 하는 면접관을 통해서는 좋은 자극을 받기도 하고, 현재의 나는 'xxx 잘하기' 정도가 고민 수준인데 시니어들의 고민을 들으며 리더의 자리, 조직 오퍼레이션, 비즈니스 전략 등도 같이 맞물려 고민이 되는 것을 보고 개인적으로 생각이 드는 것도 있어 정말 그 시간에 감사할 때도 있다.

그리고 오늘.
이분과의 대화는 다 남겨두고 싶어서 면접이 끝난 후 기록을 이렇게 바로 남긴다. 정 - 말 '이 분 찐이다'라고 느낄만큼 '진정한' 장인 정신을 가진 개발자를 만났다.


개발자라면 추상적인 언어로 묘사하는 것 금지. 논리적으로 항상 말할 것


- 만약 "javascript가 객체지향 언어일까요?"라고 물어보면
-> js가 이러이러해서 객체지향'인 것 같다'라기보다는 아래 순서 정도로 논리적으로 말하는 습관 가지기.
(a는 b다라고 말하는 습관이 아직 들지 않았구나 싶어서 반성함... https://ubermensch-with.tistory.com/614)
1) 객체지향의 정의란 이러하고
2) 그 속성은 이러하며
3) 그 특징들은 이렇다.
4) js의 경우 이런 부분이 이러하기에 이렇다.

javascript를 제 1의 언어로 삼는 건 다시 한 번 고민해 볼 필요가 있다.


- 내 추후 계획으로 javascript를 제 1의 언어로 삼고 익숙해진 이후에는 java나 c 둘 중 하나는 같이 들고 가고 싶다라고 말을 했었다. (지금 복기하다보니 이 의견에 공감하셔서 말을 덧붙이신 것 같네!) 이에 javascript는 html에서 불편한 사항들을 개선하기 위해 나온 언어고, 다양한 걸 만들 수 있어서 인기도 좋고 잘하면 좋은거긴 하지만 '철학적인 사고'는 다른 언어에 비해 부족하다며 cs 지식을 채우기 위해서라도 javascript를 제 1의 언어로 삼는 건 고민해보라고 하심.

FE나 BE나. 구분하는 거 개인적으로 의미 없다고 본다. 핵심은 "SW Engineer로서 필요한걸 만들어 나간다"는 것.


- '필요한걸 만들어 나간다'라는 워딩이 개인적으로 정말 많이 다가왔다.
- (이건 이분의 정의가 아니라, 내가 대화 이후에 느낀 바를 서술한 것)
BE : 개발의 꽃. 깊은 도메인 지식으로 -> 원하는 business를 만든다.
* 여기서 말하는 도메인 정의 : 대상 시스템을 운영하는 환경에 관한 지식 *
FE : UI, UX 측면에서 사용자에게 business를 더 잘 전달할 수 있도록 만든다.
- 개발자란 1) 좋은 skill set을 가지고 있으며 2) 깊은 도메인에 대한 이해도 있는 사람

좋은 개발자란


- 내게 꼭 애자일 선언문을 읽어보라고 하셨다. (필사까지 해보라고 하심)

  2001년, 소프트웨어 업계를 주도하는 리더들이 애자일 소프트웨어 개발을 위한 선언을 다음과 같이 공표

공정과 도구보다 개인과 상호작용을
포괄적인 문서보다 작동하는 소프트웨어를
계약 협상보다 고객과의 협력을 계획을
따르기보다 변화에 대응하기를

가치 있게 여긴다. 왼쪽에 있는 것들도 가치가 있지만, 오른쪽에 있는 것들에 더 높은 가치를 둔다는 것이다.

12가지 원칙
1. 가치 있는 소프트웨어를 조기에 지속적으로 제공함으로써 고객을 만족시키는 것을 최고 우선순위로 한다.
2. 개발 작업 후반부일지라도 요구사항 변경을 기꺼이 수용한다. 애자일 프로세스는 변화를 활용해 고객의 경쟁력에 도움이 되게 한다.
3. 2주에서 2개월 주기로 작동하는 소프트웨어를 자주 제공하되, 더 짧은 시간 단위를 선호한다.
4. 프로젝트 전반에 걸쳐 비즈니스 담당자들과 개발자들이 매일 함께 작업해야 한다.
5. 동기가 부여된 개인들을 중심으로 프로젝트를 구성한다. 구성원들이 필요로 하는 환경과 지원을 제공하고, 담당 업무를 완수할 것임을 신뢰한다.
6. 개발팀에 그리고 팀 내부에서 가장 효과적, 효율적으로 정보를 전달하는 방법은 대면 대화이다.
7. 작동하는 소프트웨어가 진처의 주된 척도이다.
8. 애자일 프로세스는 지속 가능한 개발을 장려한다. 스폰서와 개발자, 사용자들이 일정한 속도를 계속 유지할 수 있어야 한다.
9. 기술적 탁월성과 좋은 설계에 대한 지속적인 관심으로 기민함을 향상시킨다.
10. 단순성 - 아직 하지 않은 작업량을 최대한 세분화하는 기술 - 은 필수적이다.
11. 최고의 아키텍처, 요구사항 및 설계는 자율구성팀에서 비롯된다.
12. 팀은 정기적으로 더 효과적인 방법을 찾아서 반영한 다음, 그에 따라 업무 활동을 조율하고 조정한다.  


- 이에 기반하여 이 분이 생각하는 좋은 개발자란 "가치있는 sw를 빠르게 전달할 수 있는 사람"으로,
1) '가치있는' 결과물은 절대 혼자할 수 없다며, 기본적으로 팀 기반 협업이 가능한 사람이며
2) 'sw'를 잘 만들기 위해 도메인에 대한 이해가 있는 사람이 좋은 개발자인 것 같다고 하셨다.

- 내가 이 기업에 지원을 하게 된 이유들 중 하나는 정말 어느 다른 공고에서는 볼 수 없었던 개발 문화를 지니고 있는 곳이어서 지원한 거였는데, 이 분의 가치관을 들으니 그런 문화가 존재할 수 있었던 원인을 알게 됐다. 근데 더 인상깊었던건 이런 나의 감상을 듣고 그 분이 한 말이었다.
"많은 시행 착오가 있었다. 기간 내에 뭘 만들어내야하는 건 맞으니 (그런데도 그런 문화를 가지고 있으니) 기술 부채도 있었고, 또 실제로 일해보면 생각했던 것만큼은 아직 아니라고 느낄지도 모른다. 그래서 항상 내가 말하는게 있다. - 우리가 지금 최선이 아닐 수 있다. 항상 더 좋은 방법을 찾아내보자. "
- 이 분이 '장인'이라고 느낀 부분이 여기였다. 지금도 정말 내가 느끼기엔 다른 어느 곳에서도 없는 문화를 만들었고, 또 실력을 가지고 있는데 계속 부족하다고 느끼고 다음을 향해 우직하게 나아가는 느낌. 이 글을 면접 이후 이렇게 바로 작성하는 이유가 있다. 이런 가치관을 오래 기억하고 싶다.

  책 추천  


- 조엘 온 소프트웨어
http://www.yes24.com/Product/Goods/1469763

조엘 온 소프트웨어 - YES24

2005년 15회 JOLT상 수상작!아마존 선정 컴퓨터 인터넷 부문 10대 도서.Java.net 선정 개발자 · 관리자 필독서.조엘 온 소프트웨어는 조엘 스폴스키가 운영하는 유명한 소프트웨어 개발 블로그인 조엘

www.yes24.com


- 실용주의 프로그래머
http://www.yes24.com/Product/Goods/12501565

실용주의 프로그래머 - YES24

프로그래밍은 대체로 머리로 하는 일이지만 한편으로는 몸에 새겨져야 하고 때로는 그 이상의 통찰을 발휘해야 하는 상황에 맞닥뜨리게 되는 복합적인 작업이다. 인터넷의 등장 이후 베껴 쓸

www.yes24.com


- 오브젝트
http://www.yes24.com/Product/Goods/74219491

오브젝트 - YES24

역할, 책임, 협력을 향해 객체지향적으로 프로그래밍하라!객체지향으로 향하는 첫걸음은 클래스가 아니라 객체를 바라보는 것에서부터 시작한다. 객체지향으로 향하는 두번째 걸음은 객체를

www.yes24.com


- 그리고 애자일, 스크럼 문화 관련 책들
- (3차 면접 이후 추가) 피터드러커 경영 책들, 레이달리오 책들, 크래프톤 웨이







면접 시간보다 개발 관련 얘기한게 더 많았던 것 같은 정말 유익했던 시간.

728x90
반응형

관련글 더보기