예비 개발자 일기 2. 좋은 동료가 되고싶다!!

VLV·2022년 10월 2일
0

예비 개발자 일기

목록 보기
1/1

항해99 프로그램은 매주 3~4명으로 이루어진 새로운 팀을 구성한다. 2주차에서 3주차로 넘어가는 길목에서, 많은 사람을 만나본 것은 아니지만, 내가 만나본 사람들은 크게 두 부류로 나뉘어졌다. 더 가까워지고 싶은 사람과 더는 그렇지 않은 사람.

야 공부는 혼자하는거야! - 모 자기계발서 중

개발을 공부하는 누구나 더 실력있는 개발자가 되길 바란다. 우리 9기 팀원들이 하루 12시간 이상 컴퓨터 앞에 붙어있는 이유도 그와 같을 것이다(특히 내가 속한 반은 40여명 정도인데, 매일 밤 12시 너머서도 80~ 90%는 공부하고 있다. 열의가 정말 대단하다... 무섭다 ㄷㄷ). 그러나 모든 동료들이 같은 베이스라인을 가지고 시작한 것도 아니고, 같은 속도로 발전하지도 않는다. 누구는 더 앞서 나가는 반면, 다른 누군가는 (적어도 지금은)더디게 전진한다. 비단 동료들 사이에서 경쟁할 것 뿐만 아니다. 나를 포함해 동료 대부분을 차지하는 비전공자들은 취업전선에서 어리고 좋은 대학을 졸업한 전공자들과 같은 선에서 겨루어야 한다. 때문에 같은 시간 공부하더라도 더 잘 공부하는 것이 중요하다고 생각했다.

더 잘 공부하기 위해선 어떻게 해야할까.

나는 몇 가지 리스트를 만들어 스스로 답하려고 했다. 나는 왜 공부하는가? 항해99가 끝나고 무엇을 하고 싶은가? 내가 원하는 것을 달성하기 위해서 무엇을 공부해야 하는가? 언제까지, 얼마나 내 자원을 쏟을 것인가? 플랜이 실패할 경우 대안이 있는가? 각자 처한 상황이 다르기에 잘 공부하기 위한 고민도 다르겠지만, 내 경우는 이정도로 정리할 수 있겠다(적어도 지금은. 히히).

나는 스타트업 기업에서 개발자로서 첫 직장을 가지기로 목표를 잡았다. 언젠가는 완전히 새롭거나 더 나은 시스템을 창출하여, 정당한 댓가를 받고 시스템 사용자들에게 더 개선된 서비스를 제공하는 경험을 하고 싶기 때문이다. 스타트업 기업에 취직하기 위해 내 기준에서 가장 빠른 길은, 대학교, 대학원을 다닐 때 약간이나마 공부했던 개발 경험을 베이스로 웹 개발자가 되는 것이라고 판단했다. 어떤 스타트업이나 웹 개발자 수요는 있을테니까.

목표를 정했다면 무슨 공부에 초점을 맞추는게 유리할지 선택해야한다. 조사 결과, 스타트업이 수요하는 초년생 개발자는 프론트엔드에 가까운 풀스택 개발자일 것이라고 판단했다. 그런데 어불성설, 불과 몇 개월만에 그런 양질의 개발자가 되기는 누구에게나 쉽지 않을 것이다. 나와 같은 비전공자는 더더욱 그럴거고. 때문에 공부 범위를 더 좁혀야했다. 열심히 공부하는 것은 누구나 하는 것이고, 나는 더 유니크한 존재여야 경쟁력이 있을 것이라고 생각했다.

나는 우선 백엔드를 공부하기로 정했다. 프론트엔드는 지금 당장은 초년생 개발자의 스타트업 취업에 조금이나마 더 유리할지 몰라도, 트렌드 변화가 매우 빠르기 때문에 지금 공부한 것이 프론트엔드 개발자가 되고 나서 언제까지 트렌드로 남아있을 지 예측하기 더 어려울 것 같았다. 물론 백엔드 개발자도 같은 고민을 하기는 마찬가지지만, 장기적으로 풀스택 개발자가 되기 위해서 둘 중 하나를 먼저 선택하야 한다면 내게는 백엔드가 적합하다고 생각했다. 개인적인 성향이 눈에 보이는 부분보다 보이지 않는 뒷면에서 데이터를 다루는 것을 더 선호하기 때문이기도 했고, 크기를 확장하는 단계에서 스타트업 기업이 마주하는 중대한 마찰중 하나는 눈에 보이는 부분보다 보이지 않는 서버 문제라고 생각했기 때문이다(물론 눈에 보이지 않는 문제를 해결하기 위해서는 좋은 실력이 필요하므로 초년생 개발자에게 적합한 태스크가 아닐 수 있지만, 그 부분은 안고 가야할 문제이다. 더 나은 개발자가 되기 위해 노력할 뿐.. ㅋㅋ ㅜㅜ). 무엇보다 백엔드에서 프론트로 가는 것이 내 자신에게 동기부여하기에 더 유리할 것이라고 판단했다. 프론트를 하기에 나는 아직 프론트가 무엇인지, 무엇을 할 수 있고 없는지 그 범주가 다소 막연하게 느껴졌기 때문이다.

