-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #29 from KunHwanAhn/release/23.04.0
Release/23.04.0
- Loading branch information
Showing
3 changed files
with
370 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
# Storybook을 통한 UI 개발 프로세스 간소화 | ||
- Florian Ludot | ||
- Avanssion Inc. | ||
- [발표자료](https://docs.google.com/presentation/d/1t3Hcpeo_DfmhtbEs1JKas-tOlagahEpp/edit#slide=id.g221e1dbd759_0_2) | ||
- [Youtube](https://youtu.be/MFhzwwcmWj0?t=17) | ||
|
||
## Who is this for | ||
- Designers | ||
- Frontend Developers | ||
- Team Leaders & PMs | ||
|
||
## Agenda | ||
- What's Storybook? | ||
- Why should you care? | ||
- Prepare the design | ||
- Storybook: implementation | ||
- Storybook: deployment | ||
- Publishing the library | ||
- Integration | ||
- Fianl key takeways | ||
|
||
## What's Storybook? | ||
- Storybook is a frontend workshop for building UI components and pages in isolation. | ||
|
||
## Why should you care? | ||
- Component-Driven Development | ||
- Component Documentation | ||
- Involve all stakeholders as soon as possible | ||
- Improve testing | ||
- Isolate UI from buisness logic | ||
|
||
## Prepare the design | ||
- Atomic Design | ||
- Introduced by Brad Frost in 2013 | ||
- Methodology for creating design system | ||
|
||
### Atomic Design | ||
- [Demo](https://www.figma.com/file/xzj8gzuhGNqVyGfFNtCglC/Creative-Tokyo-Kit?node-id=13-222) | ||
- Design Tokens | ||
- Atoms | ||
- Molcules | ||
- Organisms | ||
- Templates | ||
- Pages | ||
|
||
#### Design Token | ||
- 스스로 사용할 수 없는 것들 | ||
- 컬러코드와 인지 가능한 이름 매핑 | ||
- 브레이크 포인트 | ||
- Elevation | ||
|
||
#### Atoms | ||
- 더 이상 쪼게질 수 없는 컴포넌트 | ||
- Typography | ||
- Button | ||
- Shape | ||
- Squre | ||
- Rounded | ||
- State | ||
- Pressed | ||
- Hover | ||
- Disabled | ||
- Loading | ||
- etc... | ||
|
||
#### Molcules | ||
- Atom의 조합으로 만들어진 컴포넌트 | ||
|
||
#### Organisms | ||
- Atom & Molcules의 조합으로 만들어진 컴포넌트 | ||
|
||
#### Templates | ||
- 목업 데이터로 채워진 중간 결과물 | ||
|
||
#### Pages | ||
- 실제 데이터로 만들어진 최종 결과물 | ||
|
||
### Best Practices and Tips | ||
- Don’t forget “easy to forget” component states (disabled, loading, …) | ||
- Document your design as much as possible | ||
- Avoid as much cognitive overhead for developers during the handoff | ||
- Involve stakeholders in your design process | ||
|
||
## Storybook: implementation | ||
- [Demo](https://master--63f12fea8a787fc74f71d1b8.chromatic.com/?path=/story/tkcreativekit-introduction--page) | ||
- Provide static and sandbox stories | ||
- Document your storybook as much as possible | ||
- Test accessibility right into your stories | ||
- storybook-addon-designs to embed Figma previews | ||
- Implementing templates and pages don’t suit every projects | ||
- Involve stakeholders in your development process | ||
|
||
|
||
## Storybook: deployment | ||
- [Chromatic](https://www.chromatic.com) | ||
- 스토리북을 만든 곳에서 만들어서 여러가지 호환성이 좋음 | ||
- [Github Page](https://pages.github.com) | ||
- [AWS S3](https://aws.amazon.com/s3) | ||
- Storybooks are private by default | ||
- 5,000 free snapshots/month | ||
- Sync your Chromatic project with the GitHub repo | ||
- Use Continuous Integration | ||
|
||
## Publishing the library | ||
- [참고 저장소](https://github.com/florianldt/tkcreativekit) | ||
- Should you really publish your component library? | ||
- If yes, should it be a public or private one | ||
- Build your library using Typescript or provide types | ||
- Document your library | ||
- Write tests and provide code coverage | ||
- Use a changelog to keep track of changes | ||
|
||
## Integration | ||
- [참고 저장소](https://github.com/florianldt/tkcreativekit-integration) | ||
- Use npm link x or npm install /local/path/to/x while testing integrations | ||
|
||
## Fianl key takeways | ||
- Study Human Interface Guidelines ([Web](https://m3.material.io/), [Apple platforms](https://developer.apple.com/design/human-interface-guidelines/guidelines/overview/), [Android platforms](https://developer.android.com/design?hl=ko)) | ||
- Onboard and communicate with stakeholders early on | ||
- The Storybook is a living document | ||
- Start using Storybook for new projects | ||
- Gradually adopt it for existing projects | ||
- Study top company Storybooks |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,243 @@ | ||
# 테크리더의 공감 테크 쇼 | ||
- [Youtube](https://www.youtube.com/live/vga0PZK6AvI?feature=share&t=1355) | ||
|
||
## 개발보다 어려운 피드백과 1 on 1 | ||
- 나만의 팀 리딩 노하우와 동기부여를 하는 방법 | ||
- 나와 조직 내의 팀원이 성장과 문화가 올바른 방향으로 가고 있는지 지속적으로 체크 가능한 방법이 있을까요? | ||
- 팀원 중 팀 문화에 맞지 않고 시니컬하거나 부정적인 경우에는 어떻게 소통하시나요? | ||
|
||
### 나만의 팀 리딩 노하우와 동기부여를 하는 방법 & 나와 조직 내의 팀원이 성장과 문화가 올바른 방향으로 가고 있는지 지속적으로 체크 가능한 방법이 있을까요? | ||
|
||
#### From 황준태 | ||
- 적절한 아이스브레이킹 | ||
- 주변의 소리를 잘 듣고 분석 | ||
- 최대한 캐주얼한 느낌으로 | ||
- 팀원이 최대한 본인의 의견을 제시할 수 있는 방향으로 | ||
|
||
#### From 권용근 | ||
- 위임은 최대한 할 수 있는 만큼 | ||
- 큰 나무 밑에서는 큰 나무가 클 수 없다 | ||
- 전문적 권력. 지식이나 경험이나 역량에서 나오는 권력 | ||
- 개발 조직 내에서는 더 많은 영향력을 줌 | ||
- 리더는 기술이나 지식의 배경을 제공하고, 팀원은 그 안에서 자유롭게 | ||
|
||
#### From 최희준 | ||
- 다양한 분야, 다양한 경력을 가진 사람들. 최대한 공감을 | ||
- 언제나 의견을 자유롭게 낼 수 있는 환경으로 | ||
- 개발에 대한 위임. 일의 중요성과 진행을 지속적으로 갱신하여 동기부여 | ||
|
||
#### From 이덕우 | ||
- 리더 스스로의 성장을 위해 리더십 관련 도서나 교육 | ||
- 회사의 목표와, 개인의 목표를 얼마나 잘 Align 할 수 있을 것인가 | ||
|
||
### 팀원 중 팀 문화에 맞지 않고 시니컬하거나 부정적인 경우에는 어떻게 소통하시나요? | ||
|
||
#### From 황준태 | ||
- 본인의 성향이 아닐지라도, 그 팀원의 입장에서 생각. 다만 그걸 방치하는 것은 조직의 문화를 좋지 않게 만들 수 있음 | ||
- 1 on 1은 다른 팀원보다도 더 자주. 노력을 기울였으나 변화가 없다면... 다른 팀원들 역시도 잘 케어 해줘야 한다 | ||
- 팀원의 성과를 잘 체크해서 좋은 평가를 받을 수 있도록 | ||
- 타 구성원과의 영향이 적은 업무 위주로 할당 | ||
|
||
## 내가 만들고 전파하는 개발 문화 | ||
- 내가 만들고 전파하는 개발 문화가 있나요? | ||
- 새로운 기술 도입이 필요할 때 팀원을 어떻게 설득하고 있나요? | ||
|
||
### 내가 만들고 전파하는 개발 문화가 있나요? | ||
|
||
#### From 황준태 | ||
- 팀마다 성향이 매우 다르다... | ||
- 시장의 문제를 스스로 찾아내고, 우리 고객에게 어떤 프로덕트가 필요할지를 고민하고 발굴하는 하여, 업계를 리드할 수 있는 팀을 만들고 싶었다 | ||
- 팀원들과 팀이 가고자 하는 방향에 대해서 계속 계속 이야기.. 프로덕트의 발전과 성장에 대해서 논의하고 회의하는 과정.. | ||
- 6개월, 1년, 3년 로드맵을 그리면서 달려가기 위해 필요한 것은? | ||
- 수평적 커뮤니케이션 | ||
- 공동 책임제 | ||
|
||
#### From 권용근 | ||
- 파일럿 프로젝트 문화. | ||
- 신규 입사자 온보딩을 위해서 배포 프로세스를 전부 경험해볼 수 있도록 | ||
- 업무량 자체는 기간 내에 해결이 불가능한 정도로, 의도적인 좌절을 주기 위해서. 좌절을 통해 더 큰 열정을..(?) | ||
|
||
### 새로운 기술 도입이 필요할 때 팀원을 어떻게 설득하고 있나요? | ||
|
||
#### From 이덕우 | ||
- 다양한 기술들의 장/단점을 비교하고, 팀에게 적합한지 여부를 끊임없이 확인 | ||
- 더 나아가서는 프로토타입을 만들어서 적합성을 검증 | ||
|
||
#### From 최희준 | ||
- 문제를 풀 수 있게 정의. 그 문제를 푸는 방법을 충분한 시간을 가지고 논의하고 토론하는 시간 | ||
- 이야기하는 시간 동안 일이 늘어질 수 있지만, 최대한 좋은 합의를 이끌어 내는 것이 더 좋다 | ||
|
||
## 팀원들의 성장 욕구를 만족시키며 프로덕트 성장시키지 | ||
- 팀원 간의 기술격차가 큰 상황에서 조직의 성장 방향과 팀원들의 성장 방향을 잘 맞추고 간극을 해소하는 방법은? | ||
- 개발자의 성장 욕구를 만족시키면서 조직의 프로덕트 성장을 함꼐 이끌어낼 방법은? | ||
|
||
### 팀원 간의 기술격차가 큰 상황에서 조직의 성장 방향과 팀원들의 성장 방향을 잘 맞추고 간극을 해소하는 방법은? | ||
|
||
#### From 최희준 | ||
- ??? | ||
|
||
#### From 이덕우 | ||
- 팀에서 가장 중요하게 생각하는 것은 팀웍. 업무를 할 떄 기술만 가지고 할 수 없다 | ||
- 기술적으로 뛰어난 사람이 있고, 다른 역량이 뛰어난 사람이 있을 수 있다 | ||
- 각자가 갖고 있는 역량을 최대한 활용할 수 있도록 꾸준한 상담을 하고 있다 | ||
- 결국 팀원 간의 시너지가 중요 | ||
|
||
### 개발자의 성장 욕구를 만족시키면서 조직의 프로덕트 성장을 함께 이끌어 나가는 방법은? | ||
|
||
#### From 권용근 | ||
- 회사라는 곳은 프로덕트의 성장을 지향하는 것이 맞다 | ||
- 개발자의 성장과 프로덕트의 성장은 항상 일치하지 않는다 | ||
- 회사는 항상 개발자의 성장을 생각하며 프로덕트를 주어주지 않는다 | ||
- 회사의 과제만으로 성장하는 개발자는 성장에 제한이 있다 | ||
- 스스로 성장할 수 있는 과제를 찾아내는 사람들을 계속 독려하고 이끌어주어야 한다 | ||
- Auto Mode. 외부의 자극 없이도 꾸준히 알아서 잘하는 사람들... | ||
|
||
#### From 황준태 | ||
- 팀원은 모두 다 똑같은 기대치로 성장 욕구를 갖고 있는 것은 아니다. | ||
- 성장 욕구가 낮은 팀원에게 높은 기대를 품고 어려운 과제를 주는 것은 역효과 | ||
- 팀원이 프로젝트에서 어떤 것을 얻고 싶고, 어느 단계까지 가고 싶어하는가, 프로젝트에서 어떤 것을 얻고 싶은가를 파악 | ||
- 성장 욕구가 큰 팀원 | ||
- 장기 프로젝트, 단기간 내에 해결하기 어려운 과제 => 어려운 과제만 주다보면 그 사람이 지치지 않을까? !!!!!!!!!!!!!!!! | ||
- 성장 욕구가 낮은 팀원 | ||
- 단기 프로젝트, 적절한 시기에 해결할 수 있는 과제 | ||
- 하지만 가끔씩 성장 욕구가 낮은 사람에게도 도전할 수 있는 과제를 주어야 한다 | ||
|
||
## 개발자의 숙명, 끊임없이 학습해야 하는 시니어 | ||
- 새로운 기술이 끊임없이 나오는 상황에서 어떤 걸 공부해야 할지, 얼마나 깊게 공부해야 할지 정하는 노하우가 있나요? | ||
- 개인이 부족하다고 생각하는 부분을 개선하고 연구해 나가는 구체적인 방법이나 노하우가 있나요? | ||
|
||
### 새로운 기술이 끊임없이 나오는 상황에서 어떤 걸 공부해야 할지, 얼마나 깊게 공부해야 할지 정하는 노하우가 있나요? | ||
|
||
#### From 권용근 | ||
- 게임 속의 스킬트리에 비유해보자 | ||
- 내가 잘하고 있는 것을 조금 더 깊이, 더 잘할 수 있게 | ||
- 물 속성으로 40레벨에 도달했는데, 갑자기 불속성을? 그럼 잡캐가 된다.. | ||
- 미래를 위한 학습을 한다. | ||
- 물 속성으로 최대한 키웠는데, 이 후에 한 단계 더 나아가는 물속성 업그레이드가 있다? 그럼 그 업그레이드에 대해서 공부를 해야 한다. | ||
- 모르는 키워드 수집 | ||
- 더 많은 일과, 더 많은 책임이 생긴다면, 큰 그림을 그릴 수 있는 설계 능력이 필요. | ||
- 전체적은 모습을 아우르는 지식이 필요하기에 그 때, 의사소통이 가능한 레벨의 지식정도는 학습해야 한다 | ||
- 개발자 오픈채팅방 | ||
|
||
### 개인이 부족하다고 생각하는 부분을 개선하고 연구해 나가는 구체적인 방법이나 노하우가 있나요? | ||
|
||
#### From 이덕우 | ||
- 모르면 모른다고 편하게 이야기하자. | ||
- 모르는 것을 안다고 말해봐야 얻는 것이 없다. | ||
- 동료들과 의사소통하면서 서로에게 자유롭게 정보를 공유하면서 함께 학습하고 성장할 수 있을 것이다. | ||
|
||
## 시니어에게도 이직하고 싶은 순간은 찾아온다 | ||
- 스트레스 관리 잘 받으시나요? 어떻게 스트레스를 관리하고 있나요? | ||
- 언제 이직이 필요하다고 생각하시나요? 이직할 떄 어떤 점을 고려하셨나요? | ||
|
||
### 스트레스 관리 잘 받으시나요? 어떻게 스트레스를 관리하고 있나요? | ||
|
||
#### From 이덕우 | ||
- 스트레스를 받아도 허용량이 있어서 overwirte되는 부분이 있다. | ||
|
||
#### From 권용근 | ||
- 잘 안받는 편인 것 같다. | ||
|
||
#### From 최희준 | ||
- 주말에는 업무와 관련된 것은 아무것도 안한다. | ||
- 평소보다 가족과 더 많이 즐거운 시간을 | ||
- 평소에 관심있지만, 살펴보지 못했던 것들을 찾아본다 | ||
|
||
#### From 황준태 | ||
- 저녁 타임에 주문이 몰리다보니, 가족과 함께하는 시간을 방해 받으면서 스트레스가 쌓이곤 했다. | ||
|
||
### 언제 이직이 필요하다고 생각하시나요? 이직할 떄 어떤 점을 고려하셨나요? | ||
|
||
#### From 황준태 | ||
- 많은 이직을 하진 않았다. | ||
- 갖고 있는 역량을 많이 쏟아붇는 편이다. 내가 성과를 만들었다고 느끼지 못한다면... 또는 조직이 날 필요로 하지 않는다고 느낀다면... | ||
- 나의 일을 찾아볼까 하는 경우 | ||
|
||
#### From 최희준 | ||
- 업무적으로 성장을 할 수 없다고 느끼거나 | ||
- 주변 동료나 매니저가 긍정적인 영향력을 끼치지 못한다거나 | ||
- 내가 동료에게 긍정적인 영향을 미치지 못하고 있다고 느꼈을 때 | ||
- 내 성장이 정체되어 있다고 느꼈을 때 | ||
|
||
#### From 권용근 | ||
- 내가 배울 사람이 있는가? => 내가 리더고 이끌어야 하는 사람이라면? !!!!!!!!!!!!!!!! | ||
|
||
#### From 이덕우 | ||
- 업무할 떄 무엇을 가장 중요하게 생각하는지에 따라 사람마다 다를 것이다 | ||
- 업무를 할 때 `재미`있는가? | ||
- 내가 개발하면서 서비스가 계속 성장하고 있는가, | ||
- 서비스가 고객에게 충분한 가치를 제공하고 있는가? | ||
- 내가 주도적으로 개발할 수 있는가? | ||
|
||
## 마지막으로 시니어를 준비하고 있는 분들께 | ||
- 나의 주니어 시절은 어땠나요? | ||
- 주니어로 다시 돌아간다면 꼭 해야 하는 것. 하지 말아야 하는 것은 무엇인가요? | ||
- 조직에 고연차 시니어가 없을 때 어떻게 하면 시행 착오를 줄이고 더 안정적이고 빠르게 성장할 수 있을까요? | ||
|
||
### 나의 주니어 시절은 어땠나요? & 주니어로 다시 돌아간다면 꼭 해야 하는 것. 하지 말아야 하는 것은 무엇인가요? | ||
|
||
#### From 황준태 | ||
- 욕심이 많았어서 밤샘 작업도 많았고, 집에 가는 것도 모르고 일했다 | ||
- 아무도 건들지 않았던 프로젝트를 본인이 나서서 해결하려고 했었다 | ||
- 주니어 시절에 폭풍성장한다고 생각한다. 자기 스스로 챌린지 하지 않으면 성장하지 못한다고 생각한다 | ||
- 특정 분야에서 2~3개 정도는 특화되어 있는 사람을 만들고 다양한 영역으로 확장하려고 했을 것이다 | ||
|
||
##### 주니어와 시니어의 차이는? | ||
- 시니어가 되면 걱정이 많아진다. | ||
- 우리 주니어가 잘 성장할 수 있을까? | ||
- 시니어로서 프로덕트에 잘 기여할 수 있을 것인가? | ||
- 회사의 사업 목표에 맞춰서 성과를 낼 수 있을까? | ||
- 누가 시켜서 하는 것이 아니라 스스로 일을 하고 있을 때가 시니어이지 않을까? | ||
|
||
#### From 최희준 | ||
- 사람들에게 좋은 영향력을 미치기 위해서 노력을 많이 했던 것 같다 | ||
- 시행착오를 많이 겪었지만, 그것들이 도움이 되서 지금까지 올 수 있었던 것 같다 | ||
|
||
### 조직에 고연차 시니어가 없을 때 어떻게 하면 시행 착오를 줄이고 더 안정적이고 빠르게 성장할 수 있을까요? | ||
|
||
#### From 권용근 | ||
- 시행착오를 안 겪을 수는 없다. 시행착오를 통해서 더 크게 성장하게 할 수 있게 해준 발판이 됐다고 생각한다 | ||
- 시행착오를 겪는다고 안 좋다고는 할 수 없다. | ||
- 겉으로 봤을 때는 속도가 느려보이지만, 탄탄한 개발자가 될 수 있는 길이될 수도 있다 | ||
|
||
#### From 이덕우 | ||
- 시니어가 있다면 확실히 많은 도움이 된다 | ||
- 내가 가고 있는 방향이 맞는지 흔들릴 때가 많다 | ||
- 가고 있는 방향이 맞는데도 괜한 걱정을 하고 있는 사람들도 많다 | ||
- 회사 안에서 찾을 수 없다면 회사 밖에서도 찾을 수 있다 | ||
- 많은 커뮤니티와 모임, SNS가 있다 | ||
- 나에게 맞는 멘토를 찾아서 떠나봐라 | ||
|
||
## Q & A | ||
|
||
### 리더분들이 이끄셨던 스터디가 있었을까요? 어떤 방식으로 진행하셨나요? | ||
|
||
#### From 권용근 | ||
- 스터디를 하긴 했는데... 경험담... | ||
- 카페에 글 올려서 사람들을 모아서 스터디를 했는데... | ||
- 많은 사람들이 지원해줘서 선별한다고 선별해서 진행했는데... | ||
- 본의 아니게 강의형 스터디를 진행했었던 경험 | ||
- 그 스터디에 참여했던 사람이 어느새 동료로 | ||
|
||
### 시니어로 성장하고 싶은데, 팀원 관리 중심의 매니저의 역할만 줍니다. 어떻게 회사를 설득해야 할까요? | ||
|
||
#### From 황준태 | ||
- 나는 개발 분야에 특화해서 성장하고 싶은데... 어느 순간이 되면 조직에서 조직을 맡기고 관리를 하라고 한다. | ||
- 조직장에게 터놓고 이야기를 해야 하는 것이 필요하다 생각한다. | ||
- 나에게 계속 이런 일이 주어진다면 나는 어떻게 성장해야 할까요? | ||
- 보다 더 솔직하게, 터놓고 이야기하는 것이 중요하다 | ||
- 조직장에 따라서 다르게 될 수 있다 | ||
- 조직장의 케어에 따라서 이직을 고민하는 시점이 될 수 있다 | ||
|
||
#### From 이덕우 | ||
- 팀장을 하고 싶지 않았는데 맡겨서 괴리감이 있었다 | ||
- 왜 기술자로서 성장하고 싶었을까? | ||
- 내가 성장해서 내가 맡은 서비스를 성장시키고 싶었다 | ||
- 내가 나 혼자 성장하는 것은 한계가 있다 | ||
- 팀원들을 성장시키면 같이 성장하면서 서비스를 성장시킬 수 있다라고 생각한다 | ||
|
||
### 기술 블로그에 작성하신 이벤트 기반 아키텍처 관련 글이 도움이 많이 됐는데, 노하우를 정리하는 노하우가 있으신가요? | ||
- 노하우는 없다 | ||
- 스스로 납득이 되지 않는 아키텍처를 고치려고 오랫동안 생각했다 | ||
- 글을 다 작성하는데 1년 반 정도가 걸렸던 것 같다 | ||
- 오랜 고민한 것을 정리는 했다라는 느낌이다 |