Return to Weakness[1]
새 직장으로 출근하게 된 지도 이제 2주차가 지났다. 여긴 2주간 근무 시간을 계산해서(라지만 정규직이니까 무단 결근 안 하면 그냥 80시간이다) 그 다음 근무 단위가 끝날 때쯤 입금을 해 준다. 말인즉슨 첫 월급쯤 되는 개념을 얻었다.
그 동안 여러 행정 처리랑 기본 설정이랑 그리고 21수-22목 이틀간은 시애틀에서 하는 소프트웨어 엔지니어 대상 개발 도구 워크샵 다녀왔고 드디어 프로젝트 체크아웃을 해서 코드를 보고 있다. 여기는 90년대 중후반에 처음 나온 인터넷 기반 기업이니까 웬만한 코드는 자바로 짜여 있고 당연히 내부 클라우드에 떠 있고 스프링 기반의 커스텀 프레임워크로 백엔드를 돌리고 있다. 여기까진 뭐 그렇구나 였는데 프론트엔드 코드를 보니까 JSP로 되어 있는데 자세히 보니까 이거 C# 으로 따지면 Razor Page잖아? 좀 골치아팠던 놈을 약간 다른 형태로 보게 된 셈이다.
PC 폰 탭 모두 지원하는 것이 목표라 곧 Angular 쓰게 될 거라는데, 개인적으로는 그 쪽이 VSCode로 더 익숙하게 쓸 수 있으니 얼른 그 때가 왔으면 좋겠다.
말이 나온 김에 워크샵 이야기. 여기 개발 사이클에서 쓰는 툴이 git이랑 IDE 빼고는 다 자체 제작이다. 심지어 프로젝트 코드를 받고 싶으면 git clone으로 일일이 주소를 칠 필요 없고 체크아웃/싱크/빌드/테스트 포괄하는 CLI 툴로 치면 된다. 여기까지 보니 어 잠깐 Golang에서 가정하는 프로젝트 환경이네? 그랬다 이미 2000년대 초중반에 그런 걸 만들어서 쓰고 있었다고 한다. 좀 뭐랄까, 구글러였던 사람들이 가장 만만해하는 사업 중 하나가 전직 구글러들을 위한 구글 내부 도구와 유사한 도구 만들어 파는 사람들이라는데 이해가 가기 시작했다. 어떻게든 구현 단계에서는 정말 비즈니스 로직에만 신경 쓸 수 있도록 생각을 많이 해 놓은 것 같다.
물론 그게 자바야. 그건 좀... 문법이 너무 옛날 자바 가상 머신에 의존되어 있고 나발이고는 어차피 인텔리제이 쓰면 좀 커버 해 주는데 JVM 부트스트랩이 너무 느리고 그래서 유닛 테스트나 인터그레이션 테스트 시간이 길어지고 당연히 파이프라인 다 도는 데 대기 시간이 은근히 걸린다. 워크샵 연습용 프로젝트도 컨트롤러 2갠가 있는 스프링 MVC가 개발->베타->프로덕션 올라가는 데 10분이 넘게 걸렸다.
여하튼, HTML과 컴파일 언어가 혼재된 세계로 돌아오게 되었다. Razor Page에서 Vue+TS 로 넘어간 시점엔 참 행복했는데.
[1] 원전은 이것 https://youtu.be/i0TWGMzjcXI