개발자가 되었다.

Wonkook Lee·2022년 2월 2일
11

Logs

목록 보기
1/4

Personal Log. Vol. 1

허겁지겁 달려온 2021년의 끝자락과 정신없이 맞이한 2022년의 사이 개발자로서 커리어를 시작했다. 배운 것을 미처 소화시키기도 전에 허겁지겁 새로운 지식과 도구를 습득하는 엔트리 레벨, 배웠던 것 느낀 것들을 반추하고 정리할 필요가 있어서 오랜만에 블로그를 작성한다.

1

The Frontend Engineer

나는 개발자가 되었다. 인턴 포함 2.4개월 차 개발자.
명함상 직책란에는 'Frontend Engineer' 라고 되어있다.
JD상 직무는 크게 두 가지로 나뉜다.

  • PO, PM의 정책과 기획에 따른 Product Designer의 시안을 BE, DevOps/SRE 분들과 협력하여 클라이언트 단에서 구현하는 것 (신규 구현)
  • 기존 코드에서 발견되는 레거시 개선, 버그 수정, 신규 기술 도입 건의 (유지 보수)

설명은 거창하지만 아직 내가 맡고 있는 업무는 작고 소중한 편.
신입 개발자로서 중요한 것은 필요한 기술을 스스로 학습하고 기존 코드를 읽고 이해하며 개발 환경, 지식 동기화, 컨벤션 숙지, 내부 문서 정독이기에 노력을 기울이고 있다.

커뮤니티, 커머스, 클래스, 컨설팅 등 다양한 서비스를 MSA 기반 플랫폼으로 빠르게 구축해가는 사내 개발의 흐름 속에서 느낀 점은..

  • 최신 기술 도입은 양날의 검, 생각보다 구 버전을 사용
  • 모든 것은 다 이유가 있다
  • 정책과 권한의 문제에 생각보다 오랜 시간이 소요될 수 있음
  • 서비스 구현 시간과 기술 부채의 양이 반비례
  • 학습은 셀프, 없는 스택은 퇴근하고 틈틈히 공부
  • 정말 나는 아무것도 모르는 백지라는 사실

개발 직무의 특수성을 제외하면 일의 생리는 크게 다르지 않다고 생각한다. 일머리 좋은 사람이 개발도 잘한다는 결론.

인턴, 입사하고 좋았던 점

  • 정기적인 사내 개발 세미나와 열린 소통
  • 좋은 사람들, 배울점 많은 개발팀
  • SPA 프레임워크부터 AWS 인프라 프로비저닝까지 서비스의 큰 흐름을 알 수 있는 기회
  • 프론트엔드 개발자도 API 개발이나 아키텍쳐(나는 EDA) 구성에 참여할 수 있는 점
  • 신입도 적극적으로 업무에 참여할 수 있는 기회와 권한 부여 .책임 { visibility: hidden; }

개발자로서 잘 성장하고 싶고, 내 역할을 잘 해내고 싶은 심정.

2

배움에 대한 태도와 배우고 싶은 것에 대해

AWS

프론트엔드 인턴일 때 주어진 과제는 AWS EventBridge를 활용하여 Event-Driven-Architecture 개념의 앱 푸시 알림 센터를 구축하는 것. (+백오피스에 이벤트 발생 로그 콘솔 화면 구현은 덤)

처음 받은 참고 자료는 Kafka의 Messaging Queue나 EDA, Decoupling 같은 이해 못할 용어와 도식이 가득했다.

AWS가 아마존에서 제공하는 클라우드 컴퓨팅 관련 서비스라고만 알고 있던 시점이었고 프론트엔드 인턴으로 지원했던 나는 그저 UI 개발이나 D3 같은 라이브러리로 구현하는 4차 산업혁명이 펼쳐지는 듯한 데이터 시각화 관련 업무를 기대하고 있었다.

(이런거?)

솔직하게 말하자면 개발 업무라는 것이 원래 이런 거라서 전공자만 할 수 있는 거라 지레 겁부더 먹게 되었다.

다행히 인터넷에 이미 많은 예제와 설명이 있었고, 다소 불친절한 AWS의 API 문서의 이해 불가한 부분을 어느정도 이해할 수 있게 되었다.

API Gateway로 Lambda 트리깅하는 방법부터 시작, API와 DynamoDB를 연결해서 CRUD를 Restful하게 처리하는 방법, SQS로 큐 스택을 만들어 FCM 발송 Lambda가 폴링하게 만든다던지.. AWS SDK로 Node 환경에서 리소스를 구축하고 파이프라인을 만드는 것 등 무궁무진한 활용 방법을 체험할 수 있는 좋은 계기가 되었다.

