안주하는 개발자가 되지않는 방법

차한음·2024년 7월 14일
0

언어 공부에 두려워하지 마라

"내 언어의 한계는 내 세계의 한계를 의미한다" 와 같이 비트겐슈타인이 한 말처럼, 프로그래밍 언어에 대한 한계는 나의 개발 역량에 대한 한계를 의미한다. 당신이 만약 자바스크립트만 다룰 수 있다고 하자. 자바스크립트만 할 줄 안다면 다른 언어로 구현할 수 있는 것들에 대한 생각의 폭이 작아지며 이는 결국 개발 역량의 감소로 이어진다. 언어에 대한 제약이 사라진다면 당신의 개발 역량은 많이 증가할 것이다. 그리고 언어든 어떤 라이브러리, 프레임워크든 상관없이 강좌나 도서를 통해 학습을 권장한다. 공식 문서는 당신이 그나마 개념이 잡혔을 때 보게 된다면 개념이 정립되는 데에 아주 좋을 것이다. 그러나 처음부터 허세로 공식 문서로 공부하게 된다면 개념이 정립되지 않았기에 시간도 시간이며 이해 자체가 안 될 것이다.

하나의 언어에 대해 깊이있게 공부하라

당신이 프론트엔드 개발자라면 자바스크립트를 능숙하게 다룰 줄 알아야 한다. 그러나 자바스크립트의 동작 원리도 잘 이해하지 못하고, 제공하는 다양한 기능들도 다 알지도 못하면서 다른 언어를 공부하여 개발 역량을 높이는 행동은 정말 바보 같은 짓이다. 만약 당신이 한 언어에 대해서 제대로 학습했다면, 그 언어의 종류에 따라 다르긴 하겠지만 어차피 프로그래밍 언어는 동작하는 패러다임이 비슷하기 때문에 다른 언어를 학습할 때 아주 빠른 시일 내에 학습을 완료할 수 있다. 그리고 학습하는 언어 또한 깊이 있게 또는 아주 빠른 시일 내에 학습할 수 있다. 그러나 당신이 프로그래밍 언어의 근간도 파악하지 못했으면서 욕심으로 하여금 많은 언어를 학습하고 있다면 아주 바보 같은 짓을 하고 있는 것이다. 절대 늦지 않았으니 당신이 현재 가장 필요한 언어를 하나 완벽히 학습하고 나서 다른 언어를 학습해야 한다. 여기서 어떤 언어를 완벽히 학습했다는 것이 의미하는 바는 학습한 언어가 내 머릿속에서 디버깅 되고, 그 언어로 하여금 다양한 프로젝트를 개발하고, 그 언어의 동작 구조를 파악하고, 어떤 방식으로 코드를 작성하는 것이 효율적인지에 대해서 알게 됐을 때 나는 언어를 완벽히 학습했다고 생각한다. 그리고, 나는 제발 기본에 충실하라라는 말을 하고 싶다. 제발 당신이 프론트엔드 개발자라면 HTML과 CSS에 대해서 쉽게 생각하지 마라. 제발 많은 시간을 할애하여 공부하라. 그리고 많은 것들을 체화시켜 당신 것으로 만들어서 언제든지 활용할 수 있게 내공을 다져놓아라. 또, 프론트엔드에서 많이 사용되고 사용될 기술들은 뼛속 깊이 학습하여 아예 정복을 해야 한다. 제발 리액트를 그냥 SPA만 만드는 쉽게 쓰는 도구라고 생각하지 마라. 프론트엔드 개발자라면 아주 기본적인 도구를 학습하는 데에 간과해서는 안 된다. 당신이 이들을 간과하지 않고 깊게 공부한 후 다른 도구들을 학습하게 된다면 정말 높은 정도의 퍼포먼스를 당신 스스로 체험하게 될 것이다.

프론트엔드의 핵심은 CSS다

많은 프론트엔드 개발자들이 가장 간과하는 부분이 CSS(스타일링)다. 프론트엔드라는 것의 근간은 스타일링이다. 사용자 인터페이스와 사용자 경험을 좋게 만드는 것이 프론트엔드의 핵심이다. 그러므로 프론트엔드 개발자라면 UI/UX의 근간인 스타일링과 에니메이션에 대해서 제대로 학습하여야 한다. 만약 당신이 계속하여 자바스크립트 관련 기술들만 공부하고 있다면, 스타일링은 신경을 쓰지 않고 있다면 지금부터 스타일링에 대해 비중을 두어 학습을 해야 한다.

안다고 생각하지 마라

프론트엔드 기술을 안다는 것을 증명하기 위해서는 구글에 "리액트 프로젝트 추천"을 검색하고 하나의 프로젝트를 정해서 개발해 보아라. 만약 당신이 능숙하게 그 프로젝트를 개발해 낼 수 있다면 당신은 해당 기술에 대해서 깊이 있게 아는 것이며, 만약 버벅대 책을 보고, 구글링을 하고, .. 등등을 자주 반복한다면 그건 해당 기술을 아는 것이 아니라는 증거이며, 다시 그 기술을 학습할 기회라고 생각하면 된다. 원론적인 예기인듯싶지만, 늦엊을때가 가장 빠른 것이다.

profile
프론트엔드 개발자

0개의 댓글