2020-07-15 우아한 Tech 세미나 후기
주니어개발자로 성장하는 우아한 방법들
1 부
연사 : 윤지수 님 (코드스쿼드)
발표자료
웹의 발전에 우리가 대응할 수 있는 10가지 방법
웹의 발전 -> 웹에 대한 요구사항도 발전 중 (인터렉션 등)
1. 현장 이해하고 대응하기
현장의 특징
- 함께 일하기
- 분석, 개발, 테스트, 배포, 피드백, 개선이 반복됨
- 제품과 서비스의 지속적인 운영이 이루어짐
여기서 발생하는 문제들
- 커뮤니케이션 문제
- 일의 순서 정리
- 다양한 제약사항
- 품질과 일정
- 형상관리
- 테스팅의 어려움
연습은 실전처럼 !
일단 기본을 쌓았으면
- 얼른 미니 프로젝트 -> 좀더 큰 프로젝트 -> 같이 할 수 있는 프로젝트
- 프로젝트를 하면서 모르는 부분을 찾아보며 공부하자
- 인턴, 알바 경험
- 경력같은 주니어란 실전적 경험이 많은 주니어 !
문제 해결 능력 향상
- 문제 해결하고 회고 꼭 하기 (다음번에 발생했을 때 잘 대처하기 위해)
- 디버깅 도구 잘 활용하기
- 다른 사람 코드를 읽고 활용하기
2. JavaScript익히는 것이 가장 중요
- 프로젝트를 하면서 언어 책을 함께 공부하자
- 면접에서 이론을 묻는 이유는?
- 기초지식을 충분히 알고 대응하는 개발자인지 알아내기 위해
3. UX 중점으로 개발하기
신입을 뽑을 때 ‘우리 제품의 interaction 이 상당히 복잡한데 이걸 유지보수 할 수 있는 사람일까?’ 라는 고민을 한다.
- FE 개발자는 완벽한 코드보다, 사용성 (ux) 향상작업 (성능, 매끄러움 등) 에 신경을 많이 써야한다.
- 사용자가 쓰기에 불편함이 없는 인터랙션 개발.
- 애니메이션
- 좀더 빠르고 좀더 직관적인 UX 고민, 개선
- CSS3, DOM, Event, Animation 제어, 비동기 + (debounce, throttling) 에 대한 이해
4. 함께 자라기
- 현업은 함께 고민하고 함께 만들며 성장한다.
- 함께할 수 있는 방법을 찾는게 정말 중요하다…
- 면접에서도 협업에서 힘들 었던 점을 많이 물어본다.
(현업에서 마주할 문제들을 해결할 수 있는지 확인) - Github - wiki / issue / project 사용해서 일감 만들어 관리하기
- 커뮤니티를 활용해서 사람들 만나기 !
프로젝트에 대한 팁
- 눈에 보이는 플젝이 화려하다 이쁘다 보다는 어떤 경험을 했는지를 블로그에 정리하는게 더 좋다.
- 기존에 존재하는 사이트의 문제점을 개선해보는 프로젝트도 좋다.
(예전 플젝들 개선하기 블로그로 정리하면 좋을 듯)
5. 기초에서 좀 더 중요한 것들은?
기초는 현업자가 되어도 꾸준히 학습해야할 부분임
-
자료구조 알고리즘
- 문제를 다양한 방법으로 풀수 있고, 효율성 고려할 수 있다.
- 시간 재기
- 쉬운 문제 많이 풀어보기
- 같은 문제 다시 풀어보기
- 다른 사람 코드 보기
- 지속가능한 학습 방법 찾기
-
네트워크 (HTTP, TCP IP 중심) : FE 에게 중요
- 크롬 개발자 도구의 network 부분은 모두 다 알아두는게 좋다.
-
백엔드 접하기
- SSR 을 위한 서버 운영 등에 필요할 수 있다.
6. FE 엔지니어로 점프
-
Component 기반 개발이 표준이 된 세상
- HTML, CSS, JS 를 같이 개발
-
결국 React, Vue 보단 Vanilla 를 먼저 해야한다. (바닐라 플젝 중요하겠다.)
-
HTML, CSS 를 어려워하는 사람은
-
본인이 원하는 사이트 만들어보며 꾸미는 재미를 찾아가면 좋다.
-
꾸미는 재미를 못 찾는 사람은 FE 진로를 다시 고민해봐야함 !
-
7. 개발자 로드맵에 대하여 (양보단 질)
-
로드맵, 그거 다 하다가 10년 지남..
-
주니어는 다 아는가? 가 아니라 무언가를 찐~하게 할 수 있는지가 더 중요
- 특정 부분을 깊이 있게 다룰 수 있는가?
-
내가 하고 있는 분야 (내 플젝) 을 깊게 파고 있는가?
- 꾸준히 만들고 피드백을 받으며 개선했는가?
- UX 향상을 위해 다양한 방법을 찾아보고 시도했는가?
- 코드 품질을 늘리기 위해 리팩토링을 시도하고 실험했는가?
- 내가 얻어낸 코드를 공유하고, 노하우 알리고, 오픈소스화 했는가?
8. React, Vue, Angular 익히기
겉 보다는 속이 중요하다 !
- 프레임워크는 추상화되어 있고 편리한데 속을 알 수가 없다..
- 특정 프레임워크에 비의존적인 부분에 대한 학습이 중요하다.
- 각 프레임워크의 동작 방식
- 렌더링 원리
- 상태 관리
- 모듈 관리
- 성능에 유리한 코딩방식
바닐라로 프레임워크 흉내내기
나름의 디자인 패턴 등 철학으로 리팩토링하기
다양한 툴보다는 하나라도 제대로 알기
9. 내가 선택한 길이 맞을까?
- 열심히, 즐겁게 개발하고 있다면, 틀린 길은 없다.
- 나를 믿고 전진하기
- 이것저것 왔다갔다 안하기
- 피드백을 받을 수 있는 방법 찾아보기
- 다양한 멘토로부터 코드리뷰 받기
- 커뮤니티를 활용할 수도 있음..
10. 나를 알아봅시다.
- 이력서 써보기
- 면접 기회 얻어보기
그 외,
-
프로그래밍 세계는 정직하다.
- 좋은 회사라면 정치보단 실력으로 인정받을 수 있는 분야이고 꾸준히 노력하면 보상 받을 수 있다.
-
Material UI 사용하는 것도 좋은 방법
- CSS 를 잘 알아야 제대로 사용할 수 있기 때문
-
결론: UX, 코드 품질 (유지보수가능성) 을 중점적으로 실력 늘리기
-
좋은 회사 가려내기
- 채용공고를 이번 것, 저번 것도 모두 보기
- 여러 공고들에서 무엇을 중요시 하는지 보기
- 함께하는… 등 협업을 중요시하면 일단 좋을 가능성 높음
- 장비, 사람들의 자유성 등 면접에 가서 훑어보기
- 면접에서 ‘을’로 대하면 가지 말라
- 기술 질문 안하는 회사는 위험할 수 있다.
- 깊이 있게 대화하고 날카로운 질문이 많았다 - 좋은 회사일 가능성 높음
2 부
연사 : 정호영 님 (코드스쿼드)
발표자료
- 개발 커뮤니티 및 스터디 활동으로 의사소통 및 협업능력 길러야함 !
-
개발 경험도 좋지만 운영해보는 경험이 매우 중요함
- 실제 누군가 사용할만한 앱을 만들어서 운영해보기
- 장애도 나보고, 풀리퀘도 만들어보고
-
기업의 팀문화가 좋은지 알아보고 괜찮으면 작은 스타트업이라도 도전하는 것 좋음
- 나중에 대기업 이직 충분히 가능
-
3년차 채용까지도 신입이 부딪혀볼만 함
-
학습 강도 유지 - 꾸준하게 할 수 있는 강도를 찾아야 함
-
개발자는 최종 면접도 개발자 임원이 기술 면접할 가능성 매우 큼
-
좋은 개발자란?
- 팀의 샌산성에 긍정적인 영향을 끼치는 사람
- 도서 추천
- 함께 자라기 - 김창준
- 추천 리스트
회고 ✍
-
협업할 수 있는 기회를 정말 적극적으로 찾아야겠다.
- 커뮤니케이션, 코드 품질, 다른 사람 코드를 통해 학습 등 얻을 수 있는 점이 너무 많으므로..
-
UX 향상 개발을 경험할 수 있는 방법 고민해보자.
- debouncing 과 throttling 은 무엇 ?
-
네트워크에 대한 공부 (HTTP TCP/IP)
- 크롬 개발자 도구 - Network 부분은 모두 알아두어야 한다.
-
내가 학습하고 있는 분야 (내 플젝) 을 깊게 파고 있는가?
- 꾸준히 만들고 피드백을 받으며 개선했는가?
- UX 향상을 위해 다양한 방법을 찾아보고 시도했는가?
- 코드 품질을 늘리기 위해 리팩토링을 시도하고 실험했는가?
- 내가 얻어낸 코드를 공유하고, 노하우 알리고, 오픈소스화 했는가?
-
프로젝트에서 다룬 주요 내용 블로그에 정리하기
-
도서 알아보기
- 함께 자라기 - 김창준
- 추천 리스트
Subscribe via RSS