All Articles

1년차 개발자의 2019년 회고

무엇을 느꼈는지에 집중해서 쓰려고 합니다. 내년에 이 글을 다시 읽었을 때 부끄러워하기를 바라며… (독백체를 사용하겠습니다 🤭)

커리어

2019년 2월, 졸업과 동시에 개발자로서 첫 직장에 입사하게 되었다. 핀다라는 핀테크 스타트업으로 대출관련 혁신금융서비스에 집중하고 있다.

참고로 핀다의 프론트엔드 엔지니어는 1명이다. 즉, 나 혼자다. 이러한 점 때문에 많이 힘들었지만 그만큼 많이 성장했다.

성장에는 javascript, browser, Framework, design pattern 등을 더 잘 알게 됐다는 엔지니어링 측면의 성장도 있었지만 한 조직에 속해 여러 사람들과 일을 하며 깨닫게 된 것도 참 많았다.

나는 유일한 프론트엔드 엔지니어다

협업

20여명 남짓한 작은 조직인 만큼 다른 직군과의 협업 기회가 많았는데, 웹과 관련된 기획이 있을 땐 언제나 내가 함께 참여했다. (웹 개발자가 나 혼자이기 때문에..)

핀다가 집중하는 서비스가 앱서비스이기 때문에 내가 참여할 기회에 많지 않아 보일 수도 있겠지만 핀다앱은 여러가지 이유로 웹뷰를 앱 구석구석에서 활용하고 있다.

여러 직군과의 소통은 협업을 할 때 어떤 자세로 임하는 것이 좋을지를 집중해서 고민하게 만들어줬다.

  1. 소통하기 위해선 먼저 상대방을 이해해야 한다

    • 각 팀의 업무범위, 업무방식이 다르기 때문에 질문을 통해 이를 먼저 알아내야 한다.
    • 업무범위를 파악하면 내가 하고자하는 요청을 어떤 팀, 어떤 멤버에게 요청해야하는지 명확해질 것이다
    • 업무방식을 파악하면 어떤 업무를 어떤식으로 요청해야 그들이 효율적으로 처리할 수 있을지를 생각해보고 알아낼 수 있다.
  2. 상대방의 시간을 필요로 하는 대면 회의를 할 때는 회의의 목적을 분명히 하고, 논의할 포인트를 정리하여, 서로의 시간을 아낄 수 있도록 노력한다.
  3. 비개발직군이 개발직군의 언어를 이해하기는 상대적으로 어려울 것이다. 때문에 공통된 언어를 사용하도록 노력하고, 이미지를 많이 활용하도록 한다.

물론 생각이 짧아 실례를 범하거나 💩을 쌀 때도 있었다. 하지만 그러한 부끄러운 경험이 성장할 수 있는 기회를 만들어 줬다고 생각한다.

Multiplier

협업에 있어 기억에 남는 자료가 있다. Being a multiplier 라는 제목의 발표자료인데, 업무 생산성을 높이고자 할 때, 나의 생산성뿐만 아니라 팀의 생산성을 높이기 위한 노력이 중요하다는 내용을 담고 있다. (Multiplier라는 것이 참 적절하고 멋진 표현인 듯하다…)

컨퍼런스발표

2019년 10월 HTML Conference에 스피커로 참여해 PWA로 웹앱을 개발한 경험을 공유했다. 인생 첫 개발관련 발표였는데 예상 관객이 약 200명이었고 나에겐 상당히 부담되었던 자리였다.

다행인건 내가 전달하고자 했던 내용을 대부분 전할 수 있었고, 나름 지루하지 않게 발표를 했던 것 같다.

그렇게 할 수 있었던 이유는 연습피드백이라고 생각한다. 집에서 혼자서 동영상 촬영을 하며 연습한 것도 도움이 됐지만, 무엇보다 회사 동료분들이 두 번이나 나의 사전 발표를 들어주셨고 개발/비개발자 입장에서 피드백까지 상세하게 주셔서 초안보다 훨씬 더 재밌고 알찬 내용을 꾸릴 수 있었다.(감사합니다🙏).

