0. 선배님들이 주신 커리어 발전 제언
- 인내심
1px에 대한 집착
- 낡은 관념을 버리고 신기술에 주목할 것
호환성을 핑계로 신기술을 외면하지 마세요.
- 기초를 계속해서 다질 것
JS 기초가 아직 탄탄하지 않습니다.
- 사용자 경험을 극한으로 끌어올려라, 일하는 태도가 중요함
사용자 경험은 디자이너만의 업무가 아니며, 프론트엔드 개발자 또한 반드시 중시해야 합니다.
- 프로젝트를 주도적으로 이끌 것, 프론트엔드에만 국한되지 마라
프론트엔드 개발자의 본연의 업무가 많지 않을 수도 있지만, 프로젝트 팀의 성공을 위해서는 모든 구성원의 협력이 필요합니다. 예를 들어 PM을 위해 간단한 이벤트 페이지 디자인 도구를 제작하는 등 프로젝트 개발을 주도하는 것이 좋습니다.
- 신기술이 무엇을 위한 것인지 파악하라
무작정 신기술을 쫓아다닐 필요는 없지만, 계속 관심을 기울이고 어느 정도 파악하고 있어야 합니다. 마주한 문제가 신기술을 통해 아주 쉽게 해결될 수도 있기 때문입니다.
- 자신의 업무만 챙기지 말고 대국적인 견지를 가질 것
프로젝트의 성공이 팀원 모두의 최우선 목표입니다.
1. 선배님들이 제시하는 프론트엔드 개발 요구사항
1. 디자인, 제품 및 인터랙션 지식 축적
2. 프론트엔드 신기술 학습:
-
프론트엔드 자동화 도구(Gulp/Grunt 등)
-
모듈화(CommonJS, AMD/CMD 모듈 로더, 각종 Bundler, ES2015 Modules 등)
-
프론트엔드 MV* 프레임워크(Backbone, Angular 등)
-
CSS 및 JS로 컴파일되는 언어들(Less/Sass/CoffeeScript 등)
-
프론트엔드 자동화 테스트 도구(Karma, Mocha, Web Driver 등)
-
NodeJS 학습 방법:
-
먼저 JS를 익혀야 합니다.
-
Github에서 간단한 프로젝트를 찾아 모방해 보세요. 예: https://github.com/felixge/node-mysql
-
NodeJS 기반의 블로그 관리 시스템을 만들어 보세요: 포스팅, 관리, 회원 관리, 권한, 파일 관리. 그리고 이를 자신의 Github에 제출하세요.
-
단계적으로 보완하여 Wordpress와 같은 형태로 만들어 보세요.
-
이 단계에 이르면 다음에 무엇을 해야 할지 스스로 알게 될 것입니다.
-
-
TweenMax 등 JS 애니메이션 라이브러리 숙달 (떠오르는 ThreeJS)
3. 시각 전달/색채 구성/평면 구성에 관한 기초 지식 습득
4. 웹 성능 최적화, SEO 및 서버 측 기초 지식 또한 반드시 마스터해야 함
2. 선배님들이 추천해 주신 아직 다 읽지 못한 책들
-
《자바스크립트 패턴》
-
《하이 퍼포먼스 자바스크립트》
-
《자바스크립트 프레임워크 디자인》
-
《jQuery 오픈소스 소스코드 분석》
-
《MVC 기반의 JavaScript 웹 리치 애플리케이션 개발》
위의 기초를 바탕으로 JS MVC 개념을 이해해야 합니다. 저자가 어떻게 JSMVC 프레임워크를 구축하는지 살펴보세요. 이를 이해하려면 JS 언어와 프레임워크에 대한 숙련도가 필요합니다. 더 깊이 공부하고 싶다면 Backbone, Angular, Ember 등을 사용해보고 각각의 장점을 분석하고 활용하며 코드를 분석해보세요. 아키텍처와 언어 능력이 한층 향상될 것입니다.
- 소스 코드 읽기
JS 오픈소스 코드를 읽어보는 시도를 해보세요. 추천하는 소스: backbone.js, lazyLoad.js, oz.js, sea.js, sizzle.js, underscore.js. jQuery 소스 코드는 읽기에 다소 버거울 수 있어 개인적으로는 크게 추천하지 않지만, 위에 나열된 코드들은 구조나 JS 기교, 알고리즘 면에서 명확하게 기술되어 있어 JS 소스 학습의 훌륭한 모범 사례입니다.
- 꾸준한 코딩
끊임없이 JS 코드를 작성해야 합니다. 이것이 코딩 능력을 향상시키는 유일한 검증 기준입니다. 책을 읽는 것은 아는 것이지만, 실제 코딩은 깊이 체득하는 것입니다. 가장 좋은 것은 자신만의 라이브러리를 만들어보는 것입니다. 첫째는 다른 사람이 당신의 라이브러리를 쓰며 즐거움을 느끼게 하는 것이고, 둘째는 본인의 코딩 수준을 끊임없이 높이는 데 목적이 있습니다.
3. 기타
계속
아직 댓글이 없습니다