이 글을 쓰다가 보니 내 자신이 꼰대라는 느낌도 들지만, 젊은 엔지니어분들(개발 초입)에게 글을 쓴다는 게 상당히 조심스럽긴 합니다. 그래도 도움에 될 분들이 있기를 바라면서 생각했던 부분들을 정리해 올립니다.
1. 기본기가 없는 고수는 없습니다.
- 기본기(개념, 원리, 원칙)에 대한 이해도를 높이고, 표준이나 규약 - HTTP 스펙(RFC 7230 ~ RFC 7235), HTML W3C, API(Java Servlet API, Java Persistence API 등)에 대한 분석을 통해 내것으로 만들도록 합니다. 기본기와 표준은 응용을 위한 밑거름이 됩니다. 해당 케이스를 찾기 위해 검색하는데 시간을 낭비하지 말고 기본기를 다지는데 노력을 더 합니다.
- 예를 들어, 스펙을 앎으로써 웹 개발의 경우 응용을 통해 보안 위협을 효율적으로 예방할 수 있고, APM 툴(성능 분석 툴)을 만들수 있고, 우리가 필요로 했던 것들을 스스로 만들 수 있게 해 줍니다. 또한, 버그를 줄이는 잠재 능력을 갖게 되기도 합니다.
2. 스스로 지식의 넓이, 깊이, 실행력을 꾸준히 키웁니다.
- 지식을 늘 가까이 합니다. 독서. 블로그/SNS/뉴스레터 구독, 커뮤니티 활동 등 많다. 요즘 세상은 설명 안해도 알 것입니다.
- 오픈 소스 분석을 게을리 하지 마세요. 검증된 오픈소스들은 내 자신이 만든 코드보다 품질은 더 뛰어날 가능성이 있고 남의 코드를 통해 내 코드에 대한 개선점을 찾는데 많은 도움이 됩니다.
- 비즈니스에 대한 연구도 병행해야 합니다. 엔지니어라고해서 기술에만 관심만 가지면 안됩니다. 비즈니스의 철학을 모르고는 높은 완성도의 제품이 나오기 어렵습니다.
- 실행력의 수준을 높여야 합니다. 엔지니어는 기술적 완성도 점검을 위한 프로토타입형에 그칠 것이 아니라, 그 기술에 대해 제품/서비스형 프로토타입으로 끌어올리는 몸만들기가 필요합니다. 그래야만 비즈니스의 가치를 스피드와 구현가능성에 헌납해 버리는 오류를 범하지는 않게 됩니다.

