커뮤니티에 대한 편견가끔 커뮤니티나 링크드인, 세미나에서 활발히 활동하는 개발자들을 볼 때면 문득 이런 생각을 합니다. '저렇게 열정적으로 말하는 만큼 정말 일을 잘하는 사람일까?' 하는 의심과 함께, 한편으로는 '저런 사람과 함께 일하면 즐겁게 더 많이 성장할 수 있을까?' 하는 기대감도 품었던 적이 있었습니다. 물론 직접 일을 해보기 전까진 알 수 없겠지만, 중요한 건 커뮤니티나 세미나를 통해 서로 정보를 나누고 도우며 만들어지는 문화가 서로에게 다가가고 함께 성장할 수 있는 환경을 만드는 데 큰 역할을 한다는 것입니다.커뮤니티를 시작하게 된 이유 2021년 12월 지방에서 혼자 서울로 올라왔을 때, 지방에 오랜 기간에 살았기 때문에 회사 외에는 특별한 인맥이나 인연이 없었고 회사 내에서도 개발자가 ..
배경 회사에 장애가 발생했었을 때 K8s로 돌아가고 있는 서비스들에 대해 가설을 나눴는데 제가 K8s에 대한 기본적인 개념들과 지식들이 얕다보니 잘못된 이야기들을 하는 순간들이 있었습니다. 쿠버네티스를 공부하기 위해서 강의까지 구매 했었지만 바쁜 일정들이 있어 미뤄두고 있었고 그렇게 계속 미뤄지다가 결국 문제가 생겼을 때까지 미뤄지게 되었습니다. 입사한 지 오래되지 않았지만 경력 개발자로서 제대로 대처하지 못한 점이 큰 충격이었고 이를 계기로 쿠버네티스의 핵심 개념과 동작 원리를 정리하여, 유사한 문제가 발생했을 때 효과적으로 대응할 수 있도록 필수 개념을 숙지하려고 합니다. 기본 아키텍처1. Control Plane클러스터 중앙 제어 시스템과 같은 역활을 하는 노드로 클러스터의 전반적인 상태를 유..
클라우드에 비즈니스를 맞추면 생기는 일 클라우드라고 하면 AWS가 바로 언급될 정도로 AWS는 클라우드라는 시장에 아주 막강한 영향력을 가지게 되었습니다. 그래서 저희가 프로젝트를 진행하고 있는 누구나 리포터 LAB프로젝트도 AWS 기반으로 인프라를 구성하게 되었습니다. 기존에 하던 사이드 프로젝트와 다르게 비영리 기업에서 기존에 사용하고 있던 기술에 최대한 맞춰주기 위해 AWS Lambda를 도입하였고 이를통해 웹서버 운영에 드는 고정 인프라 비용을 크게 절감할 수 있었습니다. 이런 노력에도 불구하고 매달 200달러 이상의 비용지출이 예상되었고 이는 AWS 생태계에서 필수적으로 사용해야 하는 인프라(NAT, Redis, Database 등)으로 발생하는 비용들이였습니다. 필수 인프라를 없애는 것은 ..
제어할 수 없는 일속에서도 의미 찾기올해는 정말 어떤 것 하나도 제 의도대로 돌아가지 않았던 한 해였습니다.사내 MSA 프로젝트가 중단된 일부터 해서 팀원들이 줄줄이 퇴사했던 일, 계속해서 변하는 사내 업무 환경까지 어느 것 하나 제대로 제어하기 어려웠습니다.그러다 결국 회사 재무 사정이 어려워져 팀 전체가 구조조정되었고, 그렇게 실업자가 된 저는 본능적으로 “다시 이직을 해야 한다”라는 생각에 후반기에는 취업 준비에 많은 시간을 투자하며 나날을 보냈었습니다.이런 과정들을 그저 혼자 이겨내려고 했다면 계속되는 실패로 인해 조커가 되었을지 모르겠지만 감사하게도 주변에 직간접적으로 도움을 주시는 분들이 있었고, 그분들의 좋은 영향력 덕분에 안좋은 감정들을 떨처내고 이겨낼 수 있었습니다. 그래서 올해 회고에는..
생각보다 어려운 굴러가는 바퀴 만들기여러 인원이 모여서 사이드 프로젝트를 진행해 보신 경험들이 있으신가요? 처음에 시작할 때에는 여러 사람들이 모여 협업하기 때문에 내가 혼자하는 것보다 몇 배는 빨라질 것이라 생각하지만 실제 체감해보면 생각보다 느린 속도를 경험해 보셨을 것입니다. 그래서 이를 해결하기 위해 여러 규칙들을 만들고 프로세스를 정의하다가 결국 배보다 배꼽이 더 커져 프로젝트 인원들이 나가게 되는 경험들도 해보셨을 거라 생각됩니다. 저희 누구나리포터 LAB도 다른 사이드 프로젝트와 마찬가지로 무려 13명이라는 인원들이 모여 프로젝트를 진행하는 과정 속에서 여러 시행착오들과 잘못된 선택들을 한 순간들이 다수 존재했습니다. 그런 순간들을 어떻게 이겨내고 문제들을 해결해 나갔는지 소개하면서 누구나..
서론기술 면접을 진행하다보면 가장 많이 들어오는 질문 중 하나는 데이터베이스 입니다. 그 중에 단골 질문을 꼽자면 디비 트랜잭션에 대한 질문과 데이터베이스를 기반으로 동시성을 제어하는 질문입니다. 해당 질문을 가장 자주 물어보는 이유는 트랜잭션은 백엔드를 개발하는데 가장 작은 단위이기도 하고 트랜잭션에 대한 이해없이 개발을 했다가 운영 중에 데이터의 무결성이 깨지거나 동시성을 제어하지 못하는 경우들을 자주 접하기 때문입니다. 하지만 백엔드 엔지니어를 준비하면서 보통 트랜잭션의 특성과 Isolation Level의 개념, 각 Isolation Level에 일어날 수 있는 문제들만 충분하다는 생각에 단기적으로 외우고 끝내는 경우가 많습니다. 저도 마찬가지로 그렇게 외우고 있다가 최근에 T사 면접과 스타트업 ..