brunch

You can make anything
by writing

C.S.Lewis

by Noah Jul 12. 2019

시니어 vs 주니어 개발자.

더 좋은 개발자가 되려면 어떻게 하면 되나요?

우리는 나이와 연차가 쌓이면서 자연스럽게 주니어에서 시니어로 넘어가는 것 같다.

그럼 과연 시간이 주는 차이 말고, 시니어 개발자가 주니어 개발자가 잘해야 하는 것은 무엇일까?


답답한 마음에 같이 공부하는 분들에게 이야기하였고, 함께 나눈 이야기를 정리해 본다.


J

SI 시장에 오래 있었어요. (10+ 이상)

빨리 만드는 사람이 높은 평가, 일정이 짧고 작은 투입 인력으로 일정 안에 완수하는 게 곧 수익으로 이어진다.

나만의 라이브러리를 만든다. (노하우) -> framework처럼


초, 중, 고급을 나누는 기준은 연차였다.

초급은 (2~3년 차) 할 수 있는 게 많지 않다 할 수 있는 것과 없는 것이 많고, 프로젝트 내에서 해결할 수 있는 피쳐들을 한다. (책임은 없고 일만 있다.)

중급: 특정 모듈을 만들어 줄 수 있을 때 책임감을 줄 수 있다. (작은 책임)

고급: 전체에 대한 설계를 할 수 있어야 한다. 병목이 생기는 모듈을 해결해 줄 수 있어야 한다. - 전체에 대한 책임이 따른다.


시니어는 일정을 예측할 수 있어야 한다.

또, 본인의 의견보다 다른 사람들의 의견을 듣고 잘 정리할 수 있어야 한다.


K

연차는 실력과 비례하지는 않는다.

시니어는 팀을 이끌고 주변 사람들에게 인정을 받아야 한다.

프로젝트를 이끌어가는 모습을 지속적으로 보여줄 때 신뢰감이 생기고 그가 속한 조직의 팀워크가 올라가는걸 경험했다.

블라인드에서 검색을 해본 적이 있는데 이런 내용이 있었다.

    주니어는 내가 코딩한 게 돌아갈까 의심이 간다. 실력 이슈   

    시니어는 코딩한 건 의심한다. 제시하는 의견을 다른 사람들이 귀를 기울이고, 확장이 된다. (경험적 인정)   

시니어는 주니어를 키우는 방법, 팀을 발전시키는 방법을 알아야 한다.   

시니어는 커뮤니케이션 능력이 좋아야 한다. 물론, 주니어도 커뮤니케이션 능력을 잘 키워야 한다.


L

저도 요즘에 고민이 많다.

새로운 팀에 왔는데 나이도 어리고 경력도 적당한 후배들이 너무너무 잘한다. (엄친아 느낌)   

시니어는 프로젝트를 끝맺을 수 있어야 한다. (개발력, 리딩, 필요한 툴을 잘 써야 한다.)   

시니어는 새로운 사람이 왔을 때 2달 안에 적응할 수 있는 환경을 만들어 줘야 한다. (과장 정도라면…)   

시니어는 프로젝트 병목을 찾을 수 있어야 하고, 개선법도 찾아야 한다.


S

시니어 프로그래머는 직업이 프로그래머이고, 팀 내에서 팀 리딩하고 관리를 하는 사람  

초급은 스스로 무엇을 할 수 있는지 알 수 있는 수준

중급은 스스로 할 수 없는 것을 판단 할 수 있는 수준

고급은 남이 뭘 못하는지를 파악하는 시점


N

보통 10년을 하면 시니어라고 하지만 연차는 의미가 없다. (10년 안에 어떤 경험을 했느냐가 차이를 만든다.)

현재 갖고 있는 시스템을 구조적으로 발전시킬 수 있는 능력을 가져야 한다.

스스로 학습하고 발전할 수 있어야 하고, 주변의 동료를 성장시킬 수 있어야 한다.

다른 사람의 수준을 나눌 수 있어야 한다. (각 요소에 대한 레벨링) 분석, 설계, 구현, 운영, 커뮤니케이션

단순히 개발 능력이 뛰어난 것이 시니어는 아니다.

품질을 보장할 수 있어야 한다. (예방할 수 있는 품질), 확장성, 테스트 가능

개인의 성과가 아님 팀의 성과를 볼 수 있어야 한다.

겸손해야 한다.

효율을 안다.

협업을 잘해야 한다.

커뮤니케이션 효율이 좋아야 한다.

(기획, 디자이너가 왜 공감능력이 떨어진다고 하는지 다시 한번 생각해보자)


다 맞는 말 같다. 애초에 결론이 날 수 없는 이야기이다.

대부분의 면에서 주니어보다 시니어가 잘해한다. 더 높은 기대치를 요구받기에 당연한 이야기라고 할 수 있다.

그리고 취업과 동시에 프로라는 걸 감안한다면 능력치의 대한 평가는 당연한 것이기도 하다.


다시 한번 시니어 아니 더 나은 개발자가 되기 위해 해야 할 노력에 대해서 생각해본다.

단순히 시간이 주니어를 시니어로 성장시켜 주지는 않는다.

나의 능력치뿐 아니라 다른 사람의 능력치를 파악하는 능력이 있어야 한다. 개인보다는 팀을 봐야 한다.

현재의 프로젝트 or 시스템을 개선시킬 수 있어야 한다.

나의 성장을 위한 노력뿐 아니라 조직(팀)의 성장을 위해서도 노력해야 한다.

다른 사람과의 좋은 관계를 유지해야 한다. (정말 정말 좋은 사람이 꼭 되어야 한다.)



더 읽어 보면 좋은 이야기들.

http://woowabros.github.io/woowabros/2017/07/03/senior.html 

우리가 부르는 시니어 개발자는 누구인가?   

    기술적 리딩   

    업무적 리딩   

    생산성 우위   

    난제의 해결   


http://m.zdnet.co.kr/column_view.asp?artice_id=20160816100113&re=zdk 

뛰어난 SW 개발자를 채용하는 방법


https://muchtrans.com/translations/10xdeveloper.ko.html      

더 나은 동료가 되기 위한 10가지 방법










브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari