아이가 보드 게임을 선물로 받아왔는데 설명서가 글로 빼곡하다. 규칙을 이해하기가 쉽지 않다. 주말에는 머리를 좀 쉬고 싶다. 다른거 하면 안되겠냐고 몇 번 양해를 구하고 돌아 섰는데 오늘은 첫째가 실망한 얼굴을 하고 있음이 느껴져 물어보니 정말 하고 싶단다.설명서를 다
새로오신 분에게 Netty 프레임워크에 대해 설명해 주는 시간이 있었다. 분명히 스스로 잘 써왔는데 막상 설명을 하고 질문에 답변을 하려니 분명하게 모르고 있는 부분 많았다. 그 분에게 설명하려고 애쓰다 보니 나의 지식이 분명해 짐을 느낀다. 독자가 있는 것은 학습에서
한 창업자의 강연을 들었다. 요즘 아침에 일어나면 회사에 빨리 가고 싶어 설레인다고 했다. 그가 엄청나게 열정 넘치는 사람임을 안다. 부럽고 멋있었다. 그러나 나는 오히려 스스로 앞으로 경계하야 할 조언으로 삼는다. 혼자 설레지 말아야지, 함께 설레는 조직을 만들어야지
내가 작성한 코드를 다른 사람에게 설명하기 위해 다시 들여다 보고 있다. 꽤 유익한 경험이다. 나는 주석을 잘 달지 않는 편인데 가능하면 코드를 읽고 의미가 드러나도록 노력하기 위해서 그리고 코드에 드러난 의미를 다시 주석으로 다는 중복을 피하기 위함이다. 그런데 내
작년에 기록해 두었던 트러블슈팅 관련 글들을 다시 읽어보고 있는데 코드를 함께 기록해 두지 않은 글들은 내가 뭘 한 것인지 나도 이해하기가 힘들다. 항상 문제 코드와 해결한 코드를 같이 기록하는 습관을 들여야겠다!
코딩테스트 연습하듯 현업의 코드 작성을 해보았다. 주석으로 문제를 쪼개서 단계적으로 접근하니 복잡한 문제가 쉽게 보여서 좋았다. 그러나 확실히 다른점은 현업에서는 문제 자체와 오늘 해결할 문제의 크기를 스스로 정의해야 한다는 점에서 많이 다른 것 같다. 오늘 문제를 조
어떤 제약으로 클래스에 some1, some2, some3 처럼 List 없이 쭉 펼쳐진 멤버들이 있었는데 루프를 돌 수 없어 괴로웠다. 현업에서 Reflection을 제대로 사용해 본적이 없었는데 getMethod("some"+index).invoke(...)와 같이
한 두달 내가 작성한 코드와 일들을 공유하기 위해 정리하고 문서화해서 가르쳐주는 일을 반복하게 될 것 같다. 신기한게 일주일 정도 했는데 업무에 만족도가 꽤 높다. 어디 이런 일은 없나 모르겠다.
인수인계를 진행하며 배우는게 많다. 내가 잘 알고 있다고 느끼던 지식을 다른 사람(특히 완전 초보자)에게 가르쳐 주기 위해 고민하고 설명하다 보니 지식이 훨씬 견고하고 확실해 짐을 느낀다. 이 보다 더 좋은 배움의 길이 없다는 생각이 든다. 뿐만아니다. 오늘은 내가 쓰
익스트림 프로그래밍이라는 책을 작년에 부분부분 읽었다. 몇 장 읽지 않은 책의 내용 중에 "위기를 기회로 바라보라"는 말이 요즘 자주 맴돈다. 다들 위기라고 하는데 기회로 바꾸어 바라보아야지! 이 말이 다만 말이 아니라, 약간의 확신으로 다가온 이유는 내 삶의 작은 단
부하 테스트란 걸 처음 시도해 보았다. 일단은 내 컴퓨터에 있는 CPU 코어들을 풀로 활용해서 2048개의 클라이언트를 CompletableFuture를 사용해 최대한 동시 접속 처럼 되도록 시도해 보았다. 생각해 보니 그래 봤자, 동시에 실행되는건 코어수 정도고 나머
파일 다운로드 클라이언트의 REST API를 구현해 기존에 구현한 코어 파일 클라이언트 모듈과 연결했다. 그리고 RestAssured를 사용해 통합 테스트를 간단히 작성해 보다. 처음에 러닝커브만 넘어서니 개발이 정말 쉽고, 테스트도 간편했다. 나의 첫첫첫 경험들.그리
오랜만에 하루 종일 내 책상에만 앉아 프로그램을 설계하는 일을 할 수 있었다. 이틀간 쓴 휴가 때문인지 마음이 많이 차분해져 있었고 복잡한 머리도 한 결 가벼워져 있었다. 예전에 임베디드 시스템에 소프트웨어 업데이트 도구를 개발했던 경험이 생각나는 하루다. 예전에 해봤
오늘은 신입사원으로 지원한 분의 면접이 있는 날이다. 면접 질문을 미리 준비하지 못해 면접 직전까지 질문 목록을 정리한다. 면접을 준비하는 시간도 데드라인이 있으니 불필요한 질문들은 신속히 버리고 정말 묻고 싶은 질문만 남기게 된다. 하루 전에 여유롭게 준비했다면 꼭
계속해서 면접이 잡혀있다. 오늘은 미국에 있는 대학교에 다니는 3학년 학생의 인턴 포지션에 대한 면접이 있었다. 잠시 대화를 나눠보며 아주 훌륭한 엔지니어 같다고 느껴졌다. 고등학교 때 친구들과 창업을 한 경험이 있었고 학교에서 교과 과목도 매우 우수한 성적으로 패스하
연차를 쓰고 이직 기간 자주 오던 도서관에 오랜만에 왔다. 괜찮은척 했지만 괜찮지 않았던 그 시절의 불안한 감정이 새록새록 떠올랐다. 다행이다. 내일이면 돌아갈 회사가 있고, 내게 일이 있고, 정해진 시간에 어김 없이 들어오는 월급도 있다. 아무 이유 없이 회사가 있다
C++ 이라는 언어를 오랜만에 다시 접한다. 2024년에 접한 C++은 내가 10여년 전 접하던 것과는 많이 다른 느낌이 든다. 언어적으로 많은 부분 발전한 것 같다. 오늘은 객체지향의 다형성으로 해결할 수 없을 것 같은 다소 어려운 문제를 만났다. 코드가 동일한 구조
큰 불확실성과 어려움을 안고 회사 일을 한다. 회사이기에 온갖 역경이 있어도 어떻게든 일을 밀고 나가야만 한다. 이렇게 하면 완벽하지 않더라도 어떻게든 일이 되어지곤 한다. 개인적으로 하는 일은 조금 다르다. 불확실성과 어려움을 마주하면 안되는 것으로 쉽게 생각하게 된
이제 정말 코드로 제품을 개발하는 일에 집중할 때가 온 것 같다. 이제 무엇을 구현하면 되는지 많이 확실해 진 느낌이다. 그 동안 우리가 의존하는 것들이 가진 많은 불확실한 것들을 확실한 것으로 만드는데 혼신의 힘을 다했다. 스케치를 하듯 여러번 반복해서 질문을 하다보
엉뚱한 얘기를 하는 협력사를 질책하고 싶은 마음이 든다. 그런 그들에게 아무런 대응도 하지 않는 우리 내부의 사람들이 답답하고 도리어 무책임하게 느껴진다. 이 회사에 오고 존경하는 마음이 들었던 한 분이 있다. 부정적이고 어려운 상황에서 온화함을 잃지 않고 침착하게 일
대화가 잘 통하고 함께 원활히 협력하며 일해온 동료가 슬랙으로 일과 관련된 질문을 해온다. 그가 하는 말이 무슨 말인지 잘모르겠다. 어떻게 답을 해야할지도 잘 모르겠다. 텍스트로 다시 내가 모르는 것과 너의 의도를 묻자니 쉽지가 않다. 그래서 잠깐 보자고 하고 휴게실에
요즘 아주 척박한 일정 속에서 처음 만들어 보는 신비로운 제품을 만들고 있다. 실패할 것을 각오하고 도전하는게 진짜 스타트업 같기도 하다. 촉박한 일정, 처음 만들어 보는 제품, 오랜만인데 진화해 있는 C++ 언어 덕인지 내 걸음이 한치 앞을 내다볼 수 없는 안개 속을
때때로 프로그래밍은 벽돌을 쌓아올리는 듯 지루하고 고통스러운 작업이 된다. 무슨 재미와 즐거움만 있기를 기대했다면 오산이다. 일이란 때때로 그런 것들을 참고 해나가는 것이다.
결과적으로 설명의 흐름을 정리한 몇 줄의 메모와 코드만 있으면 되는 거였다. 동료에게 내가 작성한 코드를 설명하기 위해 UML까지 꺼내들었던 걸 보면 과한 솔루션을 상상했었던 것 같다. 프로그래밍은 이렇듯 현재의 제한된 시간과 자원 안에서 정말 할 수 있는 최선의 것을
제품을 X축, Y축, Z축으로 각각 흔든다. 어떨 때는 눈에 보일 정도의 떨림을 주면서 흔들고, 어떨 때는 진동으로 인해 고주파 소리는 나지만 눈에는 거의 보이지 않을 정도의 흔들림도 있다. 소프트웨어 분야와 마찬가지로 여기도 흔들림이라는 외부 요인을 잘 입력하는 것만
회사에서 다른 사람에게 구애 받지 않고 온전히 내 의지대로 행동할 수 있는 일은 많지 않은 것 같다. 많은 것들이 연결되어 있고 일은 뜻하지 않게 일어난다. 최근에 약간의 스트레스를 받는 나를 위해 점심 식사를 혼자 해보자고 스스로에게 제안하게 되었다.배민으로 먹고 싶
sftp를 사용해 1Gbps 네트워크에서 대용량 파일을 전송하는데 50Mbps 속도가 나온다. 우리만 사용하는 로컬 네트워크라 다른 부하는 없다. 우리는 제한된 전력을 사용함으로 미션 시간 제한이 있는데 이 문제로 인해 파일 크기 제한이 생겼다.문제를 조금 더 분석해