플랫폼 특강
===
---
장소 : 렉쳐홀
일시 : 20220209 14:00 ~ 15:47
---
"진짜 문제는 우리가 문제를 전혀 이해하지 않는다는 사실이다."
- 폴 맥크레디
직관적으로 문제를 해결할 수 있는 것이 필요하다.
좋은 소프트웨어 개발자
코드 + 커피 + 시간
좋은 소프트웨어(코드)
1. 동작하는 코드
2. 진화하는 코드**
- 변화하는 요구사항을 대응할 수 있는 코드
- 재사용할 수 있는 부분이 많은 코드
- 읽기 좋은 코드
- Clean Code, Clean Architecture
- Agile
- TDD
복잡한 요구사항들이 생성되기 시작함.
시간을 가치 있는 곳에 쓸 수 있도록 하기 위함.
빠르게 prototype을 짜보고(검증 & 경험), "된다"라는 확신이 들면
좋은 개발자
---
협업(Co-working)
- 이해와 존중
커뮤니케이션을 많이 해야 한다
도전을 해야 함
새로운 변화에 대한 도전을 하면서 능력을 키워야 함
제품/서비스에 대한 이해와 사랑을 해야 한다.
### 성장 기반 마인드셋
무엇을 배울 것인가??
경계가 모호해져야 한다. -> 서비스 전체를 이해하는데 어려울 수 있다. 경계를 깨려는 노력을 했으면 하는 바램.
천천히 서비스에 대한 flow
Professional Software Engineer 란?
Professional
- 전문적 지식/능력을 이용하여
- 시장의 문제를 해결하고,
- 비즈니스적 가치를 부여하여
- 돈으로 보상 받음
Software
- 문제를 해결하는 솔루션의 형태
- 원하는 최종 결과물
Engineer
- 기술로 문제를 해결하는 존재
숙련도에 따른 구분
Newbie: 숨만 쉬어도 좋은 사람
Associate Engineer: 주어진 task를 해결할 수 있는 사람
MidLevel Engineer: 실시간으로 이모티콘을 보낼 수 있는 기능을 만들기
Senior Engineer:
Lead Engineer: 2-3개를 돌리는 사람들, 다른 관점이 필요하다.
Principal Engineer:
분야에 따른 구분
- Web Engineer
- Mobile Engineer
- Desktop Engineer
- Server Engineer
- Software Engineer
- System Engineer
- DB Engineer
- Cloude Engineer
[로드맵](http://roadmap.sh)
1단계: 기본기 닦기

acm 전산학과 출신이 배워야하는 것들에 대한 정리해놓음.
개발의 전체적인 프로세스 전반을 겪어보기
삽질해보고, 편하게 갈 길을 고민 속에서 많이 빠져있는 경우도 많음.
#### Open Feedback System
Input -> Process -> Output
계획 -> 실행 -> 검토
iteration을 짧게 짧게 가져가며, 꾸준히 반복
실전 제안: 체력 키우기