NodeJs는 백엔드를 선택한 내게 좋은 선택지가 되었다. 자바스크립트를 사용하기에 가뜩이나 넉넉치 않은 시간 자원을 고려할 때 새로운 언어를 배우지 않아도 된다는 점이 좋았고, 단일 쓰레드 이벤트 루프를 가지므로 로직이 간단하거나 작고 빈번한 요청을 처리하는 케이스가 더 많은 스타트업 기업에게 보다 적합하다고 생각했다. 방대한 npm 패키지를 사용하여 빠른 개발에 용이하다는 점도 한 몫 했다. Nodejs를 배우기로 하면서, 2022년 현재 가장 많이 사용되고 있는 프레임워크들중 일부인 Next.js, Nest.js, Nuxt.js 중 적어도 하나를 공부하기로 마음먹었다. Nuxt.js는 당장은 고려 대상이 아니었고, React와 친한 Next.js와 Express에서 뻗어나온 Next.js중 하나를 선택하려 한다. Next.js는 CSR인 React에 SSR을 더해 UX를 개선할 수 있으니 좋았고, 프론트엔드 개발자와 협업에도 도움이 될 것 같았다 (강의도 상당히 많다).반면 Nest.js의 경우 지금도 많이 사용되고 있는 Express를 기반한다는 점, flow와 더불어 한창 뜨고있는 typescript를 공부할 수 있다는 점, (타입스크립트를 반드시 쓰기 때문에)다른 개발자와 협업에 유리한 점, 의존성 주입(Dependency Injection)을 바탕으로 클래스 생성 및 소멸 주기를 개발자가 별도로 파악하지 않아도 되는 경우가 있다는 점 등을 장점으로 이해했다. 둘 중 하나를 선택하려면 추상적 개념이해 말고 실제로 써봐야할 것 같아서, 이 선택 고민은 현재 진행중이다. 설사 이 기술로 당장 정해진 기간 내(마음 속으론 내년 초까지) 취업에 실패하더라도, 내겐 그동안 공부한 코딩 기술이 남아있을 것이니 다시 도전할 수 있다.

항해99를 시작한지 3주차에 들어선 지금, 웹 개발자가 되기로 처음 마음먹었을 때부터 지금까지 내가 가진 간절함이 변하진 않았지만, 다른 동료들과 협업 경험을 하면서 새롭게 체감하는 것은, 혼자하는 공부와 여럿이서 개발하는 것은 다르다는 점이다.

1주차에서 첫 미니프로젝트를 동료들과 같이 진행하면서 협업 부분에서 시행착오를 많이 겪었다. 당시에 내가 팀장이었는데, 업무 분담을 제대로 하지 못해서 누군가는 자신의 한도 이상으로 과중한 업무를 배정받아 과부화된 반면, 다른 누군가는 백엔드 개발이 아니라 웹 디자인만 계속 담당하게 되어 공부할 기회를 놓쳤다. 깃헙도 사용할 줄 몰라서 각자 코딩한 것을 한 사람이 모두 받아 변수 이름부터 함수 기능까지 수정해야했다. 거기다 능력과 시간 한도를 충분히 고려하지 않고 기획을 처음부터 크게 잡아 결국 시한 내에 기획한 모든 기능을 구현하지 못했다. 팀원 모두가 손해를 보았다.

실패로부터 얻은 교훈도 있었다. 팀원과 진행사항을 주기적으로 공유할 것, 기획은 혼자 틀어쥐고 좌지우지하지 말것, 실행 가능한 가장 작은 단위를 구현하는 것부터 살을 붙여 나갈 것, 계획 변경에 대비할 수 있는 여유 시간을 항상 남겨 놓을 것, 트러블슈팅 기록을 팀 노션에 공유하면 나중에 거기서 배울게 생긴다는 것 등... 정리하면 팀원들과 상호간 커뮤니케이션이 개발 공부할 때 정말 중요하다는 것이었다. 비록 그게 개발과 관련된 이슈가 아니라 시시한 농담이나 일상적인 이야기일 지라도, 커뮤니케이션 능력이 좋은 팀원과 같이 공부하는 것은 항상 즐겁다. 팀 모두가 즐겁게 공부할 수 있는 환경을 제공하는 능력은 특출난 개발 실력만큼이나 대단한 것이다.

3주차에 들어서면서, 내게 중요한 이슈는 개발 실력을 키우는 것 뿐만 아니라 다른 팀원들에게 좋은 동료가 되는 것이다. 새롭게 배운것을 서로 공유하고, 인간적으로 동료를 존중하는 사람, 마음에 여유가 있는 사람이 되자. 팀원들이 더 가까워지고 싶은 사람이 되자 다짐했다. :)


ES5/6에 대해서는 다음 포스팅에서 정리하겠습니다. :)

profile
커피, IT기기, 노래를 좋아해요.

0개의 댓글

관련 채용 정보