서론기술 면접을 진행하다보면 가장 많이 들어오는 질문 중 하나는 데이터베이스 입니다. 그 중에 단골 질문을 꼽자면 디비 트랜잭션에 대한 질문과 데이터베이스를 기반으로 동시성을 제어하는 질문입니다. 해당 질문을 가장 자주 물어보는 이유는 트랜잭션은 백엔드를 개발하는데 가장 작은 단위이기도 하고 트랜잭션에 대한 이해없이 개발을 했다가 운영 중에 데이터의 무결성이 깨지거나 동시성을 제어하지 못하는 경우들을 자주 접하기 때문입니다. 하지만 백엔드 엔지니어를 준비하면서 보통 트랜잭션의 특성과 Isolation Level의 개념, 각 Isolation Level에 일어날 수 있는 문제들만 충분하다는 생각에 단기적으로 외우고 끝내는 경우가 많습니다. 저도 마찬가지로 그렇게 외우고 있다가 최근에 T사 면접과 스타트업 ..
전체 글
좋은 영향력을 전파하기 위해 노력하는 엔지니어 리오입니다.서버리스를 쓰게 된 배경 이번에 누구나 리포터 랩을 참여하면서 Lambda라는 기술을 사용하게 되면서 서버리스 환경을 구축하기 위해 고려해야되는 레포 관리 전략과 프레임 워크, 디렉토리 구조 등의 정보등을 조사해봤는데요. 서버리스는 어떤 장점을 가지고 있어서 스타트업부터 대기업까지 다양한 규모의 기업들이 활용하고 있을지 자세히 알아봅시다. 서버리스의 가장 큰 장점 중 하나는 적은 러닝커브에 있습니다. 개발자가 일반적인 웹서버를 구축하기 위해 어떤 지식들이 필요한지 나열한다면 아래의 정보들을 학습하고 어느정도 이해하고 있어야 구축할 수 있을 것입니다.프로그래밍(Java, Node.js, Python 등)프레임워크(Django, SpringBoot, Nest.js 등)인프라 관련(AWS, GCP, Linux..
나를 알아가는 질문 10가지1) 내가 구독한 유튜브 채널들을 보자. 나는 무엇을 추구하길래 그 채널들을 구독했는가? 내가 구독한 유튜브 채널에 대해 생각해보진 않았았지만 지금 보니 정말 넓은 스펙트럼으로 구독을 하고 있었다. 게임 유튜버부터 시작해서 과학 유튜버, 경제 유튜버, 개발자 유튜버, 동물 유튜버, 영화 리뷰 유튜버 등 다양한 유튜브 채널을 구독하고 있었고 어떤 채널하나 겹치는 것이 없었다. 게임, 동물, 영화 리뷰를 찾는 경우는 나에게 보상이 필요할 때 많이 찾았던 것 같다. 회사를 퇴근하거나 카페에서 공부하고 집에 돌아오는 길, 스터디를 마치고 왔을 때 등 보상 심리로 도파민을 채울 수 있는 영상들을 보면서 아무런 생각을 하고 싶지 않을 때 시청했다. 과학, 경제 유튜버를 볼 때에는 청소하거..
차가운 개발자 채용 시장 이직을 시작하기 전부터 많은 개발자분들에게 피드백을 받으며 이력서를 어느 정도 완성단계에 있었기 때문에 이력서는 금방 정리가 되었다. 그래서 일단 채용 시장이 어느 정도 난이도인지 몸소 체감해 보기 위해 괜찮다고 생각되는 기업을 골라 수많은 기업들을 지원했었다. (혁신의 숲, 블라인드, 잡플래닛 등을 활용)채용시장은 예상대로 차가웠고 원티드 25건, 프로그래머스 8건, 리멤버 8건, 기타 3건 등을 포함하여 총 44건의 지원 중에 단 6곳정도밖에 서류를 통과하지 못했다. '6건이라도 통과한 것이 어디야?'라고 생각할 수도 있겠지만 생각했었던 서류 합격률의 약 절반 정도인 13.64% 되지 않았기에 어떤 점이 문제인지 가설을 세워보기로 분석하기로 했다. 첫 번째 자격 요건의 맞지 ..
이직을 준비하게 된 배경정말 오랫만에 글을 쓰고 있는 것 같다. 이전부터 이직을 준비하고 있었지만 갑작스럽게 회사를 나오게 된 가장 큰 이유는 회사 내부 사정으로 인해 많은 직원들이 자발적 또는 타의적으로 정리되어서 나오게 되었기 때문이다. 그래서 나에게서 이직은 사과나무에 열린 사과처럼 과실이 익기를 천천히 준비할 수 있는 문제에서 당장 해결해야되는 과제로 다가오게 되었다. 이전 회사에서의 경험이직 준비 계획을 이야기하기 전에 잠깐 지금까지의 회사의 경험을 회고해보려고 한다. 고든램지의 키친 나이트메어의 이런 에피소드가 있었는데 어떤 망해가는 버거집에서 고든램지를 불러 솔루션을 해달라고 요청하는 에피소드였다. 사장은 가게에서 좋은 재료만을 쓰고 자기만의 레시피로 만든 메뉴를 고든램지에게 대접했고 그걸..
문서로 시작해서 문서로 끝나는 직업 개발자가 갖춰야하는 하는 역량은 다양하다. 예를 들면 요구사항에 따라 정확하고 잘 구현해야되는 구현 능력, 비개발자와도 잘 소통할 수 있는 커뮤니케이션 능력, 제한된 일정에 스케줄링을 잘 해야하는 계획력 등이 있다. IT 인력 시장에서는 실제로 기술력이 엄청 뛰어난 슈퍼 개발자보다는 능력을 두루두룩 갖춘 개발자들을 더 많이 찾고 있으며 기획, UI/UX 설계 등 개발자들이 더 많은 부분에 관여하고 조율 함으로써 낮은 리소스로 높은 아웃풋을 내길 희망한다. 하지만 이런 모든 능력을 완벽하게 갖춘 사람이 되는 것은 매우 어려운 일은 물론이고 모든 과정의 일을 기억하고 조율하는 것은 더더욱 어려운 일이다. 그래서 개발자는 처음에는 요구사항을 만들기 위한 문서를 전달 받고 ..