오늘 커리어리를 천천히 읽고 있다가 좋은 글을 발견해서 나의 생각을 정리하는 시간을 가져보고자 한다. 위 글의 주요 내용은 뛰어난 개발자란 어떤 사람인지 현업에서 일하시는 디자이너, PM, QA 분들께 인터뷰를 통해 알아보고 공통점을 찾아 정리한 글이다. 그래서 비전공자로 시작하는 내가 어떻게 하면 개발자로서 살아남고(?) 성장할 수 있을지 고민하던 내겐 인상깊은 글이었다.
긴 글을 짧게 정리하자면 현직자들이 생각하는 뛰어난 개발자란 "커뮤니케이션을 잘 하는 개발자"라고 한다.
글에서는 개발자의 유형을 둘로 나눴다.
문제 해결형 개발자 vs 스펙 구현형 개발자
문제 해결형 개발자는 '안 된다'라는 말을 그냥 하지 않는 것이라고 한다.
요구 사항이 있을 때 예스맨이 되라는 것이 아닌 요구 사항이 풀려고 하는 문제가 무엇인지 더 나은 해결 방법이 없는지 고민하고 새로운 솔루션을 제안해보는 개발자를 말한다.
정리해보면 그냥 개발만 하는 개발자가 아닌 함께 문제를 해결해나가는 구성원이 되자는 의미로 나는 해석하였다.
작성자 분이 들어준 예시로 QA 분꼐서 로그랑 파라미터를 정의해 개발자에게 전달했는데 개발자의 대답은 이랬다.
아 그거는 스트림에서 비동기로 받아 온 거라서 서버 api 구조를 바꾸지 않으면 이 화면에서 찍는 거는 안 된다
아직 공부가 미흡한 나도 사실 무슨 말인지 잘 이해가 안 된다.(더 열심히 공부해야겠다.)
그래서 이 답변과 함께 쓰레드가 끝이 났다고 한다.
이런 개발자들의 특징은 자신은 엔지니어니까 주어진 스펙을 만들어내고 디버깅하고 테스트해서 버그가 없도록 하는 게 그들의 임무이며 요구사항을 만드는 건 기획자나 디자이너가 할 일이라고 생각한다는 것이다.
여기까지가 작성자 분께서 설명하시는 문제 해결형 개발자와 스펙 구현형 개발자에 관한 설명이다. 동료로서 신뢰가 쌓이고 "일 잘 하는 개발자" 그리고 "같이 일하고 싶은 개발자"로 생각되는 사람은 문제 해결형 개발자라고 한다.
사실 어떤 개발자가 옳고 그른지 혹은 지향해야 할 개발자인지는 아직 잘 판단이 서지 않지만 글을 읽고 평소 생각을 더해 나는 어떤 개발자가 되고 싶은지 정리를 해보려고 한다.
나는 경영정보학부생으로서 학사과정(졸업도 아직 못 했다.) 에서 아주 간단한 언어나 데이터 분야에 관한 공부는 조금 해보았지만사실상 비전공자로서 올해부터 진지하게 개발자의 길을 걷기 시작했다. 그래서 항상 전공자보다 더 열심히 해야 한다는 마음가짐과 개발자로서 살아남을 수 있는 방법에 관한 고민을 많이 했다.
고민 끝에 나온 결론은 나만의 강점을 만들고 넓은 인사이트로 소통을 잘 할 수 있는 개발자가 돼야 한다는 것이다. 그래서 이 글을 읽었을 때 그냥 평범한 개발자로서 경쟁한다면 언젠가는 경험이 더 많거나 혹은 전공자에게 밀릴 확률이 높겠다는 생각이 들어 나는 문제 해결형 개발자가 되도록 더욱 노력해야겠다는 생각이 들었다.
일단 글을 읽고 생각한 문제 해결형 개발자란 나의 개발 역량을 활용하여 구성원과 함께 문제를 해결하는 Problem-Solver라고 생각했다.
그러면 문제를 해결하기 위해서는 어떤 게 필요할까? 먼저 함께 문제를 풀어나가는 과정에서 내 역할은 개발자다. 그렇기 때문에 내 개발 역량을 키우는 것이 가장 선행되어야 할 과제이다. 그리고 다양한 프로젝트 혹은 경험들을 통해 소통하는 법을 익히고 많고 새로운 시도들을 통해 문제 해결 능력을 길러야 한다.
그래서 너가 되고 싶은 개발자는 뭔데?라는 질문에 대한 답은 뛰어난 개발 역량을 지니고 넓은 인사이트도 가진 Problem-Solver다.
현재 진행 중인 부트캠프 "야놀자X패스트캠퍼스: 프론트엔드"과정을 성공적으로 마치며 과정도 꼼꼼히 기록하고 특히 진행하는 프로젝트에서 협업을 위해 노력할 것이다.
마직막으로 참고 글의 작성자 분의 유튜브 링크도 남깁니다.
https://www.youtube.com/watch?v=fe6_wCixJwE
잘봤습니다.