IT

    또 동료가 그만뒀다

    Project Fukuoka 5년 가까운 회사 생활동안 가장 기억에 남는 경험을 떠올린다면 '프로젝트 후쿠오카'일 것이다. 거창해보이지만 실은 같은 팀의 동료 엔지니어 동료들과 함께 (휴가를 내고) 후쿠오카 여행을 다녀왔던 일이다. 앞으로 직장 생활을 하며 다시 동료들과 해외 여행을 가볼 수 있을까? 아마 어려울 것 같다. 마음이 잘맞는 동료들과 함께 즐겁게 일하고 즐겁게 놀기도 했던, 귀중한 경험이었다. 동료의 퇴사를 대하는 태도 지금은 대이직시대다. IT업계에서 이제 1년이고 2년이고 같은 구성의 팀이 지속되는 것을 지켜보기는 불가능해진 것 같다. 그렇게 마음이 잘 맞았던 프로젝트 후쿠오카 시절의 동료들과도 조직이동, 이직 등 여러가지 이유로 흩어지게 되었다. 처음으로 멤버 중 한명이 조직이동 소식을..

    [Java] Jackson 사용시 Getter를 주의하자

    짧고 담백하게 결론부터 말하자면 자바에서 Jackson 라이브러리를 사용하여 json 문자열로 Serialize 할때는 getter를 주의해야한다. 예를 들어 아래와 같은 클래스가 있다고 하자. @Builder @NoArgsConstructor @AllArgsConstructor @Getter public class Product { private long id; private String name; private long price; public String getProductInfo(){ return name + price; } } 멤버 변수로 정의한 것은 id, name, price이고 편의상 getProductInfo()라는 메서드를 만들어 상품의 이름과 가격을 함께 리턴하도록 했다. 이 상태로 ..

    Spring @Cacheable을 내부 메서드에 쓰면 안되는 이유

    자주 사용되면서 호출이 빈번한 데이터를 메모리에 쉽게 캐싱할 수 있도록 Spring에서는 @Cacheable을 제공한다. 하지만 아래 예제와 같이 내부 메서드에 @Cacheable을 설정하면 캐싱이 작동하지 않는다. @Slf4j @Service @RequiredArgsConstructor public class ProductService { private final productJpaRepository productJpaRepository; public ProductInfo getProductInfo(String productName){ List products = productJpaRepository.findAllByProductName(productName); long allProductCount =..

    단위 테스트는 왜 해야할까

    회사를 옮기고 나서 처음 놀랐던 순간은 테스트 코드를 봤을때였다. 복잡한 비즈니스 로직을 다루면서도 테스트 디렉터리가 말끔히 비워져 있었다. 코드 레벨의 자동화된 단위 테스트보다는 e2e 테스트에 의존하고 있었으며 그래서 초래되는 문제도 적지 않아 보였다. 당연하게도(?) 팀원들은 테스트 코드의 필요성에 대해서 깊이 공감하지는 못하고 있었다. 우선 그들을 설득할 필요가 있어보였는데, 만약 누군가 나에게 왜 꼭 단위 테스트를 해야하는지를 묻는다면 뭐라고 대답할지를 생각해보았다. 내가 그동안 느낀바로는 다음과 같은 이유들이 있다. 개발자 버전의 요구사항 문서 테스트 코드를 작성하면 서비스가 충족해야하는 요구사항을 명문화해 볼수 있다. 개발자라면 요구 사항을 잘못 이해하여 일어난 대참사를 직간접적으로 경험해본..

    5년차 개발자의 이직 이야기

    현재 회사(글을 쓰는 지금 시점에서는 이전 회사)에 재직한지 2년이 넘어가는 시점부터 나는 이직을 생각하기 시작했다. 전반적으로는 회사 생활에 만족했고 돌이켜보면 주니어 개발자로 입사해서 많이 성장할 수 있었던 고마운 회사였지만, 등따시고 배부르니 다른 생각이 들기 시작 시니어가 되어가는 5년차 개발자로서 많은 생각이 들기 시작했다. 나는 왜 이직을 원하는가 나는 이직을 원한다. 적어도 마음속에 그러한 외침이 있다는 것 정도는 분명했다. 그렇다면 내가 이직을 원하는 이유는 무엇일까? 머리에 멤도는 생각들을 정리해보기로 했다. 그 중 우선순위가 높다고 생각되는 두 가지 정도를 뽑아보았다. 처우 IT 업계 종사자라면 게임 업계로부터 시작된 2021년의 매서웠던 연봉 인상 러시를 알고 있을 것이다. 개발자의 ..