들어가며
이 글은 비전공자로 사수도 팀원도 없이 혼자 백엔드 업무를 맡았던 제 생각과 느낀 점을 1년 2개월이 된 지금 시점에서 정리한 글입니다. 같은 길을 걷고 있는, 어쩌면 같은 길을 걸을 예정인 분들께 드리고 싶은 이야기를 전달하려 합니다.
지난 1년간의 여정
저는 앞서 말한 것처럼 비전공자로, 완전히 다른 직무에서 일하다가 개발자로 직무를 전환했습니다. 운이 좋게도 1년 정도 된 스타트업에서 커리어를 시작할 수 있었고, 제가 합류했을 때 회사는 MVP(Minimum Viable Product)를 리뉴얼하던 상황이었습니다. 회사의 기존 백엔드는 JavaScript & Express였지만, 제가 가진 기술 스택은 Java & Spring이었습니다. 따라서 기존 백엔드를 새로운 기술 스택으로 마이그레이션해야 할 뿐만 아니라 새 개발자 채용 전까지 혼자 모든 것을 맡아야 했는데요.
어디선가 “스타트업은 업무의 경계가 없고 혼자 여러 업무를 맡아야 한다.” 따위의 말을 들어보신 적이 있으실 겁니다. 저도 예외는 아니었고 혼자 백엔드 서버, 데이터베이스, 인프라 등 가리지 않고 업무(행사에 참여해 기업 부스를 운영하는 일도…)를 수행했습니다. 그러나 긍정적으로 생각하면 이 경험은 당신이 대체하기 어려운 혹은 대체 불가능한 인력으로 성장할 기회로 해석될 수도 있습니다.
저는 이 경험을 통해 프로덕트 수준에서 데이터베이스를 관리하며 slow query 개선, 대용량 데이터 처리 등의 업무를 해 볼 수 있었고, 인프라를 구축하며 부족했던 네트워크나 운영체제에 대한 지식을 습득할 수 있었습니다.
이렇게 저의 1년이 지나갔습니다.
이게 맞는 방법인지 모르겠어요
위 소제목은 모든 것이 처음이고 낯선 신생아 수준의 개발자였던 제가 1년 동안 가장 많이 한 말입니다.
결과적으로는 정상 작동하지만, 기능이 추가됨에 따라 스파게티 코드가 되어 작성한 코드가 마음에 들지 않을 때가 있었습니다. 기본적인 MVC 패턴에 맞춰 개발하고 있었지만 내 코드가 정말 객체 지향적인지, 아키텍처를 맞게 설계한 것인지에 대해 항상 의문을 품고 있었습니다. 코드 리뷰를 해줄 수 있는 사수나 팀원이 없었던 저는 아래 방법들을 통해 이러한 의문을 해소해 왔습니다.
여러 사람들의 의견 참고하기
개발에는 은탄환 같은 정답이 존재하지 않습니다.
따라서 개발자마다 자신만의 방법이 있다는 것을 인지해야 합니다.
검색을 통해 볼 수 있는 포스트에는 간혹 잘못된 정보가 포함되어 있으며, 내용의 질 또한 천차만별입니다. 그렇기 때문에 저는 글뿐만 아니라 깃허브의 여러 레포지토리와 컨퍼런스를 참고하여 가능한 많은 양의 정보를 습득했습니다. 이렇게 얻은 정보를 제 생각과 비교하며 코드가 은탄환에 조금이라도 가까워질 수 있도록 노력했습니다.
1.
관련 서적을 읽고 자가진단 해보기
내 코드가 객체 지향적인지에 대한 의문이 들어 ‘객체 지향의 사실과 오해’를 읽었고, 아키텍처를 잘 설계하고 있는지에 대한 의문이 들었을 때는 ‘클린 아키텍처’를 읽었습니다. 업무 중 마주치는 문제를 해결하기 위해 관련 서적을 읽었습니다. 이를 통해 내용을 더 빠르게 이해했고, 책에서 얻은 지식을 적용하여 코드베이스를 다듬었습니다.
2.
숨고나 지인을 통해 리뷰 받기
다른 개발자분이 ”OO만 원짜리 코드 리뷰를 받아서 나중에 더 연봉이 더 높아진다면 오히려 이득이다.”라고 말씀해 주셨던 것이 굉장히 인상적이었습니다. 그러던 중 우연히 좋은 기회로 인프라 진단을 받게 되었고, 1시간 만에 평소 문제였던 부분들을 시원하게 짚어 주셨습니다. 그 이후 시간을 내어 작성해 주신 키워드를 통해 인프라 개선을 하며 공부할 수 있었습니다.
3.
스터디 활용하기
약 8개월 동안 오렌지플래닛에서 운영하는 개모임(개발자 모임)에 참여하며 많은 인사이트를 얻을 수 있었습니다. 저처럼 혼자 외로운 싸움을 하고 계신 분들에게 너는 혼자가 아니고, 이미 개발자 커뮤니티에 속해있다는 말씀을 해드리고 싶습니다.
지금까지 저의 처음을 되돌아보며 이야기를 조금 풀어보았는데요. 어떻게 읽으셨나요?
제가 겪었던 과정들을 겪고 계시는 분들께 조금이나마 도움이 되었으면 좋겠습니다.
다음글에서는
‘테스트 코드… 그거 꼭 만들어야 하나요?’, ‘AI, 너 내 동료가 돼라’ 내용으로 찾아오겠습니다.
editor. 티모
개발자 스터디? 커뮤니티? 관심 있는 사람