- POST 요청으로 받을 경우 : Jackson2HttpMessageConverter 라는 Converter가 json 을 java object로 변환하는데 이때 ObjectMapper를 사용하여 데이터 바인딩을 수행하기 때문에 setter가 필요 없다.
- GET으로 요청을 받을 경우 : WebDataBinder 를 사용하는데 이때 setter를 통해서 데이터 바인딩을 진행하기 때문에 setter 가 필요하다. 만약 setter를 사용하고 싶지 않다면 WebDataBinder 클래스를 이용한다.
2022년 10월 13일 목요일
2019년 12월 15일 일요일
99CON(99콘) 연봉협상 2019 내년, 나의 연봉은
짧지만 달콤한 이야기 99CON Dec 2019 내년, 나의 연봉은
99콘 하이라이트
경력자에게도 수습이 필요하다
레이니스트 안성현, '수습평가'편
- 회사에서 안정적으로 다니고 있었음
- 다니다보니 이직 생각이 들음
- 폐쇄적인 곳에서 작업하니까 aws, github등 다른 기술을 사용하고 싶었음
- 이직
- 만능 이력서를 작성하여 뿌림
- 회사 별로 정리(SI, 스타트업 등등)
- 면접을 많이 보는것이 좋음
- 휴가를 내는것이 힘드니 하루에 3시간 간격으로 여러곳을 면접봄
- 몇군데 합격을 했으니 어디를 갈것인가?
- 내가 중요하게 생각하는 것은?
- 항목을 작성하여 가중치를 정함
- 그래도 비슷하거나 수치화 할 수 없는 느낌이 있음
- 비슷한 도메인의 실리콘밸리/유니콘 회사를 비교해보기
- 해당 도메인의 회사가 어느정도의 가치를 지니는가?
- 왜 스타트업을 선택했는가?
- 현역 개발자
- 성장
- 기술적인 부분을 수평적으로 토론
- 기술 조직/개발 문화를 만들고 싶음
- 입사 했는데 경력 수습이 있음
- 예전 회사들
- 수습이 끝났는데 회사가 망함
- 80%월급
- 레이니스트
- 과제를 스스로 선정 협의
- 2개월 동안 진행
- 진행하는 과정을 피드백 진행
- 예전 회사들
- 입사 초기
- 무엇이든 물어보라고 함
- 경력자도 모르는 것이 모른다.
- DM 을 지양하는 문화
- 공개된 질의에 대한 두려움
- 또 하나의 두려움
- 경력자 != 시니어
- 시니어의 대한 기대감
- 나는 시니어라고 생각해 본적이 없음
- 나는 시니어리티가 있나?
- 물어보기
- 공개 채널에 많이 물어보기
- 만남의 광장(회의)
- 공유하기
- 어떤 작업을 하고 있는지 공유
- 작업 내에서의 고민을 공유
- 어떤 방향으로 하면 좋을지를 공유
- 시니어리티에 대한 고민
- 기술적/경험적으로 알려주기
- 모르는 것은 모른다
- 먼저 실천하기
- 수습 피드백
- 세번의 피드백
- 협업하는 분들의 피드백
- 피드백을 통한 설장, 컬처 핏에 맞추가는 상황
- 경력자 > 회사/팀/조직에 대한 피드백을 줄 수 있는 기회
- 그들도 듣고 싶어 한다
- 세번의 피드백
- 수습기간이란
- 기술적 트렌드를 따라가고
- 다른 세대와 일하는 방법을 알아가고
- 스스로를 검증하고
- 시니어리티에 대해서 고민해 볼 수 있는 시간
- 수습을 하지 않았따면 시니어리티에 대한 고민이 없었을꺼 같음
- 벌써 일한지 1년
- 기술적으로 무럭무럭 성장중
- 일하는 방식의 변환(TechSpec + Jira)
- 조직안에서의 개인의 성장
- 역할에 대한 고민
- 개발하는 코드에 대한 고민 > 조직에 필요한 것은 무엇인가?
- 기술부문, 조직의 문화, 지향하고자 하는 가치에 대한 고민
- 좋은 사람을 어떻게 뽑을 것인가?
- 어떻게 하면 1시간 안에 좋은점을 알 수 있을까?
- 시니어가 되고 싶었음
- 그러나 중니어
- 보고 배울 시니어가 점점 늘어나고 있는 현실에 감사
- 기술적/비지니스적 의사결정/의견들을 보고 배우는중
- 일하는 방식의 변환(TechSpec + Jira)
- 건강 관리 실패
- 사업.조직 개펀
- 기술적으로 무럭무럭 성장중
- 결론
- 성장을 위해서 스타트업에 입사
- 수습을 통해서 리부트
- 1년동안 기술적/소통적/인간적 성장
- 중니어를 넘어 시니어로 무럭무럭 성장하는중
영혼까지 끌어쓰는 자기평가(v2)
우아한형제들 이상한모임 강미경 '인사평가'편
- 이전 버전을 꼭 봐야함
- 상반기 평가 버전
- 사업팀에서 개발팀으로 변경됨
- 영혼의 조각모음을 분류해서 가중치
- 스스로 한일
- 업무
- 엄무 아님
- 회사의 매출에 영향도를 줬는지 표로 정리
- 비슷해 보이는 업무는 묶어서 점수 확정
- 업무이력에서 지난 업무들을 추출
- 추출한 업무들을 분류, 가중치 등을 부여하여 정량화
- 평가자가 바라보는 인재상?
- 제가 뭘 하면 좋을까요?
- 대답하려고 하면 생각이 정리되고 평가기준이 생김
- 바뀌는 인재상 > 조직장이 원하는 역할을 인지함
- 상태체크
- 평가기준의 리마인드, 협상 방향성 체크
- 제가 뭘 하면 좋을까요?
- 채용공고란
- 기본기
- 우대사항(회사에서 벌어지는 일)
- 이게레알 지원자격
- 없으면 서류 광탈
- 많을수록 면접합격
- 입사해도 평가될 역량
- 나의 포지션에 기대하는 역할과 책임을 명확히 하자
- 채용공고를 분석하자
- 기본기
- 업무를 성과로
- 초안을 작성
- 버릴것을 찾고 더할 것을 찾는다
- 셀프 평가를 덧붙이자
- 숫자를 넣음
- 팩트는 숫자로 쓰지말고 목표를 명시하기
- 성과의 크기는 비교대상을 두기
- 정성적인 것도 정량적으로
- 3자 객간화
- 셀프 평가는 뻔뻔하게
- 정리
- 회사가 원하는 역량 + 내가 중요하게 생각하는 성과기준 = 재료
- 정량적 수치는 팩트가 아닌 임팩트
- 사업팀에서 개발팀으로 변경됨
- 하반기 평가 버전
- 10월 어느날 개발팀으로 이동 될것 같다고 어느팀으로 갈지 생각해 보라고함
- 앱개발팀으로 마음 먹음
- 안된다고함
- 새로운 팀으로 가야한다고 1시간동안 설득당함
- 올해 나는?
- 아무래도 하반기은 망했는데 일단 새팀에 적응하자
- 프랜츠차이즈시스템
- 주문 flow중에 중계라는 부분이 들어가 있음
- 당장 모든 로직을 파악하기 힘듬
- 영업과 개발 사이에 껴서 나한테 말해달라고함
- 본사와 커뮤니케이션 하겠다
- 배포를 하면 알려주기로 함
- 커뮤니케이션으로 말을 전달하자
- 올해 성과는?
- 상반기에 작업한 내용을 가져올 수 있음
- 매트릭스 별로 나눔
- 평가
- 인사평가란?
- 인간성 평가가 아닌 내년 연봉을 결정하기 위함
- 회사가 원하는 인재가 아닌 필요한 인재를 하면 연봉을 미리 더 올려주지 않을까 라고 생각
- 회사가 필요한 역량이란?
- 하나의 문제를 집요하게 하는 헝그리 정신이 필요
- 여러가진 문제를 빨리 해야함
- 복잡한 문제도하면서 새로운 도전을 하고 기존 운영도 잘 해야함
- 회사가 필요한 역량은 그때그떄 다르다
- 연말에 정해진다
- 회사는 상황에 따라 필요한 인재가 다르다
- 내 성향과 역량이 회사의 현재 상황에 맞는지 고민해본다
- 인사평가란?
- 글쓰기 좋은날
- 매트릭스별로 정리한 주제를 카테고리 별로 나눔
- 전략적 타이틀 뽑기
- 타이틀이 다한다
- 이미지가 생간다
- 내용보다 타이틀이 다할떄가 많다
- 하반기 평가는 현재가치 뿐만 아니라 미래가치도 보여줘야 한다
- 글쓰기를 꾸준히 연습하고 제품을 한 줄의 카피라이트로 팔린다
- 글을 많이 읽자
- 회사마다 다른 기준, 나의 다른 여러분 인사평가에 정답은 없다 이제 여러분의 차례
- 10월 어느날 개발팀으로 이동 될것 같다고 어느팀으로 갈지 생각해 보라고함
- Q & A
- 글쓰기 연마 방법
- 생각나는 대로 써보기
- 말로 읽어 보기
- 그게 앞 뒤가 맞는 맥락인지 이해
- 100 ~ 200(맘에 들때까지) 수정
- 조직장 평가가 있는 경우
- 우아한형제는 조직장 평가는 없음
- 생각의 다름을 이해하고 그 사람의 역량이 필요함을 어필
- 일정을 맞출 수 있는 방법
- 미뤄야 하는 것들은 스펙 아웃해셔 제거하고 일정을 미리 미룬다
- QA중에 일정을 미루지는 않아야 한다
- 사전에 이유를 만들어 둔다
- 티 안나게 일하거나 드랍된 경우나 목표가 미달된 경우
- 목표가 미달된 경우
- 핑계를 만들수 있다
- 다음 프로젝트가 있을때 먼저 챙기겠다(보완점)
- 티안나는 경우
- 이게 없었다면 리스크가 생겼을 거라고 가정하여 작성
- 드롭된 경우
- 잘 마무리 했다고 정리
- 리소스를 낭비하지 않게 문서로 정리
- 목표가 미달된 경우
- 글쓰기 연마 방법
주니어 개발자의 이력서 쓰기
우아한형제들 이동욱, '이력서'편
- 이 발표는 개인의 의견
- 참고용 이력서
- SI > 중소 포털서비스 > 스타트업 일했음
- 여태까지의 과정 3번의 이력서와 3번의 합격
- 주변 개발자 분들이 이야기 했을때 잘된 경우
- 대상자
- 대학생 및 3년차 미만의 개발자
- 기술적으로 성장하고 싶은 회사
- 회사에 대한 티어가 있음
- 코드 리뷰 /테스트 코드 / 기술블로그를 하고 있는 회사는 현실적으로 너무 소수고 대부분 유명한 회사
- 최후의 마지노선
- git 사용
- CI/CD
- 협업툴 사용
- 코드 리뷰 /테스트 코드 / 기술블로그를 하고 있는 회사는 현실적으로 너무 소수고 대부분 유명한 회사
- 대학생 및 3년차 미만의 개발자
- 워밍업
- 프로젝트는 역순으로 정렬하여 정리
- PDF로 정리
- 보편적인 이력서
- 기본
- 필수
- 이름
- 이메일
- 깃허브
- 준필수
- 블로그
- 사이드 프로젝트
- 선택
- 링크드인
- 페이스북등 SNS계정
- 채용자의 입장에서는 서류이외도 볼것이 많은 사람을 선호
- 회사는 좋은사람을 뽑는것보다 안좋은 사람들 뽑는게 두려움
- 서류 심사관이 도박을 하도록 만들지 마세요(오늘 하고 싶은 말)
- 나를 증명해야 한다
- 필수
- 자기소개
- 일종의 압축된 자기소개서
- 어떤 경험을 해왔고 어떤 가치관을 갖고 있고 평소에 어떤 노력을 하고 있는지 7~8줄로 정리
- github는 작업활동을 증명 할 수 있다
- 최대한 숫자로 표현할 것
- 대규묘/대용량 말고 RPW/TPS/PV/MAU 등 구체적 숫자
- 신입이 숫자가 어딨나?
- 신입 개발자의 자세를 강조
- 배우려고 하는 자세
- 본인이 부족한 점을 끊임없이 찾는다
- 그걸 스스로 부끄러워하고 걱정할 줄 안다
- 좋은 질문을 하는 자세
- 선임이 A 라고 했을때 바로 수긍하는 사람은 NO
- 선입이 A 라고 했을때 납득이 안되면 검증하고 다시 질문 하는 사람
- 배우려고 하는 자세
- 신입 개발자의 자세를 강조
- 일종의 압축된 자기소개서
- 기술 스택
- 1~2번 써본 기술을 언급하지 않는다
- 지금 당장 쓸 쑤 있는 주력기술들만 언급한다
- 경력에 비해 너무 많은 기술 스택은 오히려 좋지 않다
- 뭐라고 해본 기술을 적자. hello world만 사용한 것은 별로다
- 다다익선이 좋은것이 아니다
- 자바 개발자로 지원하면서 머신러닝/블록체인 등은 소용 없다
- 그동한 해온 기술과 다른 분야로 지원하면?
- 러닝커브를 강조하는 이력서로 얼마나 빠르고, 올바르게 기술을 배우는 사람인지
- 본인의 스타일을 적자
- 라이브러리를 까서 공부하는지
- 베스트 프랙티스
- 러닝커브를 강조하는 이력서로 얼마나 빠르고, 올바르게 기술을 배우는 사람인지
- 신기술 경험이 없는 경우
- 3년간 챗봇을 운영한 경험글 참고하기
- Ajax + Jquery
- 아주 쉬운/오래된 기술을 쓰더라고 계속해서 운영하고 개선 해본 경험을 우대
- 3년간 챗봇을 운영한 경험글 참고하기
- 1~2번 써본 기술을 언급하지 않는다
- 경력/프로젝트
- 질문하면 답변할 수 있는 프로젝트만
- 담당파트 요약
- 프로젝트에서 특히 강조하고 싶은것
- 성과/실적도 있다면 추가
- 가능하면 증명 가능한 링크
- 근무기간
- 프로젝트가 있으니 요약정리
- 프로젝트 성과 외 언급 할것들
- 경력이나 프로젝트가 부족할 떄?
- 어떤 기준으로 교육을 선택했는지
- 무엇은 배웠는지
- 증거는 필수
- github등 블로그 정리 링크
- 어떤 기준으로 교육을 선택했는지
- 신입이 해야할 교육/스터디 주제는?
- 테스트코드
- OOP
- 클린코드
- Git
- Linux
- 생각보다 리눅스를 모르는 개발자가 많다
- 리눅스 운영체제에 대한 비교도 모른다
- 테스트코드
- 혼자서 MSA 연습은 하지 말자
- 신입 개발자에게 기대하는건 탄탄한 기본기
- 오픈소스
- start 많은 오픈소스가 효과가 있나?
- 나는 start가 많은 저장소를 이력서로 쓴 적이 없다
- 이 프로젝트에는 코드가 없다
- 코드 없는 오픈소스는 이력서에 효과가 없다
- star가 적어도 코드가 있는 오픈소스가 이력서에 효과가 있다
- start 많은 오픈소스가 효과가 있나?
- 질문하면 답변할 수 있는 프로젝트만
- 포트폴리오
- 본인의 기술적으로 구현한 부분이 무엇인가?
- 편리한 UI, 풍부한 자료, 마켓 다운로드 몇회
- 개발자로서 어떤 역량을 발휘한 작품인가는 의문
- 작품의 호응도가 본인의 개발 실력이 아니다
- 학교 과제 제출하듯이 기능/UI/기획이 강조된 PPT는 효과가 없다
- 프로젝트는 모두 Github에 올려 내가 어떻게 코드를 작성하는지 공개한다
- 깔끔한 README.md 와 커밋 메세지는 가산점++
- 정리
- 설치 방법
- 정리
- 커밋메시지 정리
- 깔끔한 README.md 와 커밋 메세지는 가산점++
- 본인의 기술적으로 구현한 부분이 무엇인가?
- 문제 해결 사례
- 학교프로젝트, 국비교육, 스터디 하면서 만났던 문제를 해결한 사례
- 메일 발송시 간혈적으로 오류
- 서버 다운 없이 패킷 추적
- 문제점을 추측
- 테스트 코드로 문제를 재현하여 해결
- 학교프로젝트, 국비교육, 스터디 하면서 만났던 문제를 해결한 사례
- 기본
- 마무리
- 잘 쓰려면 잘 살아야 한다(강원욱의 글쓰기 책)
- 이력서 잘 쓰려면 좋은 개발자로 잘 살아야 한다
- 좋은 개발자가 되기 위한 노력이 우선이지 좋은 이력서가 우선 되선 안된다
세션 1&2
나의 연봉협상 오딧세이
ODK Media 권정민
- preface : 어떤 승진
- 아는 분이 승진을 하고 연봉이 올라서 축하함
- 승진은 했지만 연봉이 안오르면 실속이 없이 책임만 늘어남
- 사내 연봉협상
- 사내에서는 연봉협상을 올리기 어렵다
- 자기 평가서를 통해 올릴 수 밖에 없음
- 보통 연봉 통보
- 맘에 안드는 경우가 많음
- 맘에 안든다고 말한다는게 쉬운일이 아님
- 본인이 평가 받은 내용을 통해서 회사에서 판단하에 통보되는것
- 얘기하는 사람이나 다시 처리하는 사람이 껄끄러워짐
- 이의를 제기해본 적은 없음
- 여태까지 이직은 8번
- 옮기고 싶어서 옮긴것은 아니고 의도치 않게 이직
- 돈을 벌려고 이직
- 연봉 협상은 중요
- 달라진 업계
- 이직 하는 경우 다른 업계로 이직도 함
- 업계 별로 연봉 평균이 있어서 연봉이 줄어들기도 함
- 연봉이 줄어들면 기분이 안좋음
- 기분은 중요
- 일이 하기 싫어짐
- 회사에 대한 애정이 적음
- 불만이 있다면 불만이 증폭
- 웬만하면 연봉을 적게 받아서 다니는 것을 추천하지 않음
- 이직할때 연봉을 적게 통보 받았을때 그냥 받았던게 문제
- 이직 하는 경우 다른 업계로 이직도 함
- 옮기고 싶어서 옮긴것은 아니고 의도치 않게 이직
- 고정 연봉
- 회사에서 직급별이 연봉이 고정되어 있다고 함
- 연봉 테이블이 필수로 고정은 아니다
- 직급을 올려서 가는것이 좋다
- 연봉이 달라질 수 있다
- 생각보다 대기업이 연봉이 높지 않는 경우도 많다
- COUNTEROFFER
- 회사를 한 곳만 알아보는게 좋은가?
- 지금 회사에서 연봉을 더 준다는데 다니는게 좋은가?
- 하면 안되는 이유는? 꺼려지는 이유?
- 번거롭다
- 피곤하다
- 구차하다
- 하지만 연봉을 많이 올릴 수 있다
- 회사에서 이상하게 보지 않을까?
- 이것은 잠깐
- 보통 HR과 얘기를 나눔
- 2곳에 COUNTEROFFER를 하는 경우 생각보다 타이밍이 맞지 않음
- 번거롭다
- 회사를 한 곳만 알아보는게 좋은가?
- 연봉 외의 경우
- 강의
- 공공기관
- 시간당 가격
- 박사 또는 박사가 아닌사람
- 가격이 정해져 있음
- 사기업
- 가격이 정해져 있지 않음
- 가격을 올릴 수 있는지 물어보자
- 한다고 하기전에 금액을 물어보고 협상하자
- 공공기관
- 계약직, 프로젝트
- 회사에서 받는 돈은 쥐꼬리인데 제안서에는 높은 돈으로 측정되어 있다
- 최소 1.5배를 요구
- 회사도 알고 있다
- 회사에서 받는 돈은 쥐꼬리인데 제안서에는 높은 돈으로 측정되어 있다
- 강의
- 연봉은 한번 더 물어보자
- 거절하는 회사는 별로다
- 거절하는 회사는 많지 않다
- 회사에도 리소스를 많이 투자해서 뽑는 것
- 이직시 에는 전 연봉을 기준으로 옮기기 때문에 관리하자
- 어떤 이직
- 아는 사람이 회사를 그만둠
- 연봉도 낮추고 다른 업계로 간다고 함
- 지금 잘 살고 있음
- 커리어 패스가 연봉은 중요하지만 길의 포장지라고 생각
- 고액 연봉이 꼭 좋은 것일까
- 본인이 생각해서 맞는 길을 가자
- 연봉에 너무 끌리지 말고 좋은 길을 가자
연봉협상, 어디까지 튕겨봤니?
카카오 손현태
- 11년차 개발자
- 우아한 형제에 있다가 카카오로 옮김
- 연봉협상하면서 있던 이야기
- 회사
- 청호컴넷 2년 6개월
- 오픈타이드 2년 3개월
- 우아한형제들 5년 2개월
- 연봉
- 여러분은 더 높은 연봉을 받을 자격이 있다
- 오퍼를 받자마자 가고싶은 회사여서 연봉을 그냥 수락하지 말자
- 커리어 스킬
- 커리어 스킬이라는 책
- 15장 연봉과 협상
- 첫직장 연봉이 중요
- 회사측에서 제시한 연봉을 바로 받아 들이는 개발자가 너무 많다
- 연봉범위를 알라
- 유리한 고지를 점령하라
- 15장 연봉과 협상
- 커리어 스킬이라는 책
- 처우협의 밀당 ssul
- TIP1 비슷한 회사를 동시에 진행하라
- 하나의 카드만 들고가면 불안하다
- 여러 회사에서 오퍼를 받게 되면 객관적인 연봉을 판단 가능
- 연봉 협상
- 처우를 시작하면 원춴징수영수증, 재직증명서 요규하기도하고 희망연봉을 제시하는 회사도 있었음
- 기존 회사의 연봉 인상율을 반영하여 연봉을 제시
- 연봉을 제시
- 연봉을 깍아서 옴
- 연봉 통보를 받음
- 생각보다 낮게 옴
- 전화를 통해 이유를 듣고 싶었음
- 비슷한 연차가 이 정도 받고 있다고 설명
- 이직은 리스크가 있기 떄문에 연봉인상으로 보상받아야 한다고 설명
- 사이닝 보너스를 제시를 추가로 받음
- 1차 제안을 할때 낮게 제시 해서 비슷하게 측정되어 통보 받음
- 처우를 시작하면 원춴징수영수증, 재직증명서 요규하기도하고 희망연봉을 제시하는 회사도 있었음
- 하나의 카드만 들고가면 불안하다
- TIP2 희망연봉을 명확히 설정하고 시작하라
- 사이닝 보너스
- 내가 희망하는 연봉보다 낮게 요쳥받아서 원하는 연봉을 어렵게 말했다
- 메일로 달라고 한다
- 하지만 안된다고 거절 당함
- 사이닝 보너스
- TIP3 고민하는 시간을 넉넉히 가져라
- 한달정도 고민하고 말해준다고 함
- COUNTOFFER 를 비슷하게 진행하기 위함
- 갑자기 연락이 오더니 희망연봉을 맞춰준다고 연락이 옴
- 면접을 잘 봐야 연봉을 유리하게 할 수 있음
- TIP1 비슷한 회사를 동시에 진행하라
- 정리
- TIP을 지키자
- 유리한 고지를 점령하라
- 꼭 필요한 인재 복수지원 연봉은 협상이다
- 다른곳에 합격한것을 다른 회사에게 통보하면 패스트트랙으로 진행 될 수 있다
- 야놀자는 배민에 합격하면 데려간다는 소문이 있다.
- 절대 연봉을 낮춰서 가지말라. 그 피해는 후배 개발자들에게 한마디
스페셜세션 A
당신은 더 높은 연봉을 받을 자격이 있다
커리어 엑셀러레이터 김나이
- 소개
- 커리어 엑셀러레이터
- 1년에 300명 이상 커리어 상담
- 스터디파이와 협업
- 원래 회사원이 있음(금융)
- 모니터가 12대여서 옆사람이 보이지 않음
- 연봉 협상을 해보셨나요?
- 보통 10~15%
- 연봉 협상이 없는 경우
- 통보
- 협상이 없어서
- 주니어라서
- 보통 10~15%
- 연봉의 결정타, 무엇일까
- 시장의 수요와 공급이 중요
- 가만히 있으면 가마니가 된다
- 자신의 성과를 이야기 해야 한다
- 숫자로
- 시장 대비 당신의 성과를
- 구체적으로
- 10월에 내년에 원하는 연봉과 일들을 정리하여 보냈지만 1월에 왜 말하지 않았냐고 사장이 대답
- 다른 회사 사람들과의 비교 표 제공
- 시장의 수요와 공급이 중요
- 그런데 1000만원 연봉 인상 제시, 그 회사로 이직, 해야할까?]
- 어떤 업무와 비전을 가지고 있는 회샤인지 판단
- 왜 1000만원을 더 주는지? 나의 능력에 대한 부분인지
- 이 포지션에서 사람을 오래 구하지 못해서 연봉을 높여서 구하고 있는지?
- 현재 회사의 상태를 고민해보자
- 대기업은 스타트업보다 연봉이 높다?
- 회사마다 다르다
- 연차가 쌓인다고 연봉이 높은것은 아니다
- 한 회사를 오래 다닌다고 연봉이 높지 않다
- 본인이 속한 마켓에 따라 다르다
- 마켓에 대한 눈을 기르자
- 회사의 상태와 매출과 이익을 알아야 한다
- 연봉을 높이려면 업황 & 회사의 상태를 알아야만 한다
- 도입기를 지난 회사가 제일 좋다
- 7년차에서 15년차 분들이 제일 많이 고민
- 회사가 상승되는 상태를 봐야한다
- 회사마다 다르다
- 스타트업 다니는 사람들의 고민
- 고민
- 언제 도망 쳐야 할까?
- 비지니스 모델
- 투자자의 시선으로 대표를 보자
- 대표하고 시장의 업사이클을 본다
- 대표가 별로면 블루오션이여도 성공하지 못한 경우가 있다
- 회사를 갈때 투자자의 관점으로 보자
- 고민
- 스톱옵션
- 스톱옵션을 회사가 성공하지 못하면 휴지다
- 종합적인 판단이 중요
- 주변에 있는 사람들과 내가 어떤 일을 해야하는지 판단
- 원하는 연봉을 이야기 해보라 하면, 어떻게 대답해야 할까?
- 연봉협상의 타이밍은 언제가 좋을까?
- 마지막 단계까지 미루는게 좋다
- 상대방과의 신뢰가 생겨야 한다
- 중간에 연봉을 물어본다면 추후에 협상하자고 말한다
- 연봉협상의 타이밍은 언제가 좋을까?
- 표준 & 프레이밍의 활용
- '과거'의 '숫자' 그 자체에 매몰되지 말고 '미래'의 'Value'에 집중해서 Reframing 하자
- 연봉협상 할 때 너무 돈에만 집착하지 말자
- 현재의 연봉을 말하지 않고 내가 회사에 가서 해야할 역할을 중심으로 얘기하면서 회사에서는 어떤 롤을 부여하는지 문의
- 회사의 기준을 물어보고 이야기
- 단지 돈 문제가 아니라 회사가 원하는 것은 무엇인지
- 회사가 나에게 기대하는 것은 무엇인지 먼저 듣고 싶음
- 적절합 합의점을 찾을 수 있을수 있을꺼 같음
- '과거'의 '숫자' 그 자체에 매몰되지 말고 '미래'의 'Value'에 집중해서 Reframing 하자
- 연봉 협상 Win Win을 위해 우리에게 필요한 Mind Set 3가지
- Confident
- Positive
- Relax
- 약간의 금자감과 어느 정도의 개썅마이웨이 정신이 필요하다(김수현 - '나는 나로 살기로 했다' 중)
- 2배 연봉 상승을 이끌어 낸 개발자의 이야기
- 합격해도 안갔을 다른 회사의 최종 통보를 받은 걸로 구글에 협상
- 얻을 수 있는 장단점을 파악하여 협상할떄 단점을 가지고 말함
- Confident
- 회사에서 제시하는 숫자가, 마음에 들지 않거나, 약간 부족하다고 생각될 때는 어떻게 말해야 할까요?
- 내가 원하는 정도를 받는다면 회사에서 열심히 일 할 수 있을꺼 같다는 부분을 어필
- 나의 연봉이 낮다면 대표에게 '당신이 나라면 어떻게 할까요? '라고 물어보는 것도 방법
- 연봉에 대한 다른 관점
- 글로벌 IT -> 벤처
- 글로벌 IB -> 1인 기업가
- 불안
- 이 조직에서 과연 내가 어디까지 올라갈 수 있을까?
- 무슨 영광을 누리자고 내가 이렇게까지 하면서 살아야만 하나?
- 자의든 타의든 회사를 나가게 됐을때 할 수 있는 일은 무엇일까?
- 성장
- 내가 이 조직에서 지금 의미있는 일을 하고 있는 것일까?
- 역량과 경험이 시간이 지난다고 자동적으로 획득되는 것이 아닌데, 나는 지금 이 조직에서 내가 혼자 Survive 하기 위한 경험들을 쌓아가고 있나?
- 언젠가는 연봉이 내려 갈 수 있다
- 계속 연봉이 올라가려면 회사도 계속 성장하고 있어야 한다
- 글로벌 IT -> 벤처
- 나의 일을 돌아보는 6가지 질문
- 성장
- 돈
- 워라벨
- 의미
- 재미
- 인간관계
- 6가지를 맞출 수 있는 회사는 이 세상에 없다
- 이 중에서 나에게 가장 중요한 2가지는를 뽑고 만족 하고 있는가
- 나는 무슨 부분을 바꿔야 하는가
- Q & A
- 회사를 판단 하는기준
- 작은 기업같은 경우
- 투자 리포트
- 대표를 많이 봄
- 작은 기업같은 경우
- 연봉을 알기 위한 방법
- 네트워킹을 톡해 인맥을 쌓는다
- 원하는 연봉을 한번에 회사가 수락 했을 경우
- 연봉을 변경하기는 어렵고 그 회사에 내가 갔을때에 대한 가치를 생각
- 현재 회사에서의 연봉을 높이는 방법
- 나하고 같은 연차가 다른데에서 어떻게 하고 있는지 보고 나를 수치화 하여 어필
- 나를 돌아 보는 6가지 중에 안맞는 부분이 있는 경우
- 스트레스를 많이 받는 경우 안하는게 맞는거 같음
- 입사하여 내가 하고 있던 일들이 다른 사람과의 마찰이 있는 경우 물어보고 내가 어떤 업무를 했으면 좋겠는지 문의
- 회사를 판단 하는기준
세션3
연봉협상도 통역이 되나요?
멀티캠퍼스 천성권
- 주의 사항
- 연봉을 무조건 올릴 수 있는 마법은 아니다
- 발표자의 회사와는 관계 없음
- 오늘의 통역사
- 직장
- 전자책, 출판(2), 기업교육
- 업무
- 마케팅, 기획(상품/사업/전략), 그리고 인사
- Full stack recruiter
- 채용 관련된 모든 업무를 담당
- 6년가 400명 채용
- 직장
- 미리 보는 결론
- 경력
- 근무한 모든 기간이 경력은 아님, 증빙 가능 여부가 중요함
- 연봉
- 연봉의 정의는 회사마다 다를 수 있음. 연봉, 월급의 구조를 알아야 함
- 소득
- 연봉이 소득을 의미하지는 않음
- (+)뿐만 아니라 (-)도 확인 필요함
- 경력
- 연봉협상이란
- 회사와 지원자간 금전적 기대수준을 동기화하는 과정
- 경력이란
- 연봉협상의 첫 단추, 시간은 모든 사람에게 동일한가?
- 사람마다 판단 기준이 다름
- 같은 시간 다른 경력
- 두 사람이 공백없이 일을 했고 다른 업무(프리랜서, 개월수등) 형태로 일을 했을때 같은 직급/연봉으로 일할 수 있나?
- 계약서가 없는 경우
- 파트타임인 경우 경력증명서 발급 불가
- 폐업
- 직무가 다른 업무
- 실제로 연봉을 협상하는 사람도 증거를 산정하여 품의를 올림
- 증빙가능한 정보가 없으면 도와줄 수 없음
- 회사는 증빙가능한 경력으로 산출
- 경력증명서
- 재직증명서
- 외부인력 경력증명서
- 건강보험자격득실확인서
- 용역 계약서
- 입금 내역서(은행)
- 두 사람이 공백없이 일을 했고 다른 업무(프리랜서, 개월수등) 형태로 일을 했을때 같은 직급/연봉으로 일할 수 있나?
- 연봉이란
- 연봉협상의 핵심, 연봉은 모든이에게 같은 뜻인가?
- 같은 연봉 다른 구성
- 급여
- 중식대
- 직책수당
- 명절상여
- 계약 연봉이 어떤 것들이 포함되어 있는지 알아야 한다
- 같은 연봉 다른 월급
- 기본급이 일정한 경우
- 기본급에 분기마다 상여금이 있는 경우
- 추하지 않게 숫자를 말하자
- 같은 연봉 다른 구성
- 연봉에 대한 지원자와 회사의 인식차이
- 연봉협상의 핵심, 연봉은 모든이에게 같은 뜻인가?
- 소득이란
- 소득은 높고 지출은 적어야 한다
- 같은 연봉 다른 소득
- +요인
- 원천징수영수증은 모든것들이 들어가 있음
- 급여명세서
- 연봉계약서
- 원천징수영수증
- 항목을 확인하여 말해야함
- 인센티브
- 변동성 여부
- 스톡옵션과 비슷하지만 리스크가 적음
- 인센티브를 못받을 수도 있다고 가정
- 원천징수영수증은 모든것들이 들어가 있음
- -요인
- 경조사
- 자녀학비
- 건강검진
- 구내식당
- 휴가비
- 도서지원
- 자사제품 할인
- +요인
- 소득 = 연봉 + (부가소득 + 생계형 복리후생 + 인센티브)
- 소득은 높고 지출은 적어야 한다
- 오늘 확인해야 할 자료
- 경력
- 자신의 모든 경력에 대한 확인
- 건강보험자격득실확인서 FAX 발급
- 증빙 확보
- 분실서류 재발급, 우너본한 보관시 Scan저장
- 자신의 모든 경력에 대한 확인
- 연봉
- 연봉 구조 및 월급 구성 확인
- 연봉
- 연봉계약서 내용/구성 확인
- 월급
- 최근 6개월 급여명세서 확인
- 연봉 구조 및 월급 구성 확인
- 소득
- 연봉외 소득(+과 복리후생(-) 확인
- 소득
- 원천징수영수증 확인
- 복리후생
- 회사에서 복리후생 안내서 확인
- 연봉외 소득(+과 복리후생(-) 확인
- 경력
- 지금 or 곧 연봉협상을 하고 있다면?
- 자신감있는 태도 유지
- 단계별 진행상황 확인
- 이것이 연봉협상인지?
- 다각적/거시적 관점으로 충분한 정보 확인
- 자신감있는 태도 유지
- Q & A
- 연봉협상중인데 회사에서 빨리 대답을 할 경우?
- 회사에게 왜 빠르게 대답을 원하는지 문의
- 오퍼레이션을 승낙 한 후에 안가도 불법은 아니다
- 연봉협상중인데 회사에서 빨리 대답을 할 경우?
스페셜세션 B
내 역량에 맞는 연봉은?
우아한형제들 변연배
- 당신의 몸값을 어떻게 높일 수 있는가?
- 서로 주고 받는 것이 있음
- 우아한형제들 인사총괄 임원
- 쿠팡등 인사 쪽 재직
- 최고가 되서 떠나라
- 최고가 된다는 것은 일하고 있는 회사에서 얼마나 가치가 있는 사람인가
- 연봉이 본인에게 얼마나 중요한 부분인가 생각해보기
- 개인의 경제활동영역
- 봉급 생활자
- 사업가
- 투자가
- 자영업자
- 사람들이 평생 소비하는 시간 중
- 실제 일하는 시간은 총 12년
- 나이에 따른 임금 vs 생산성
- 임금이 오를수록 40세 부터 생산성이 낮아져서 구조조정이 대상이됨
- 일하는 시간동안 무엇을 하느냐에 따라 40세에 결과가 나옴
- 인재의 유형
- 부지런함
- 게으름
- 똑똑함
- 우둔함
- 조직장이 되었을때 어떻게 할 것인가?
- 구성원들은 어떤 조직장과 일하고 싶은가?
- 조직장은 똑똑한데 게으른게 좋다
- 조직에서의 Employability & Marketability
- 외부 이동 가능 인력(Employability)
- 여기에 해당하는 사람이 되어야 한다
- 내부 이동 가능 인력(Marketability)
- 내/외부 이동 제한 인력(?)
- 외부 이동 가능 인력(Employability)
- 현실은 냉혹
- 5만 6천개
- 반경 평균 100m에 1개
- 하나 260원 이익, 월 수입 55만원
- 한 해 평균 7400 Open/5,000 Close
- 이것은 치킨, 커피집
- 직장인의 무덤
- 자영업 비율 27.4%
- 창업 949만개 / 폐업 793만개(2004~2013)
- 5년 생존율 16.4%
- 질문
- 만일 내가 고용주라면 나를 고용하겠는가?
- 6개월 마다 이력서를 업데이트하자
- 역량을 체크
- 만일 내가 고용주라면 나를 고용하겠는가?
- 간단한 공식
- 어떤 일에 대가를 받는다는 것은 엄청한 책임이 따른다
- 받는 보수 < 주는 가치
- 공식
- 몰입
- 역량
- 전문성
- 끊임없는 학습
- 어떤 일에 대가를 받는다는 것은 엄청한 책임이 따른다
- 인재란?
- 탁월한 성과는 인재가 달성하는 것이 아니라 탁월한 성과를 지속적으로 달성하는 사람이 인재이다
- 어떤 것이 탁월한 성과인가?
- 다른 사람들이 평균적으로 달성하는 것보다 확연히 구분되는 우수한 성과
- 인재는 어떻게 알아 보는가?
- 한 사람의 인재가 세상을 바꾼다
- 최고 수준의 소프트웨어 개발자 한 사람의 보통 수준의 소프트웨어 개발자에 비해 그 기여도가 10배, 혹은 100배, 심지어 1,000배를 넘어 10,000배 보다도 더 높다
- 인재가 가지고 있는 역량의 구조
- 인재는 어떻게 만들어 지는가?
- 체계적, 심층적, 반복적 학습
- 올바른 마음 가짐
- 강점파악 -> 체계적 공부 -> 전문분야 경험
- 10년, 1만시간의 법칙
- 4차 혁명 시대에 요구되는 글로벌역량
- 창의성
- 문제해결능력
- 민첩한 학습능력
- 통섭력
- 변화에 대한 유연성
- 회복탄력성
- 조직적합성
- 외국어 + 문화적응력
- 그리고 직장 내 인간관계
- 상사
- 동료
- 같은부서
- 다른부서
- 후임
- 상사
- 나뭇가지에 있는 새는 무엇을 믿을까?
- 나뭇가지를 믿는게 아니라 내가 가지고 있는 날개를 믿자
- 직업적인 자존심
- 나를 위해 일한다
- 당신의 선택에 대해 불평 하지 마라
- 향후 노동시장 및 업무환경 변화
- 경력의 시작 및 경력변경의 유형
- 새로운 사업분야로 가는 경우 한번에 전직은 어렵다
- 필요한 직무에 따라 연봉이 결정이 된다
- 입사 결정 시 주요 고려 사항
- 총체적 급여 수준
- 기타 추가 지원받을 항목
- 대상 회사 및 그 회사가 속한 산업의 발전 가능성
- 기업 문화 및 경영 철학(중요)
- 같이 일할 상사의 품성 및 리더십
- 시간적 여유
- 나쁜상사라도 좋은 회사로 가라
- 좋은 회사라면 나쁜 상사가 오래 있지 못할 것
- 총체적 급여 수준
- 당신이 다이아몬드 라면 팅겨도 된다
- 연봉협상의 시점은 당신을 꼭 뽑아야 한다라고 했을때가 Best Time
- 자신의 몸값을 높일 가장 확실한 방법
- 실력과 성과
- 프로가 되는것
기타
- 우아한형제들 작은집 투어로 인한 구경
- 조리 가능하고 식사가 가능한 방이 있음
- 면접 대기실은 잔잔한 음악이 나옴
2019년 9월 16일 월요일
Spring TEST 종류
Spring TEST
통합테스트
장점
모든 Bean을 올려서 테스트- 쉽게 테스트 가능
- 운영환경과 유사한 테스트
- 전체적인 Flow 테스트 가능
단점
- 모든 Bean을 올리기 때문에 시간이 오래걸리고 무거움
- 테스트 단위가 커서 테스트 실패시 디버깅이 어려움
- Rollback 처리가 안되는 테스트 진행을 하기 어려움
TEST
@RunWith(SpringRunner.class)
@SpringBootTest(
classes = {CommonConfig.class},
properties = "classpath:application-test.yml"),
webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT
)
@Transactional
public class IntegrationTest{
@Autowired
MockMvc mvc;
@Autowired
private TestRestTemplate restTemplate;
}
- 요청부터 응답까지 전체 Flow를 TEST
@SpringBootTest
는 실제 ApplicatonText를 로드
- classes 속성에
@Configuration
을 사용하는 클래스가 있다면 내부에서@Bean
어노테이션을 통해서 생성되는 빈도 모두 등록 webEnvironment
을 통해 웹 환경 설정 가능
- classes 속성에
- 웹 통합 테스트 가능
@TestRestTemplate
- Servlet Container를 생성
- Web Environment 설정을 기반으로 Port 실행
- Clinet 입장에서
RestTemplate
을 사용하듯이 테스트
@MockMvc
- Servlet Container를 생성하지 않음
- 서버 입장에서 구현한 API를 통해 비즈니스 로직이 문제없이 수행되는지 테스트
- 기존에 정의했던 Configuration을 커스터마이징하고 싶은 경우
@TestConfiguration
- ComponentScan을 통해서 감지되기 때문에 만일
@SpringBootTest
의 classes 속성을 이용하여 특정 클래스만을 지정했을 경우에는@TestConfiguation
은 감지되지 않음
- classes 속성에 직접
@TestConfiguration
을 추가
@Import
을 통해 직접 사용할 TestConfiguration을 명시
- 여러 테스트에서 공유하여 사용 가능
- classes 속성에 직접
- ComponentScan을 통해서 감지되기 때문에 만일
@ActiveProfiles
을 통해 원하는 프로파일 환경값 설정 가능
@Transactional
을 사용하면 자동으로 rollback 처리
WebEnvironment.RANDOM_PORT
,DEFINED_PORT
를 사용하면 실제 테스트 서버는 별도의 스레드에서 테스트를 수행하기 떄문에 트랜잭션이 롤백되지 않음
Controller Test
장점
- 관심사가 아닌 것들은 Mocking을 통해 외부 의존성을 줄임
- 테스트 속도가 빠름
WebApplication
관련된 Bean들만 등록
- 통합 테스트보다 속도가 빠름
- 통합 테스트를 진행하기 어려운 테스트를 할 수 있음
- 외부 API
- Rollback 처리가 힘들거나 불가능한 경우
- 실제로 호출 하면 안되는 API
단점
- 의존성 객체를 Mocking하기 때문에 완벽한 테스트는 아님
- Mocking 처리하기 위한 시간이 소요
- Mocking 라이브러리에 대한 학습 비용 발생
- Mock 기반 으로 테스트하기 때문에 실제 환경에서는 결과가 다를 수 있음
TEST
@RunWith(SpringRunner.class)
@WebMvcTest(TestController.class)
public class TestController {
@MockBean
private MockService MockService;
@Autowired
private MockMvc mvc;
//..
}
@MockBean
을 선언하면 Mock 객체를 빈으로써 등록
@MockBean
으로 선언한 객체와 같은 이름과 타입으로 이미 빈으로 등록되어있다면 해당 빈은 선언한 Mock 빈으로 대체
@WebMvcTest
Scan 대상
- @Controller
- @ControllerAdvice
- @JsonComponent
- Filter
- WebMvcConfigurer and HandlerMethodArgumentResolver
MockMvc
를 자동으로 설정하여 Bean으로 등록
- MockMvc를 자동으로 지원
- HTTP 서버 없이 Controller 테스트 가능
- Async Test를 할 경우
MvcResult
로 받아서asyncDispatch
로 감싸줄 필요가 있음
Service Test
장점
- 하고자 하는 테스트에만 집중
- 관심사가 아닌 것들은 Mocking을 통해 외부 의존성을 줄임
- 테스트 속도가 빠름
단점
- 의존성 객체를 Mocking하기 때문에 완벽한 테스트는 아님
- Mocking 처리하기 위한 시간이 소요
- Mocking 라이브러리에 대한 학습 비용 발생
TEST
@RunWith(MockitoJUnitRunner.class)
public class MockServiceTest {
@Mock
private MockRepository mockRepository;
@Spy
private SpyRepository SpyRepository;
@InjectMocks
private MockService mockService;
//..
}
@Mock
을 사용하여 mock객체를 만들어 원하는 응답의 데이터를 설정@InjectMocks
은 @Mock이나 @Spy 어노테이션을 사용하는 Mock 객체를 자신의 멤버 클래스와 일치하면 주입@Spy
이 선언된 Mock 객체는 목 메소드를 선언하지 않았다면 실제 메소드가 호출
Repository Test
장점
- Repository 관련된 Bean들만 등록
- 통합 테스트보다 속도가 빠름
- 테스트 범위가 작음
단점
- 테스트 범위가 작기 떄문에 실제 환경과 다를 수 있음
TEST
@RunWith(SpringRunner.class)
@DataJpaTest
@AutoConfigureTestDatabase(replace = Replace.NONE)
public class RepositoryTest {
@Autowired
private TestRepository TestRepository;
}
@DataJpaTest
을 사용하여 Repository에 대한 Bean만 등록
@Entity
Class를 Scan
@Transactional
어노테이션을 포함
@Transactional
기능이 필요하지 않으면@Transactional(propagation = Propagation.NOT_SUPPORTED)
설정
TestEntityManager
생성
@DataJpaTest
는 기본적으로 in-memory embedded database에 대한 테스트를 진행
- real database를 사용하고자 하는 경우
@AutoConfigureTestDatabase
사용
- real database를 사용하고자 하는 경우
JpaRepository
에서 기본적으로 기본적으로 재공하는 메서드는 테스트 하지 않음
- 단위 테스트마다 DB가 자동적으로 Rollback
@JdbcTest
- Spring Data JPA를 사용하지 않고 순수 데이터베이스 테스트 할 떄 사용
- 기본적으로 in-memory embedded database가 설정되며, 테스트를 위한
JdbcTemplate
을 생성
Json Test
@JsonTest
을 사용하면 JSON serialization과 deserialization을 테스트@RunWith(SpringRunner.class)
@JsonTest
public class ArticleJsonTest {
@Autowired
private JacksonTester<Member> json;
}
@JsonTest
는ObjectMapper
와@JsonComponent
빈을 포함한 Jackson의 테스트를 위한 모듈들을 자동으로 설정JacksonTester
,GsonTester
,BasicJsonTester
등 제공
Client Test
- 서버가 아닌 클라이언트 입장에서 Test할 때 사용
- Apache HttpClient나 Spring의 RestTemplate을 사용하여 외부 서버에 웹 요청할 때
장점
RestTemplate
같은 객체를 Mock 객체로 바꿔서 테스트하는 것보다 리얼 환경에 가깝게 단위 테스트를 수행
@RunWith(SpringRunner.class)
@RestClientTest(TestService.class)
public class TestServiceWithRestClientTest {
@Autowired
private MockRestServiceServer server;
}
@RestClientTest
는 요청에 반응하는 가상의 Mock 서버를 만듬
- 내부 코드에서 웹 요청이 발생할 경우
@RestClientTest
로 인해서 생성된 가상의 서버가 응답
- 내부 코드에서 웹 요청이 발생할 경우