플랫폼 특강 === --- 장소 : 렉쳐홀 일시 : 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단계: 기본기 닦기 ![](https://i.imgur.com/mQKJajS.png) acm 전산학과 출신이 배워야하는 것들에 대한 정리해놓음. 개발의 전체적인 프로세스 전반을 겪어보기 삽질해보고, 편하게 갈 길을 고민 속에서 많이 빠져있는 경우도 많음. #### Open Feedback System Input -> Process -> Output 계획 -> 실행 -> 검토 iteration을 짧게 짧게 가져가며, 꾸준히 반복 실전 제안: 체력 키우기 ![](https://i.imgur.com/Rodd4KO.png)