카카오뱅크 도메인 특강
업무 프로세스
- 기획 + 디자인
- 개발
- Jira를 사용한 Task 분배
- 짧은 주기의 개발단위를 반복하여 프로젝트를 완성시켜나가는 에자일 방식의 프로젝트 관리 협업 툴
- GitFlow 전략
- 프로젝트를 진행할 때 GitFlow 전략을 한번쯤은 꼭 경험해보기!
- Code Review
- QA
- 배포
핀테크 도메인
- Finance(금융) + Technology(기술) = 핀테크(FinTech)
- 즉, IT 기술을 사용해 금융 도메인을 다루는 산업
- 망분리 환경으로 인한 별도 시스템 사용
- 망분리 → 인터넷 사용 가능 또는 불가능 환경으로 나눈다.
eCAMS
: 망분리 환경에서 사용하는 배포 시스템
- 도메인 지식이 쓰이는 파트
- 채널계 - 스프링 개발자
- 계정계 - SQL, DB 쿼리
- 정보계
개발 스택
- Spring
- Spring MVC
- Spring Boot - Config 설정 자동화의 장점을 가짐, 젤 중요함
- Spring Security - 깊게 보진 않아도 된다.
- Spring Batch - 시간 되면 볼 것
- Kotilin
- DB
- E.T.C
- 서버가 많은 부하를 받음 → 쿼리가 더뎌짐 → 대용량 트래픽 처리해야됨 → MQ(메시지큐)를 사용
- 주기적인 자동화 시스템 설정, 스케줄러를 매크로 돌리는 느낌?
- 코드 관리
- 정적인 코드 분석, 테스트 코드가 몇 라인을 커버하는지 등등
- Kibana / NELO2
갖추었으면 하는 역량
- 트랜잭션
- 꼼꼼함
- 요청의 일관성 + 정합성을 맞추는 작업이 많음
- ex) 외부 컴포넌트 통신 중 Exception이 발생한다면?
- 실수가 곧 크리티컬한 상황을 불러일으킬 수 있다.
- 끈기
- 비단 핀테크 개발자 뿐만 아니라 개발자라면 갖춰야하는 역량
- 현업 프로젝트의 규모는 굉장히 크고 그 큰 곳에서 우리는 바늘을 찾아야한다.
- 끝까지 파고들어 디버깅 하는 끈기
- if / else 로 코드를 짜는 개발자가 될 것인가? → 편한 길
- 기술스택 이해도
- 질문 할 수 있는 용기
Q&A
- 블로그가 양날의 검이 될 수 있다.
- 블로그를 열심히하고 쌓이면 쌓일수록 나중에 면접가서 정리한 내용에 대해 질문이 들어왔을 때 모든걱 기억할 수 없을 수도 있음.
- 현업에서 개발 예상기간 산출은 어떻게 하나요? 감으로 하나요? 아니면 공식같은게 있나요?
- 감이 크다. (생각하는 예상 기간의 1.5배~2배)
- 실제로 개발 하다보면 예상치 못한 상황을 엄청 많이 겪는다.
- 하나에 대해서 깊게 아는 것이 더 중요함. 다양한 개념에 대해 얕게 알아서 나열하는 사람들은 대부분 떨어짐.
- 도커와 aws에 대해서는 어느정도를 알아야 하나요? 기본적인 정도로는 많이 부족한가요?
- 데브옵스 개발자는 깊게 알아야함.
- 백엔드 api 개발자는 깊게까진 알 필요 없다.
- 요새 채용공고들을 둘러보면 자바+스프링 스택 채용도 많지만 코틀린+스프링 스택 채용이 많아지고 있는 것같습니다. 코틀린+스프링 스택의 전망을 어떻게 보시고 계신가요??
- 5~10년 뒤면 거의 99퍼센트 코틀린으로 바뀔 것 같다.
- 포트폴리오에 프로젝트를 정리하고자 할때, 프로젝트에 대한 설명 이외에
어떤 내용이 중점적으로 들어가야 잘 정리됬다고 할 수 있을까요?
- 시각화했을때 큰 메리트가 있는 자료들
- 텍스트 위주는 자소서, 포폴은 시각화 자료 추천
- 어느정도 규모가 있는 팀프로젝트와 개인적으로 진행한 미니프로젝트 여러개중에 어떤게 더 스펙이 될까요
- 전자 후자 모두 장단점이 있음.
- 두개다 할 수 있으면 좋다.
- 강사님께서 신입 개발자를 뽑는다면 어떤 부분을 가장 중요하게 생각해 신입 개발자를 뽑으실지 궁금합니다
- 자기가 해왔던 프로젝트에 대해서 깊게 설명할 수 있는 사람!
- 백엔드 개발자에게 있어서 취업을 준비할 때 대용량 트래픽 처리 경험은 큰 메리트가 있는 것으로 알고 있습니다. 실무 경험이 없더라도 대용량 트래픽 처리를 경험할 수 있는 방법이 있을까요??
- 솔직히 경험하기 힘들다.
- 대용량 트래픽을 핸들링할 수 있는 방법론들에 대해 구글링하면서 많이 찾아볼 것!
GIT
리베이스
- 머지는 히스토리를 보존하고, 리베이스는 히스토리를 재작성한다.
- 히스토리가 깔끔하게 나온다.
- 명령어
git merge main
- 현재
checkout
된 branch
로 main
을 흡수
git rebase main
git rebase main bugFix
협업