Tech

Diary

Lecture

개발중

About Me

개발중

개발자로 빠르게 성장하기

JeongSeulho

2024년 06월 17일

준비중...
클립보드로 복사

1. 개발자의 성장이란

성장이란 시간의 어느 두 지점을 비교했을 때, 미래의 지점이 과거의 지점보다 더 나은 상태에 있을 때 성장했다고 말할 수 있다.

개발자를 기준으로 더 나은 상태란 다양한 것들이 있을 수 있다.
문제를 빠르게 해결할 수 있는 상태, 높은 퀄리티의 해결책을 떠올릴 수 있는 상태, 말을 조리있게 잘 하는 상태 등…

여기서 말하는 높은 퀄리티의 해결책은 사이드 이펙트가 적다거나, 임시방편으로 해결한 것이 아닌 해결한 상태가 오래 지속된다거나와 같은 것을 의미한다.

2. 성장하기 위한 방법

그러면, 어떻게 나를 더 나은 상태로 만들 수 있을까?

다양한 실패, 성공에 대한 기억 또는 기록이 나를 더 나은 상태로 만들어준다.
서버가 죽어서 다시 살린 경험이 있는 사람은 다음번의 서버가 죽었을 때 더 빠르게 서버를 살릴 수 있다, 리팩토링을하며 사이드 이펙트가 큰 코드를 작성했다가 낭패를 본 사람은 다음번에는 사이드 이펙트를 신경쓰며 코드를 수정한다.

3. 빠르게 성장하기

시간이 지나면 누구나 성장을 한다. 중요한 것은 빠르게 성장하는 것이다. 빠르게 성장하기 위해선

  1. 짧은 시간에 많고 다양한 문제를 겪어야 한다.
  2. 1번의 경험을 다시 사용할 수 있는 데이터로 만들어야 한다.
  3. 다른 사람의 경험을 나의 데이터로 만들어야 한다.

다음, 3가지가 중요하다고 생각한다.

첫번째로, 짧은 시간에 많고 다양한 문제를 겪기 위해서는 유저가 많아야 한다.
다양한 브라우저를 사용하는 유저가 많다면 크로스 브라우징을 고민하고, 트래픽이 많은 서비스라면 많은 사람을 수용하기 위한 아키텍처를 고민한다. 또한 유저가 많을 수록 다양한 예외 상황을 경험하고 이를 해결하는 방법을 고민하게 된다.
유저가 많지 않다면 스스로가 유저가 되어보는 것도 방법이다.

두번째로, 경험을 다시 사용할 수 있는 데이터로 만드는 것이다.
우리가 겪은 경험은 시간이 지나면 잊어버린다. 경험을 잊어버린다는 것은 곧 성장의 반대 즉, 후퇴라고 생각한다.
이런 망각을 방지하기 위해선 경험을 기록해야 한다. 이때, 단순히 있었던 일을 기록하는 것이 아닌, 내가 떠올린 생각들과 시도한 방법들 그 결과 등을 자세하게 기록해야 비로소 데이터가 되어 다음번에 사용할 수 있는 경험으로 만들 수 있다.

세번째로, 다른 사람의 경험을 나의 데이터로 만드는 것이다.
2번에서처럼 직접 경험하여 데이터로 남기는 것이 가장 피부에 와 닿지만, 다른 사람의 경험을 읽고 듣고 이해하여 내가 겪은 경험으로 만들 수 있다.
다양한 테크 회사들의 기술 블로그나 개인 블로그에는 자신의 경험을 자세히 공유하는 글들이 많다. 이런 글을 읽으며 그 사람의 상황과 생각의 흐름을 읽어나가며 내가 경험하지 않은 상황을 경험한 것처럼 만들 고 북마크나 따로 저장하여 나의 데이터로 만들어야 한다.