me

Speaker Charles

Ownership

회사에서 세 개의 프로젝트를 scratch부터 직접 개발하였다. 기존에 핀다에 있던 웹 프로젝트들보다 더 좋은 구조와 코드를 위해 열심히 노력했고, 두 달 전에 짰던 코드가 💩처럼 보이는 뜻깊은 경험을 하고 있다. 이 세 가지 프로젝트가 집중적인 성장을 만들어 준 듯하다.

(webpack, babel과 친해지게 만들어 준 아주 고마운 경험이기도 했다)

  1. 출퇴근 기록 시스템

    위에서 언급한 컨퍼런스 발표에서 다뤘던 웹앱이다. Serverless Backend까지 내가 직접 개발해야 했어서 많은 삽질을 내게 선물해준 소중한 앱이다.

  2. Backoffice 시스템

    회사 운영을 위해 사용하는 Backoffice 시스템의 클라이언트를 새롭게 개발했다. 아직 기능이 부족해 많이 사용되고 있지는 않지만 Backoffice라는 것이 어떤건지 잘 몰랐던 나에겐 또 하나의 중요한 포인트였다.

  3. Micro Frontend Architecture

    요즘 가장 집중하고 있는 부분이다. 기존 legacy 웹앱에서 부분 부분을 떼어오고 있고, 새로 개발될 서비스를 안정적이면서 빠르게 개발하기 위해 여러 인프라 작업들을 하고 있다. 애정이 가는 만큼 2020년에 제대로 고도화를 하고 싶다.

독립

2019년 10월, 정식으로 부모님으로부터 독립하였다. 이로써 서류상으론 한 세대의 세대주가 되었다.

부모님과 함께 살 때도 집안일을 나름대로 꾸준히 해왔기 때문에 집안일이나 밥을 해먹는 것에서 큰 어려움이 없었다.

first-day

전입 첫날. 가구가 오지 않았다.


하지만 친구, 가족으로부터 멀어지다 보니 관계에 대해 많은 생각을 하게 되었다. 이 때문인지 연말에 2019년을 돌아보며 가장 아쉬웠던 점으로 꼽은게 바로 관계였다.

왜냐하면 스스로 2018년에 비해 사람들과 더 나은 관계를 가졌는가라고 물었을 때 결코 그렇다고 답할 수 없었기 때문이다.

물론 독립이 관계에 부정적인 영향을 끼쳤다는 것은 아니다. 독립이란 넛지가 무언가를 깨닫게 해줬을 뿐.

독립을 해서 좋은 것도 당연히 많다.

생산성 up

무엇보다 출퇴근 시간이 도합 2시간이나 줄어버려서 나에게 투자할 수 있는 시간이 늘어났다. 시간뿐만 아니라 출퇴근길 만원 버스에서의 스트레스까지 없어진 것을 더하면 독립함으로써 내 인생의 시간과 에너지를 훨씬 더 효율적으로 쓸 수 있게 됐다.

활동

독립하자마자 러닝크루에 가입했다. 본가가 있는 의정부에는 러닝크루 활동이 활성화돼있지 않아 활동을 위해서 서울로 나가야 했다. 때문에 크루에 가입하거나 하지는 않았다.

다행히 이사온 집이 러닝크루의 성지인 올림픽공원, 한강공원과 가까웠기 때문에 러닝크루를 구하기도 활동하기도 아주 용이했다. (올림픽공원과 한강이 가까웠기 때문에 지금 살고 있는 동네로 왔다고도 할 수 있다🌳)


집이 강남, 판교와 (매우) 가까워진 만큼 2020년에는 개발과 관련된 많은 활동, 커뮤니티도 참여할 것이다.

개발자란 직업에 대한 생각

2019년을 마치는 지금, 개발자란 직업에 대한 내 생각이 어떻게 바뀌었는지도 조금 적어보려고 한다.

개발자에게 문제해결 능력과 코딩 테크닉이 중요하다는 생각은 작년이나 지금이나 다르지 않다.

