<시니어 개발자> 회사에 입사하고 2달이 조금 지났다. 적응하면 할 수록, 개발을 하면 할 수록 공부할 것도 늘어나고 나의 부족함을 깨달으며 성장하고 있다. 회사의 테크리드, 시니어 엔지니어들을 보며 드는 생각이 있다. 내가 시니어 개발자가 되려면 어떻게 해야하는가? 시니어 개발자는 뭐지? 그러던 도중 여러가지 글들을 읽으며 생각을 정리했다. 시니어는 제품에 오너십을 갖는 개발자다. 시니어 개발자는 지식이 많아야 한다. 시니어 개발자는 코드 전체를 이해하고 효율적으로 쓸 수 있다. 등등.. 해당 글은 내가 본 글들을 요약해놓은 글 같았다. 지식만이 아니고, 경험만이 아니고, 여러가지 복합적인 것들로 인해 시니어와 주니어를 구분할 수 있다고 한다. 1. 지식 명백하게도 지식의 양도 중요하다. 자인 패턴, 아키텍처, 테스트 자동화, 성능, 보안, 등을 아는 것은 주니어 개발자가 미드레벨, 시니어 개발자와의 지식 격차를 좁힐 수 있는 좋은 방법이다. 하지만 지식만으로는 시니어와 주니어를 구분할 수 없다. 2. 읽기 쉬운 코딩 코딩은 읽기 쉬워야 한다. 간단하고 간편하게 코딩을 작성해야하고, 미래의 나를 포함한 다른 개발자들이 이해하기 쉬워야 한다. 클린코드에서 나온 말을 빌리자면 "책을 읽듯 술술 읽히면 좋은 코드다." 3. 돌아가는 프로그램, 확장성과 유지보수가 쉬운 프로그램 주니어개발자에게는 돌아가는 코딩이 즉 잘 만들어진 코드이다. 하지만 시니어 개발자에게 코드란, 돌아감은 물론, 확장성과 유지보수를 생각하며, 서비스 전체를 생각한다. 4. 질문과 대답 시니어 개발자는 엉터리 질문에도 대답을 할 수 있다. 주니어 개발자는 자신이 무엇을 모르지를 모르기에, 엉뚱한 질문을 하게 될 수 있다. 시니어 개발자는 처음부터 주니어개발자가 제대로된 질문을 할 것이라고 기대하면 안되고, 그런 엉퉁이 질문을 틈으로 무엇을 모르는지를 간파하고 알려줄 수 있어야 한다. 이 글에 나온 모든것이 시니어와 주니어를 가르는 기준은 아니겠지만, 내 생각을 정리할 수 있게 도움을 준 글임에는 틀림없다. 만약 내가 시니어 개발자가 되려고 한다면, 급하지않고 천천히 많은 지식을 습득해가며 내가 모르는 것이 무엇인지 정확히 판단하고, 유지보수가 편한, 확장성 있는 코드가 무엇인지를 알아가며 후배 개발자(우리 회사엔 없지만..)들의 질문에도 거뜬히 대답할 수 있는 역량을 갖추어야 겠다.

주니어, 미드레벨과 시니어 개발자의 차이점

Medium

주니어, 미드레벨과 시니어 개발자의 차이점

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2021년 3월 21일 오후 12:55

댓글 0