인쇄 회로기판(PCB) 설계에 특화된 (생산성을 향상시키는) 소프트웨어 만들기.
처음에는 소프트웨어 적으로 어떻게 PCB 설계의 생산성을 증가시킬 수 있을 지도 모름. 나도모르고 전문가도 모르고.. (답이.. ㅜ)
-> 네트
라고 하는 용어가 항상 쓰이는 것을 발견하고, 네트
를 기준으로 모델을 확립해나감. 컴포넌트
, 컴포넌트 인스턴스
, 네트
, 핀
, 토폴로지
발견.
-> 목표설정. 탐구를 위해 탐침 시뮬레이션
을 목표로 잡음.
-> 목표를 지연 부분 찾기
로 재정의. 지연 부분이란, 신호 경로
가 두 세개 이상의 홉
으로 구성되는 경우.
->신호 전달
을 모델링.
-> 토폴로지
는 현재 목적에는 사용되지 않아서 일단 제거.
-> 프로토타입 작성, 비본질적인 부분(인프라 등등) 모두 생략.
-> 전문가와 피드백을 주고 받으며, 모델을 정제, 코드도 정제.
-> 그래서.. 결국은...
우리 팀은 탐침 시뮬레이션이 개발 우선순위가 낮다는 사실을 알게 됐고, 결국 그 기능은 포함되지 않았다. 그 뿐만 아니라 모델에서 컴포넌트를 통과해 신호를 전달하고 홉의 개수를 계산하는 것과 관련한 지식을 포착한 부분도 포함되지 않았다. 애플리케이션의 핵심은 다른 곳에 있는 것으로 드러났고, 그 부분이 두드러지게끔 모델이 수정됐다. 즉, 도메인 전문가가 더 많이 배워 목표를 분명하게 만든것이다
오늘은 나름 충실한 하루를 보냈다. 동료들과 면접에서 아카이빙한 질문들과 그에 대한 각자의 생각을 교환했는데 생각보다 의미 깊었다. 개인적으로 결국 모든 답변은 진정성이 있어야 울림도 있다고 생각하는데, 진정성을 확보하기 위해서는 결국 내가 정말 어떻게 생각하는가에 더 육박해야해서, 자신에 대해 좀더 알게되는 흥미로운 대화였다.
오늘 본 면접은 코딩인터뷰 완전 분석에 나오는 스타일의 면접이었다. 라이브 코딩으로 알고리즘 문제를 풀었는데, 두세문제 까지는 조건과 문제 정의에 대한 확인도 잘했지만, 시간이 오래지나자 점차 체력이 방전되고 동공이 풀리며, 문제 조건을 제대로 물어보지 않아 엣지케이스를 놓치고 구현시간도 오래 걸렸다. 심지어 면접 시작하기 전에, 구현보다 질문과 확인!
이라고 메모도 해두었는데, 까먹는걸 보면, 계속 메모를 옆에 두고 유념하면서 해야할 듯 하다.
도메인 주도 설계 앞부분을 다시 읽었는데, 또 느낌이 달랐다. 전에 읽을때는 뭔가 디테일을 너무 건너뛰고 호다닥 읽은 느낌인것 같다. 찬찬히 다시 읽고 나만의 언어로 다시 정리해보아야 겠다.