하지만 한 조직에 속해 요구사항을 제품으로 만들어 내는 개발자로 일해 본 지금, 위 두 가지만큼 중요한 것이 있다고 생각하게 되었다.

이것은 작은 조직에 있다보니 하게 되는 고민일 수도 있다. 큰 조직에서는 이러한 것을 고민하는 것까지 역할로 나뉘어 “정말 코딩만 하는 개발자” 가 있지 않을까?

개발 범위 산정 및 데드라인 엄수

우리의 업무 시간은 한정돼있다. 기본 업무 시간 내에 개발자가 해야할 것은 주어진 시간 내에 요구사항을 주어진 범위까지 개발해내는 것이다.

깔끔한 코드와 엄밀한 아키텍처도 중요하지만 그것에 시간을 보내느라 요구사항을 개발하지 못하는 것은 잘못된 것이다.

이러한 행위를 위에서 언급한 Multiplier 비유를 빌리자면 Divider가 되는 것이다. 나 때문에 업무가 밀린 만큼 다른 직군의 업무에도 차질이 생길 것이기 때문이다.

이러한 것을 방지하기 위해 개발 범위 및 기간 산정에서 될 수 있으면 정확한 기간과 범위를 산정할 수 있도록 노력해야한다.

대부분의 야근이 잘못된 개발기간·범위 산정에서 나오는 것이 아닐까 생각한다.

운영 관점에서의 고민

제품이 처음 만들어진 그대로 남아있는 경우는 거의 없다. 새로운 기획에 의해 추가, 변경, 삭제가 일어나는 경우가 부지기수다.

만약 초기 개발 시점에, 추가, 변경, 삭제 가 자주 일어날 것 같은 부분을 파악할 수 있어 이 부분을 쉽고 빠르게 컨트롤 할 수 있도록 만든다면 이것이 곧 Multiplier라고 생각한다.

실제로 핀다에서 CRUD를 쉽게 할 수 있게 만들면 좋지만 필수는 아니라서 백엔드 인력이 주어지지 않았던 경우가 있었는데 CPO JT께서 google sheet를 DB로 활용해 MVP 와 같은 형태를 만들어 볼 것을 제안해주셔서 그렇게 하였고 운영주체께서 매우 반겨주셨던 경우가 있다.

특히 애자일한 제품을 만들고자 한다면 이러한 관점의 설계가 더욱 중요할 것이라고 느꼈다.

2019 아쉬웠던 점

  1. 엄밀하게 시간을 관리하지 못한 것
  2. (거의) 개발관련 책만 읽은 것
  3. 글쓰기를 게을리 한 것

지식이 부족함은 말할 것도 없기 때문에 따로 적지는 않겠다… 다만 공부가 시급한 분야가 몇 가지 보여서 키워드를 조금 던져 놓으려고 한다.

#TDD #네트워크이론 #운영체제 #브라우저 #알고리즘 #시스템디자인

2020

2020년 12월 31일, 이 글을 다시 읽었을 때, 부끄러웠으면 좋겠다. 2020년에는 그만큼 많이 성장했다는 뜻일 테니까!

2020년, 나와의 약속을 여기에 적어 보려고 한다.

  1. 2019년에 아쉬웠던 만큼 가족, 주변 사람들과 더 좋은 관계 맺기 (잘 챙기기, 자주 만나 안부 묻기)
  2. 규칙적인 생활습관을 만들고 스케줄러를 적극 활용하여 시간 관리하기
  3. 위에서 언급한 분야 공부하고 컨텐츠 올리기
  4. 메모리를 다룰 수 있는 언어와 익숙해지기
  5. 영어와 더 친해지기 (두 달에 원서 1권)
  6. 독서편식 하지 않기. 인문사회, 자연과학, 소설 두루두루 읽기 (한 달에 최소 1권)
  7. 더 많은 글, 컨텐츠 생산해내기
  8. 운동하기 🏋🏻‍♀️

무엇보다, 조급해하지 않고 나의 페이스를 만들어 가는 한 해가 되었으면 좋겠다.

나만의 이야기를 들려줄 수 있는 사람이 되길.