좋은 개발자란?

Young Sun·2023년 7월 5일
0
post-thumbnail

많은 면접과 면담에서 회사에서 생각하는 좋은 개발자, 뽑고 싶은 개발자가 무엇인지 질문한 사람이 많았던 경험으로 이 글을 작성하게 되었습니다. 좋은 개발자란 무엇인가 생각해본 사람도 생각해보지 않은 사람도 도움이 되는 글이 되었으면 좋겠습니다. 코드와 아키텍쳐가 빠진 개발에 대한 이야기 입니다.

나는 개발자 인가? 직장인 인가?

‘모든 개발자는 직장인 이거나 직장인이 아니다’는 무조건 참인 명제입니다. 여기서 문제는 개발자 이면서 직장인인 경우 입니다. 그럼 개발자로서의 나직장인으로서의 나 중에 어떤 우선순위가 높을까요? 사실 좋은 개발자란 좋은 직장인으로서의 개발자 혹은 좋은 개발자로서의 직장인이라고 할수 있을 것 입니다.

좋은 직장인이지만 나쁜 개발자도 좋은 개발자 이지만 나쁜 직장인은 좋은 개발자라고 할 수 없습니다. 따라서 좋은 개발자만 생각하면 되는 문제가 아닙니다. 좋은 개발자는 좋은 직장인 입니다. 그건 어떤 분야든 마찬가지 입니다. 좋은 마케터는 좋은 직장인이겠고 좋은 디자이너는 좋은 직장인이겠죠.

좋은 직장인이란?

좋은 직장인은 단순하게 내가 받는 돈보다 더 많은 가치를 내는 사람입니다. 그걸 개발로 하게 되면 좋은 개발자가 되겠죠. 그럼 ‘나는 내가 받는 돈 보다 더 많은 가치를 내고 있을까’ 를 생각해보면 답이 나오겠네요. 하지만 이렇게 간단한 문제는 아닙니다.

결국 가치를 만드는 건 서비스 이기 때문이죠. 그리고 그 서비스는 보통 개발자 혼자 만들어 내는 건 아닙니다. 그래서 커뮤니케이션 능력도 중요해 지게 됩니다. 좋은 직장인은 좋은 동료 입니다.

본인이 맡은 일에 책임을 가지고 회사의 다른 동료와 문제 없이 일하며 특이 사항은 공유 하는건 기본이라고 할 수 있습니다.

좋은 서비스 개발자란?

그럼 좋은 서비스 개발자는 어떤 개발자 일까요? 결국 도달하는 건 서비스에 원하는 기능을 안정적으로 일정 안에 해내는 개발자가 좋은 개발자라고 할 수 있겠습니다. 그럼 결국 좋은 개발자는 서비스에 원하는 기능을 안정적으로 개발하는 사람이라고 할 수 있겠네요.

개발자 vs 직장인

여기서 또한 문제는 개발자와 직장인이 충돌하는 경우입니다. 내가 하고 싶은 방법으로 개발하고 싶은 욕심과 회사에서 바라는 방법이 항상 같지는 않기 때문입니다. 그럼 이럴 때는 어떻게 해야 할까요? 다시 생각해 봅시다. 좋은 서비스 개발자란 어떤 개발자 인가요?

서비스에 원하는 기능을 안정적으로 일정 안에 해낼 수 있는 방법이 내가 하고 싶은 방법이면 괜찮습니다. 그게 아니라면 회사에서 바라는 방법을 사용해야 합니다.
이유로는

  1. 회사에서 바라는 방법은 검증된 방법일 경우가 많습니다.
  2. 책임에 대한 부담이 줄어들게 됩니다.
  3. 결국 돈을 주는 건 회사이기 때문입니다.

물론 위의 이유가 해당이 안될 때도 있습니다.

좋은 개발자가 되려면?

나는 좋은 직장인이라 생각하면 좋은 개발자가 되기 위해 어떻게 해야 할까요? 결국에는 좋은 경험을 하면 됩니다. 좋은 경험이란 무엇일까요? 그전에 무엇을 위해 좋은 경험을 해야 하나요? 결국 미래에 그 경험을 사용하기 위함입니다. 그럼 미래에 사용할 수 있는 경험은 무엇인가요? 결국에는 현재 하고 있는 ‘일’ 입니다.

좋은 업무 만큼 개발자를 성장 시키는 건 없습니다. 좋은 업무는 어떤 업무일까요? 앞서 말했 듯 미래에 사용할 수 있는 경험을 주는 업무 입니다.

그럼 그런 업무가 없다면 어떻게 하나요? 만들면 됩니다. 회사에서 그런 업무를 받지 못했다면 스터디를 하거나 개인 프로젝트를 진행하면 됩니다. 하지만 중요한 건 내가 하고 싶은 공부,프로젝트가 아닙니다. 미래에 사용할 수 있는 경험을 주는 스터디,프로젝트 입니다.

현재 개발자는 수많은 기술을 만나게 됩니다. 거기서 어떤 걸 공부하거나 경험해야 할지는 미래를 생각해보면 도움이 될 수 있습니다. 내가 하고 싶은 게 항상 미래에 도움이 되진 않습니다.

왜 자바 백엔드는 spring을 프론트엔드는 react를 쓰는지 생각해봅시다.

그래서 추천드리는 개인 프로젝트는 현재 라이브된 서비스를 동일하게 만들어 보는 겁니다. 그럼 해당 서비스의 개발자가 겪게 되는 경험을 완전히 까지는 아니라도 비슷하게 겪어볼수 있습니다.

그래서 뭐가 먼저 일까?

개발을 배우고 있다면 좋은 개발자를 우선순위에 두도록 합니다. 하지만 좋은 직장인이 될 준비나 생각을 해 두는게 좋습니다.

직장인 이라면 좋은 직장인이 되는 게 우선입니다. 좋은 직장인이 되어야 좋은 경험을 할 수 있고 좋은 개발자가 될 수 있습니다.

가장 중요한 건 개발자로서 든 직장인 이로서 든 태도 입니다. 좋은 개발자의 태도를 가지면 좋은 개발자가 될 수 있고 좋은 직장인으로서의 태도를 가지면 좋은 직장인이 될 수 있습니다. 결국 좋은 개발자의 태도와 좋은 직장인의 태도로 요구되는 항목은 거의 동일할 것 입니다.

나 같은 개발자에게 과연 믿고 함께 일을 하는 게 좋을 지를 항상 염두하면 좋은 개발자가 될 수 있을것입니다.

profile
언제 개발을 시작했는지 까마득한... 어느새 개발팀장님이 되어버렸다....

0개의 댓글