회사 밖에서 회사 일을 생각하면 아마추어라던데,
아직 난 애송이가 맞는 것 같다.
퇴근길에 개발자가 필요한 자질에 대해서 영상을 보게 됐다.
그에 대한 생각을 짧게 정리해보고자 한다.
개발자를 하기 위한 자질에는 어떤 것이 있을까?
- 오래 앉아있다던가
- 문제 해결을 좋아한다던가
- 새로운 트렌드 기술에 밝아야 한다던가
- ...
뭐 이런 자질이 있겠다. 그런데 보면 알겠지만,
어느것 하나 나에게 해당되는 말이 없는 것 같다.
음,, 생각해보면
- 어떻게 하는지 잘 몰라서
- 물어볼 사람이 없어서
- 시간적, 물리적 자원이 없어서
- 인맥이 없어서
- 돈이 없어서
- ...
위의 이유로 목표에 다가가기 어려워 했던 것 같다.
생각을 조금만 달리해보자.
저런 핑계를 내놓은 이유는 무엇이었을까?
나는 문제 해결을 위한 고민이 하기 싫어서였다.
그런데 공부를 하거나, 공모전을 하다보면
어떤 문제든 해결하기 위해선 고민이 필요하다는 걸 배웠다.
기획 없이 좋은 다큐멘터리가 나올 수 없다는 걸 평창까지 카메라를 들고가서 배웠으니까 말이다..
(이건 나중에 따로 한번 다루겠다)
물론! 현장에서 무작정 카메라를 들고 뛰는 것도 뭐 좋은 방법이겠지만,
나에게는 충분한 기획과 어떤 것을 담을지 메시지를 명확하게 정하는 것이 더 적합했다.
그런데, 정작 회사에서 마주치는 문제들에 대해선 즉각적인 해결방법을 찾았다.
일단 만들어 보자 라는 생각으로 코드를 칠 때가 많았던 것 같다.
아무튼, 내가 생각하기에 능동적인 자세로 문제 해결에 집중하는 자세
가 중요하다고 느낀다.
특정 기능을 구현하기 위한 지식은 내 머리엔 없다. 그런데 구글엔 있다.
개발은 구글이 대신해준다
라는 말이 있을 정도로, 요즘은 리소스를 찾기 좋은 시대다.
방구석에서 지구 반대편에 있는 파리의 에어비앤비 주소를 찾을 수 있을 정도니까 말이다.
누구에게나 열려 있는 이 인터넷을 잘 이용할 줄 알아야한다.
개발도 마찬가지다. 내가 구현하려는 기능이 신기술인 경우는 거의 없었다.
다른 훌륭한 개발자들이 이미 한번 겪었던 일이기에, 난 그저 잘 조합해서 적용하기만 하면 된다.
어느 집단에 10명이 모이면,
어떤 사람은 시간이 흘러서도 그대로 이거나, 또 어떤 사람들은 전혀 다른 모습으로 나타날 수 있다.
그게 공부가 됐건, 직업이 됐건 말이다.
같은 환경에서 어떻게 이런 차이를 만들어 낼 수 있는건Resourceful
함의 차이다.
Resourceful (기략)지략 있는
having the ability to find quick and clever ways to overcome difficulties.
to be able to create useful and unique solutions in challenging situations.
Useful means your solution works and it's practical. Unique means the solution is intersting,
unexpected, or clever.
어려운 환경속에서, 유용하고 독창적인 방법을 만들어낼 수 있는 능력을 말한다.
여기서, 유용하고 독창적이란 솔루션의 동작 뿐만 아니라 실용적이여야하고, 아무도 생각하지 못하고 흥미로운 방법을 뜻한다.
이런 Resourceful
함을 이용하기 위해서는 Self-Reliance
라는 말이 따라 붙는다.
Self-Reliance 자기의존, 독립독행
타인에 의지하기보단, 자기 자신의 힘과 리소스에 의존하는 능력
즉, 직접 찾아나서서 가지고 오거나 만들어 나가는 능력이 개발자의 자질이라고 설명했다.
원하는 걸 이루기 위해, 최고의 리소스를 찾아서 능동적으로 수행하는 능력을 말한다.
여기서 원하는걸 구체화하는 게 중요하다.
- 개발자가 되고싶다?
- 이직을 하고싶다.
- 특정 라이브러리를 설치하고 싶다.
- 기술 회의
- 구현에 대한 논의
이 중에서, 원하는 목표를 뚜렷하고 명확하게 좁혀나갈수록 해결하기 위한 방법을 쉽게 찾을 수 있다.
예를 들어 이직을 하겠다라는 니즈가 생긴다면
- 어떤 일을 하고 싶은지?
- 어떤 회사로 갈건지?
- 어떤 부서로 갈건지?
- 어떤 포지션으로 가고싶은지?
이런 식으로 생각하는게, 다음 행동을 결정할 수 있는 실마리가 된다.
즉, 어떤 것을 원하는지 고민해야 어떤 행동을 할 수 있는지 정할 수 있게된다.
이 과정에서 목표를 세분화할 수 있고, 그 잘게 나눠진 목표를 이루기 위한 행동을 찾아서 진행하면 된다.
예를 들어, 지금 당장 댓글창 만들어보라고 하면 막막하다.
그럼 이를 하나씩 쪼개서,
- 댓글창의 기능을 생각해보고
- 입력창이 필요하다는 걸 알게되고
- 입력창의 레이아웃이 필요하고
- 입력창에는 글자가 들어갈 수 있으며,
- 엔터나 버튼을 클릭해서 서버에 데이터를 전송할 수 있는 기능
- ...
이렇게 잘게 쪼갤 수 있다.
그리고 하나씩 구현한 다음 하나로 합치면
생각보다 댓글창 만들기는 어렵지 않다고 느끼게 된다.
실제로 부트캠프 들어가서 가장 먼저한게 이런 기능을 바닐라 js로 구현하는 것이였으니 말이다.
예전에 만화가 주호민님의 만화 수업을 진행하는 유튜브를 본 적이 있다.
그 영상에서도 비슷한 말들을 했던 것 같아 잠시 캡쳐본을 떠왔다.
누군가가 무엇을 원하는데, 얻기가 어렵다.
이 말이 모든 이야기를 만들어 갈 수 있는 가장 기본적인 뼈대라고 한다.
여기서 원하는게 커지고, 장애물이 높고 험할수록 장편으로 간다.
반대로, 원하는게 작고, 장애물 또한 작아진다면 단편 만화가 된다고 한다.
이 어려운 장애물을 극복해가는 주인공을 보면서 이야기의 재미가 더해지고, 의미가 생긴다고 생각한다.
다시 돌아와서 생각해보자, 우리가 원하는게 있다면 당연히 문제는 딸려온다.
원하는 걸 얻기 위해 딸려오는 고통은 당연하다.
그런데 정작 무엇을 정확하게 원하는지 생각해본 적은 잘 없는 것 같다.
나는 어떤 것을 원하고, 어떤걸 이루고 싶었을까?
더 큰 회사를 가거나, 더 좋은 회사? 더 나은 기술을 만드는게 내가 원하는걸까?
그럼 그것을 하기 위해서 나는 무엇을 할 수 있을까?
생각해야할 지점이 많다.
원하는걸 정했다면, 최고의 리소스를 찾아야한다.
어디로 갈지 정했다면, 어떻게 이룰 수 있을지 끊임없이 고민해야한다.
어떻게 하면 가장 빠르고 쉽게, 즉 효율적으로 이뤄낼 수 있을지 고민하면 된다.
의외로 가장 작은 단위의 문제를 풀었을 경우, 그 다음의 일은 자연스럽게 풀리는 경우가 많다.
단순히 누군가가 내 문제를 해결해주겠지라는 생각으로 기다리지말고
먼저 움직여서 결과를 만들어야한다.
아무리 혼잡하더라도, 원하는게 무엇인지 알고있어야한다.
그리고 무엇을 할 수 있는지 생각한 다음 행동하는 사람을 리소스풀하다고 한다.
이런 과정이 반복된다면 해결 불가능한 문제는 없다라는 생각을 가질 수 있게 된다.
물론 나도, 처음에 개발자라는 목표를 가지고 나서 시작한게
js 기초였으니까 이 말이 어느정도 나에게도 통용됐던 것 같다.
이 세상에 마주한 문제들은 모두 해결책이 있다.
내가 아직 찾지 못했을 뿐이다.
'생각정리' 카테고리의 다른 글
어떻게 질문할까? - 우아콘2022 세션 후기 (0) | 2022.10.20 |
---|---|
내가 틀렸을 수 있겠다 - 수습 중간 면담 (1) | 2022.10.13 |
개발자의 역할은 뭘까, 기술은 적용만 되면 괜찮은가? (0) | 2022.09.22 |
현실에 의존하지 않기 (1) | 2022.09.19 |
새우잠을 자도 고래꿈을 꿔라 (0) | 2022.09.18 |