2022년 6월 회고
이번 달은 너무나도 정신없이 바빴다.
AC2
어느정도 예상하긴 했지만... 생각보다 더 불확실하다. 사람이 많다는 것이 큰 변수가 되는듯. 아무튼 진정한 의미의 '자기주도학습'을 경험하고 있다. 이런게 진짜 구성주의 교육인가 싶기도.
문제는 회사일과 겹쳐서 거의 투잡을 뛰고 있다는 느낌이랄까. 내가 시간을 투자하는 만큼 훈련할 수 있는 기회가 생겨서 에너지 레벨을 관리하는 것에서 양가적인 마음이 든다.
Christopher Alexander
AC2 커뮤니티에 들어와서 과정 자체와는 별개로 크리스토퍼 알렉산더라는 사람과 그의 저작에 대해 크게 관심을 가지게 되었다. 원래는 그냥 그런 사람이 있었다 정도로만 알고 있었는데, 생각보다 더 중요하게 관심을 가질만한 사람이라고 느끼게 되어 그의 저작을 찾아 읽게되었다.
'소프트웨어가 건축과는 달리 유연하다'고 생각했던 나의 과거를 반성하게 되었다.
그의 저작은 요컨대, 살아있는 구조물을 만드는 방법에 대한 이야기이다. 거의 자연철학에 가까운 글이라 이해하기가 쉽진 않지만 여러 통찰을 주고있다.
- 정적인 디자인이나 어느 한 시점의 코드가 아니라, 시간의 흐름 속에서 주변과 상호작용하는 모습을 인식할 때, 살아있고 그래서 지속적으로 변화할 소프트웨어를 만들 수 있다.
- 존재하는 구조를 확장하고 발전시킬 수 있는 '과정'이 바로 창조적인 것이다.. 살아있는 소프트웨어를 만들기 위해서는 아키텍처와 구조를 설계할게 아니라 그것이 만들어지는 과정을 살펴야한다.
- 추가/삽입은 전체를 보존할 수 있어야한다. 어떤 코드 변경이 시스템의 균형이나 일관성을 무너뜨리는 것을 막아야한다. 코드 전체를 갈아엎는 것도 나쁜 선택.