728x90
분야에서 다루는 주제
- 컴퓨터 공학은 알고리즘, 데이터 구조, 운영체제에 관한 분야
- 프로그래밍은 컴퓨터 공학을 구현하는 것
- 소프트웨어 엔지니어링은 소프트웨어로 문제를 해결하는 것
- Liberal arts는 문제를 분석하고, 다른 선택지를 평가하고, 해결책을 엔지니어링하기 위해 필요한 기술을 배울 수 있는 분야
Liberal Arts란
- 사회의 자유인으로 성공적으로 기능하기 위한 기술을 제공하는 분야
- 비판적으로 사고하고, 명확히 커뮤니케이션하며,복잡한 문제를 분석하고 풀고, 물리 세계를 이해하고, 지속적으로 학습하는 것을 준비하는 역향을 길러준다
- 이를 통해 타인과 협업하고, 미래의 문제들을 스스로 해결할 수 있게 한다
Software Engineer에게 Liberal Arts가 필요한 이유
- Liberal arts에서 얻을 수 있는 비판적으로 생각하고 복잡한 문제를 분석하고, 해결하는 능력이 도움되기 때문
언어의 중요성, 그리고 뮤지컬과 연극 등 공연의 기능
- 제한된 시간 내 스토리를 말하고, 감정을 전하며, 관객이 생각하도록 함
- 프로그래머는 시인처럼 명확한 언어를 통해 컴퓨터에게 명령함
관객에 대한 이해
- 개발자는 두 관객을 위해 글을 쓴다. 컴파일러와 다른 개발자
Domain-Driven Design
으로부터 온 개념ubiquitous language
은 특정 맥락 안에서 용어를 명백히 정의함으로서 커뮤니케이션을 돕는 것을 의미- 당신의 ubiquitous language에서 단어와 구절이 당신의 맥락 밖에서 다른 의미를 가질 수 있으나, 관객의 폭이 좁으면 큰 문제는 아니다
- DDD에서는 native data type보다는 value type을 사용할 것을 추천한다. 예를 들어, 단순 string, integer보다는
AccountNumber
로 전달하는 것을 명확한 커뮤니케이션에 도움이 된다
모든 문제는 커뮤니케이션 문제
- Waterfall 프로젝트는 커뮤니케이션의 이산적이고 중요한 부분들을 기반으로 한 방식
- 반대로 Agile 방식은 작은 것을 자주 만들고, 커뮤니케이션의 작은 부분에 집중하는 방식. 구성원이 무엇이 논의되고, 정의되고, 문제가 무엇인지 함께 파악하고 해결하기가 좋다
인간 커뮤니케이션 다음 모델 소프트웨어 커뮤니케이션
- liberal arts에서 배우는 커뮤니케이션 방법론 지식을 소프트웨어 엔지니어 분야를 이해하는 데 활용 가능
- 분산형 시스템을 아키텍처 차원이 아니라 사람들이 어떻게 소통하는 지 관점에서 보길 권함
- 인간이 휴대폰과 전화로 실시간 통화하거나 1:1로 통화하는 것, 이메일 보내는 것 등을 비동기 처리 또는 분산형 커뮤니케이션 패턴으로 이해할 수 있다
- 스타벅스 주문 예시
- 주문 : 주문이 정확한 메시지(in the ubiquitous language)로 번역(through an anti-corruption layer)
- 준비 : 주문이 종이 컵에 기재(transport layer)
- 전달 : 커피가 준비되면 이름을 부르고(raising an event), 손님은 카운터에서 컵을 가져간다(reacting to the event)
- 주요 소프트웨어 패턴
- CQRS(Command Query Responsibility Segregation) : 쿼리 요청하면 정보를 받는 패턴
- Event-Driven Architecture
- Reactive programming
공감의 중요성
- humanities를 공부하면 세상이 감각할 수 있는 것 보다 얼마나 복잡한 것인지 배움
- 환경, 위치, 배경 등으로 인한 관점이 조금만 달라도 결과물은 크게 달라짐
- Agaile Manifest를 한 문장으로 줄이면 '공감을 연습하기'
- 개인과 소통을 프로세스와 도구보다 더 선호
- 계약 협상보다 고객 협업은 이해 공유와 공감을 만드는 것이기 때문
비판적 사고와 문제 해결 능력
- 과학적 방법론의 핵심
- 가설을 만들고
- 실험을 통해 가설을 테스트하고
- 데이터를 분석하고
- 결론 도출
Lifelong learning
- Liberal arts는 광대한 정보가 있고 이 안에 배울 수 있음을 알게 해줌
- Liberal arts는 넓은 지식을 활용하여 새롭고 낯선 주제를 분석하는 것을 도와줌
Reference
- https://www.washingtonpost.com/news/answer-sheet/wp/2015/04/02/what-the-liberal-in-liberal-arts-actually-means/
- https://www.washingtonpost.com/opinions/why-stem-wont-make-us-successful/2015/03/26/5f4604f2-d2a5-11e4-ab77-9646eea6a4c7_story.html
- https://www.infoq.com/articles/great-engineer-needs-liberal-arts/
728x90
'Essay > Human' 카테고리의 다른 글
Technological innovation history (0) | 2023.11.17 |
---|
댓글