본문 바로가기
반응형

전체글582

경쟁력 있는 신입 포트폴리오 팀원들의 이력서를 글 하단에 첨부해두었다. 이 사이드 프로젝트를 진행한 멤버들에게 관심이 생긴다면 한번 커피챗을 요청해보자. 올해 대학생분들을 멘토링을 종종 했다. 자주 받던 고민이 "어떻게 해야 취업 경쟁력이 생기느냐" 인데, 나는 그럴때마다 아래와 같이 조언을 드렸다. "뭐든 괜찮으니 본인에게 필요한 것을 하나 만들고 실제 출시까지 해보라. CLI, 패키지, 웹, 앱 상관없이 출시를 하고, 100, 1000명의 고객을 만들고, 365/24시간 운영해보면 로그 메세지는 어떻게 남겨야하고, 에러 핸들링은 어떻게 해야하고, 쿼리는 어떻게 작성해야하고, SQL 인잭션, XSS 공격 등을 왜 막아야하고, 한정된 서버 자원을 어떻게 활용해야 하는지 등등을 배우게 된다. 운영하면서 배운 내용을 블로그에 정리하면 .. 2023. 12. 10.
좋은 피드백 (절벽으로 몰아세우지 않기) 최근 술자리에서 "왜 혹독한 조언 혹은 높은 프레셔 등 개발팀원들의 성장에 대한 강한 피드백을 하지 않느냐" 에 대한 질문을 들었다. 그에 대해 다음과 같이 답변을 드렸다. “여러 회사를 거치면서 어떤 것이 진짜 성장인지 명확하지 않다는 생각을 하게 되었고, 지금 우리 팀에 필요한 것은 대기업에서 사용하는 기술을 적용하느냐 마느냐가 아니다. 특히 어떠한 한명의 슈퍼맨에 의지해서 조직의 기술력이 높아지는 것 역시 필요하지 않다. 그렇게 해도 팀 전체는 전혀 성장하지 못한 불안한 성장이기 때문이다. 가능하면 다 같이 성장해서 모두가 조직의 졸업까지 이탈자 없는 성장을 바라고 있다.” 만약 현재 우리 팀원들이 제대로 된 성과를 내지 못하고 있다면, 당연히 피드백을 했을 것이고, 잘못된 방향으로의 성장에 대해서.. 2023. 12. 3.
테스트 데이터 초기화에 @Transactional 사용하는 것에 대한 생각 얼마 전에 2개의 핫한 컨텐츠가 공유되었다. 존경하는 재민님의 유튜브 - 테스트에서 @Transactional 을 사용해야 할까? 존경하는 토비님의 페이스북 2개의 컨텐츠에서 테스트 데이터 초기화에 @Transactional 사용하는 것에 대해 서로 다른 의견을 내신 것이다. 마침 페이스북에 태깅되기도 했고 (ㅠㅠ) 과거에 라이브 방송에서도 "향로님은 반대한다" 라고 언급되기도 했었다. (반대하는 것은 사실이기도 하고..) 내 생각을 정리해야지 해야지 하다가, 마침 이번주에 시간이 되어서 정리하게 되었다. 1. Spring Team은? 내 의견을 정리하기 전에, 먼저 Spring Team 의 코드를 살펴보자. 인프라스트럭쳐 계층 (데이터베이스) 테스트를 작성하는 팀의 코드를 보면 될 것 같아서 Sprin.. 2023. 11. 26.
이기는 팀 경험 아래 글은 오늘 팀 내부에 공유한 글입니다. 팀을 떠난 후에도 다시 볼 일이 있을것 같아 블로그에도 남깁니다. 오늘 추천 받은 영상인데, 그간 저희 인프랩 조직 내에서 계속 이야기하던 주제와 맞물려서 공유드립니다. (전) 구글 인사담당자셨던 황성현님의 인터뷰를 보면 다음과 같은 내용이 나옵니다. "엄청난 스트레스를 받는 펀드 매니저들 중 최고 경영층까지 갔던 사람들의 공통된 특징"을 보니 어렸을때부터 12학년 (고3) 까지 팀 스포츠를 했다는 것인데요. 그냥 만년 후보 선수로 벤치를 지키고 있더라도, Being part of a winning team - 이기는 팀의 맴버였던 경험이 있던 사람이 끝까지 살아남을 수 있는 비결이라는 것입니다. 즉, 내가 4번 타자였던게 중요한게 아니라 우리 팀이 1등한게 .. 2023. 11. 23.
Qodana 무료로 시작해보기 (2023.11) JetBrains에서 SonarQube와 같은 정적 분석 도구를 출시했다. Qodana JetBrains 에서 출시하는 제품들은 일단 관심을 가지게 된다. IntelliJ, WebStorm, DataGrip 등을 몇년간 계속해서 사용하면서 충분히 만족감을 느꼈고 (불편함이 없진 않았지만), 최근에 출시한 Writerside도 VSCode를 대체한 마크다운 에디터로 잘 사용하고 있다. 그만큼 DX를 가장 신경쓰는 제품을 만드는 회사라는 확신이 있기 때문에 이번 Qodana 역시 기존의 Sonar 제품들을 잘 대체할 수 있을까 하는 기대감에 사용해보게 되었다. 그리고 기존에 잘 사용하던 SonarQube의 대체제를 고민하던 시점이기도 했다. Qodana는 SonarQube에 비해 어떤 장점이 있을까? 눈여겨.. 2023. 11. 23.
[리팩토링] 코드 배치와 변수 줄이기 비즈니스 로직 위주로만 생각하고 바로 코드를 작성하다보면 코드가 길어지고, 가독성이 떨어지는 경우가 많다. 특히 가독성이 떨어지면 코드를 리팩토링할때도 이상한 방향으로 할 때가 있다. 이럴때 가독성을 높이기 위해 코드 배치와 변수를 줄이는 방법을 알아보자. 예제 ORM 없이 직접 SQL을 작성하는 환경에서 다음과 같이 코드를 작성했다고 가정하자. export class ProductRepository { async create (createDtos: ProductCreateDto[]) { const promiseList = []; const results: Product[] = []; // 반복문을 수행하면서 DTO를 Entity로 변환하고 SQL Promise를 쌓아둔다. for(const dto of.. 2023. 11. 12.

728x90
반응형