그리고 현재 사수이신 분께서 FCM(Firebase Cloud Messaging)을 잘 알려주셨기에 많은 힌트를 얻을 수 있었다. FCM SDK를 Lambda에서 Initializing하는 과정에서 또 한번 헤매였지만 Queue로 이벤트를 전달하는 것을 알게 되는 좋은 학습 포인트가 되기도 했다.

특히 Serverless Framework로 쉽게 인프라 프로비저닝을 할 수 있었던 점이 놀라웠다. 인상 깊었던 문구는 로컬 배포 절대 금지

클라이언트 단에서 발생된 이벤트가 이벤트 버스에서 라우팅되어 모바일 앱으로 푸시가 오는 과정을 구현하고 (애자일 방법론에서 설명하는 자전거 바퀴 하나쯤?) 이벤트 로그를 확인할 수 있는 대시보드 화면을 구현하게 되었다.

개인적으로 놀라웠던 점은 인턴에게 주어진 업무란 해도 그만 안해도 그만인 업무가 아닐까 생각했었지만, 예상 외로 굉장히 중요한 업무였고 실제 서비스에 맞물린 AWS 인프라에 접근할 수 있었던 점을 생각하면 많은 권한과 학습의 기회를 주셨던 것 같다.

난해하고 겁났던 인턴 과제를 계기로 나를 개발자로서 좋게 봐주셨고 바로 채용까지 이어지게 되어 너무나 감사할 따름이다.

개발자는 평생 배우는 직업이라고 하길래 그냥 그런가보다 했다. 근데 진짜였다.

이번 인턴십을 계기로 크게 느끼고 배운 점

  • 낯선 것, 새로운 기술을 배우는데 겁먹거나 부담감을 가질 필요 전혀 없음
  • 무엇을 알고, 할 수 있는가에 대한 당장의 능력보다 --> 새로운 것을 배우더라도 빨리 습득할 수 있는 셀프 동기부여와 학습 태도가 중요

내가 화면단 구현하는 업무만 고집했더라면 AWS를 필두로 빠르게 발전하는 클라우드 컴퓨팅의 흐름을 조금이나마 알 수 있었을까?

AWS이건 Azure이건 Kafka이건 모두 추상적인 흐름을 좀 더 이해하기 쉽게, 편하게 사용하기 위해 만들어진 도구일 뿐이라는 점이다.

실톱보다 훨씬 좋은 전기톱이 나왔는데 새로 배우는게 부담되고 두려워서 주저한다면 결국 도태될 뿐이라는 것을 조금은 알 것 같았다.

실무 개발은 새로 배워야 할 것 투성이다. 사용하는 기술 스택이 다를 수도 있고, 같더라도 버전이 다를 수 있고, 너무 많은 변수가 도사리고 있다.

내 생각엔, 신입이라면 React, Redux, Nest 등 여러 툴을 알고 쓰는 것도 중요하겠지만.. 무엇이든 새로운 것을 배우는 것을 두려워 하지 않고 빨리 습득해서 활용하는 저돌적인 면모가 필요한 것 같다.

AWS Certification

그리하여 장기적인 목표가 생겼다. AWS 아키텍트까지 자격증을 취득하고 싶다.
클라우드 컴퓨팅을 활용할 수 있는 능력은 많은 수요가 있을 것 같고, 손쉽게 서비스를 구축할 수 있다는 점에서, 네트워크와 클라우트 컴퓨팅이라는 기반 지식도 학습해야 한다는 점에서 꾸준히 공부해야 할 당위가 생겼다. AWS 코인 탑승

10 몇년 전쯤 CAD 하나 배우면 평생 먹고 산다는 말이 있었다. 왠지 요즘의 개발 교육 환경이 그때의 데자뷰 같이 느껴진다. 순전히 내 생각이지만, 요즘 세상에 기술 하나로 평생 먹고 산다는 말이 쉽지 않을거라 생각한다.

요즘은 새로 무언가를 배우는 것이 삶을 흥미롭게 해준다.

Flutter / Dart

회사에서 Android와 iOS 앱을 모두 런칭한지 얼마 안된 상황이며 가용 인력이 부족한 상황이라 손들고 배우겠다고 했다.

그래서 이번 설 연휴, Flutter + Dart 공부를 시작했다.
느낀점

  • 자꾸만 리액트가 생각나는건 왜일까
  • 구글이 제발 Dart는 버리지 않았으면 좋겠다
  • Xcode는 정말 할말이 없다
  • 자바스크립트는 정말 미친 언어구나

3

뭐라도 꾸준히 블로그에 기록하기로 또 한번 다짐했다.

-끝-




글 ⓒ Wonkook Lee

profile
© 가치 지향 프론트엔드 개발자

2개의 댓글

comment-user-thumbnail
2022년 2월 20일

아자아자 아자자 👊🏽

1개의 답글