개발자 6

주니어 개발자가 2년 동안 업무를 통해 배운 것들

이번 3월을 끝으로 회사를 나오게 되었습니다. 저는 2년 전 개발자로 커리어 전환을 하고, 핀테크 스타트업인 *알파프라임에서 백엔드 개발자로 일했습니다. 이 글은 제가 회사에서 2년 동안 어떤 업무를 해왔는지, 그 업무를 통해 어떤 배움을 얻었는지에 대해 회고하는 글입니다. *알파프라임은 [알파스퀘어]라는 스마트 트레이딩 플랫폼 서비스를 운영하고 있습니다. 온보딩 프로젝트 처음 입사를 하고 약 한 달 동안 온보딩 프로젝트를 진행했습니다. 저희 회사는 신규 입사자와 사수가 함께 프로젝트를 만들어가는 방식으로 온보딩을 진행합니다. 저는 온보딩 프로젝트로 주식 관심종목에 대한 CRUD를 구현했고, 그 과정에서 FastAPI, Sqlalchemy, PostgreSQL 같은 기본적인 기술들과 회원가입 & 로그인,..

개발자 글쓰기 커뮤니티는 '슬랙 봇'을 어떻게 사용하고 있을까?

글 쓰는 또라이가 세상을 바꾼다 글또(글 쓰는 또라이가 세상을 바꾼다)라고 하는 개발자 글쓰기 커뮤니티가 있습니다. 현재 진행 중인 글또 9기는 454명이 참여 중이고, 전체 일정의 중반을 넘어서고 있죠. 저는 글또를 7기부터 참여하고 있고, 현재 9기까지 약 2년에 가까운 시간 동안 함께하고 있습니다. 그리고 8기 때부터는 운영진으로 참여하며 커뮤니티에 직접적으로 기여하고 있는데요. 저는 커뮤니티 내 '또봇'이라고 부르는 '슬랙 봇'을 개발하여 운영하고 있습니다. 글또는 한 기수가 5~6개월 동안 진행되며, 멤버들은 2주에 한 번씩 글을 슬랙에 공유하는 방식으로 소통합니다. 이 과정에서 서로의 글에 피드백을 주고받고, 가끔은 멤버들 간 커피챗을 통해 지식이나 경험을 나누기도 합니다. 저는 여기에 더해 ..

독서모임 기록 _ 소크라테스 익스프레스 2/2

*이 글은 책 [소크라테스 익스프레스]를 읽고 독서모임에서 나눈 이야기를 기록한 글입니다. *참여자 : 김은찬, 김정희, 임지영, 이상철 8. 간디처럼 싸우는 법 - 오직 진정으로 용감한 사람만이 인간의 마음을 바꾸기 위해 자발적으로 고통을 겪는다 - p284 - “구덩이 안으로 내려가지 않고 구덩이를 팔 수 있는 사람은 아무도 없다” - p285 - 수단과 목적을 혼동한 사람은 스스로를 집어삼킨다. - p285 Q. 무언가를 바꾸기 위해 자발적으로 고통을 겪은 경험이 있나요? 그것은 목적이었나요? 수단이었나요? 기술적으로 낙후된 회사에 다닐 때, 시스템 개선을 위해 밤새서 작업했다. 그런데 바꾼 것에 대한 검증과 설득의 과정이 고통스러웠다. 작업을 하고 설득하면 설득이 잘 안 된다. 그런데 설득을 먼저..

면접관도 나무에서 떨어질 때가 있을까?

문득 취업을 위해 면접을 보던 때가 떠오른다. 배달대행 서비스 회사에 지원한 적이 있었는데 운이 좋게도 1차 기술면접을 보게 되었다. 면접은 개발자 채용에서는 보기드문 다대다 면접이었는데 내게 주어지는 시간은 10분에서 15분 안팎이었다. 할당된 시간이 적다 보니 질문 수가 많지 않았는데 그중에 한 질문이 'API문서 최신화'에 대한 질문이었다. "API문서를 어떻게 최신화를 할 수 있는가?" 라는 질문에 나는 스웨거라는 툴을 사용하면 자동으로 API문서를 최신화할 수 있다고 답했다. 그러자 면접관 분들이 스웨거도 수동 작업이 필요하다고 말하면서 바로 다음 질문으로 넘어갔다. (*스웨거 - API문서를 생성해주는 도구) 당시의 나는 면접관 분들의 말에 토를 달수가 없었다. 내 지식에 자신도 없었고 오랫동..

개발자가 가져야할 생각

정답이란 없다. 지금 믿고 있는 것을 계속 의심하자. 기술이 목적이 되어서는 안된다. 기술을 배우는데 매몰되지 말고 배우고 있는 기술을 어떻게 사용할지 생각하자. 남이 말하는 좋은 코드, 좋은 도구에 나를 맞추려하지 말자. 내게 주어진 상황속에서 가장 적절한 도구를 다루자. 내 도구 상자에 다양한 도구를 채우자. 주어진 문제를 가장 적합한 도구로 해결할 수 있을 것이다. 비용이 많이 드는 일은 반복숙달을 통해 비용을 절감시키자. 특히 테스트 코드를 작성하는데 드는 비용을, 습관을 통해 줄이자. 문제(도메인)를 이해하지 못하면 해결책(소프트웨어)을 잘 만들 수 없다. 개발자는 도메인을 간과해서는 안된다. 지식의 누락이 비효율과 피해를 발생시킬 수 있다.

cs에 대한 생각

기업 협업이 내일이면 마지막이다. 기업 협업을 4주간 진행하면서 느낀 점은 cs지식이 실제 실무와 많이 연결되어 있다는 것이다. 예를 들어 나는 개발에서 데이터 저장은 DB만 사용하는 줄 알았는데, 문제를 어떻게 바라보느냐에 따라 DB 외에도 메모리, 파일, 등을 사용할 수 있어야 한다는 것을 알게되었다. 내가 이번에 다룬 주식 호가 데이터는 전형적인 '스트리밍 데이터'로 그 양이 어마어마하다. 이렇게 방대한 데이터를 DB에 그대로 저장하는 것은 좋은 방법이라고 할 수 없다. 왜냐하면 하나의 테이블에 매일 수백만 개의 데이터를 쌓는 것은 데이터 관리나 활용 측면에서 매우 비효율적이기 때문이다. 하지만 이런 데이터를 특정 기준에 따라 여러 파일로 분산 저장한다면 어떨까? 데이터를 관리하기도, 활용하기도 매..