[ETC]시니어 개발자의 조건을 다시 읽고

시니어 개발자의 조건이라는 포스팅을 2017년 초에 접하고, 북마크에 담아두었다가 오늘에서야 다시 열어보게 되었습니다.

주요 키워드는 아래의 6가지였습니다.

  • 시스템을 알고 서비스를 개발 해야한다.
  • 기반기술을 중요시 해야한다.
  • 적절한 엔지니어링을 택해야 한다.
  • 클린코드가 모든 경우에 정답은 아니다.
  • 애자일은 만능이 아니다.
  • 오픈소스를 무분별하게 가져다 쓰는것 보다, 내부 동작 원리를 이해하고 용도에 맞게 사용해야한다. 부족한 부분을 기여할 수 있는 프로슈머가 되어야 한다.

필자분께서 결론에 담아주신 내용이 가장 인상이 깊었습니다.

쥬니어와 시니어가 같은 일을 하고 같은 품질의 결과물을 만들어 낸다면 나이는 많고 연봉은 높은 시니어를 반길 이유가 없다. 시니어는 기반 기술에 대한 높은 이해를 바탕으로 쥬니어와는 다른 고품질의 결과물을 만들 수 있어야 한다. 그리고 쥬니어가 성장하고 본받을 수 있는 높은 기술력을 갖추고 리딩할 수 있어야 한다. 단순히 1년의 경력을 10번 반복한 시니어는 아무런 경쟁력이 없다.

2019년의 저는 얼마만큼 위의 여섯가지 키워드에 근접하였을까요

2019년의 저에 대해 되돌아 보았습니다.


시스템에 대한 이해와 기반기술지식이 기존에도 부족하다 느꼈고, 알고리즘과 자료구조를 이해하고 개발을 하는것의 중요성을 느끼기도 하고, 수없이 듣기도 하였습니다. 하지만 이직을 하는 때가 아니면 들여다 보지 않는 자세를 매번 후회하면서도 똑같은 실수를 반복하고 있는것 같아, 빠르게 이 잘못된 반복의 고리를 끊어야 할 것 같습니다.

2019년은 AWS 서비스내에서 다양한 플랫폼들을 이용하여, 서버리스 아키텍쳐를 구현하여 보기도 했고, VueJS와 Webpack을 이용하여 주로 프론트에 적용 시키도 하였습니다.

어느정도 새로운 기술에 대해 욕심도 있었기때문에 다양한 것들을 사용 해보았던것 같습니다.

서버리스 아키텍쳐를 도입하였던 가장 큰 이유는 FaaS(Function as a Service)라는 새로운 개념에 흥미가 있어 알아보고 있었고, 짧은 시간동안, 빠르게, 관리 할 필요 없이 등 제가 기억하고 있는 키워드들이 만들려던 서비스와 가장 적합하다 생각하여, 서버리스 아키텍쳐를 도입하게 되었습니다.

프론트에서 VueJS를 사용했던 이유는 DOM을 핸들링하는 주체가 데이터인데, DOM에 너무 중심적인 코드를 작성을 하다보니 다른사람들이 코드만으로는 해당 코드가 어떻게 동작할지 예측이 전혀 불가능한 코드를 작성하게 되어 기존에 공부하여 본 경험이 있어 도입 하게 되었습니다.

제가 선택한 엔지니어링이 최선이였을까? 라는 질문에는 아니다 라고 확실하게 대답할 수 있고, 다른 누군가에게는 오버엔지니어링이다 라는 말을 들을 수 있을 것 같습니다.

아직까지 클린코드라는 책을 읽지 못하여, 이 부분을 답할 수 없습니다….

현재 팀내에서 애자일을 지향하고 있으나, 애자일하게 흘러가기 힘든 상황도 얼마든지 존재할 수 있음을 느끼고 있습니다.

이상적인 개념이나, 항상 변수가 생겨 현재 진행하고 있는 스프린트도 지켜지지 않는 경우가 많았었습니다.

추구할 수 있으나 이것에 얽매이지 않고, 유연하게 대처하고 있는가?에 대해서는 그럴때도 있고 아닐때도 있다 인것 같습니다.

다양한 오픈 소스를 가져다 사용하고 있고, 오픈 소스에 기여하고자 하는 마음도 가지고 있습니다. 기존에는 문서가 제대로 되어 있지 않을때, 코드를 사용하기 위해 내부 구현 코드를 보았다면 근 3개월간은 사용하는 라이브러리들의 개발자들이 내부 구현 코드를 과연 어떻게 구현 해두었을까?라는 관심을 가지고 내부 코드를 들여다보게 된 것 같습니다.

현재 가장 기여하고 싶은 프로젝트는 PHP Laravel Framework입니다. 아무래도 실무에서 사용하였을때 부족한 부분을 찾기 가장 좋은 조건이고, 내부 동작에 대해서도 들여다 보게 될텐데 아직까지 실무에 사용하여 본 적도 없고, 기본 동작정도만 사용 해 보았지, 오히려 스프링 부트 프레임워크보다 더 조금 사용하여 본 프레임워크라 아쉬움이 큰 것 같습니다.

해당 글을 처음 접하였을때부터 필자 분께서 언급하신 단순히 1년의 경력을 10번 반복한 시니어가 되지 않아야겠다. 라고 생각 해왔지만 항목들을 하나 하나씩 돌아보니, 더 많은 노력이 필요한 것 같습니다.