오늘도 삽질중

안드로이드 개발자에서 백엔드 개발자로 (feat. 직무변경) 본문

회고록

안드로이드 개발자에서 백엔드 개발자로 (feat. 직무변경)

Choi3950 2023. 8. 28. 23:06
반응형

필자는 안드로이드 개발을 약 3년동안 하다가 백엔드 개발로 포지션을 변경하였습니다.

 

변경하게 된 계기는 이전부터 백엔드 개발을 해보고 싶다는 생각이 들었고, 회사에서도 긍정적으로 받아들여져 직무를 변경하게 되었습니다.

 

어느 덧 10개월이라는 시간이 지났고, 포지션을 바꾸면서 느낀점과 저와 같은 고민을 가진 분들에게 조금이나 도움이 되기를 바랍니다.

 

개인적으로 저는 언어적인 부분에서는 크게 괴리감이 없었습니다.

회사 백엔드는 스프링 부트를 사용하고 있고 주 개발언어는 자바를 사용하고 있습니다.

처음에 안드로이드 개발을 시작할 때 자바로 시작했고, 직무 변경 이전까지는 코틀린으로 개발을 진행했습니다.

이미 한번 경험해본 언어이기 때문에 크게 괴리감은 없었습니다.

 

다만 처음 백엔드 개발하며 답답했던 부분은 눈으로 무언가 결과물이 보이는 안드로이드와 다르게 오로지 로그만으로 파악해야 되는 환경이였습니다.

 

또한 뭔가 자유롭게 커스텀이 가능했던 안드로이드와 다르게 백엔드 개발은 이러한 지식이 없기 때문에 커스텀에 제한적인 부분을 느끼면서 한편으로는 두렵다는 생각도 했습니다.

 

가장 힘들었던 점은 DB와 밀접한 연관이 있기 때문에 테이블 파악이 생각보다 시간도 오래 걸리고, 머릿속에 잘 그려지지 않아서 애를 먹었던 기억이 있습니다.

 

또한 수많은 어노테이션을 보면서 어떻게 다 봐야 될까 라는 생각도 들었습니다.

 

그나마 다행인 점은 ubuntu 명령어를 어느 정도 알고 있었고,

터미널을 다루는게 익숙해서 배포시에는 크게 어려움이 없었습니다.

또한 이전에 혼자 AWS 로 인스턴스를 만들어보고 Nginx, Mysql 등 기본적인 환경 구축은 해본 경험이 있어서 도움이 많이 되었습니다. 

 

안드로이드 개발을 할 때 MVC,MVVM 패턴으로 개발을 했고 각 레이어별로 역할을 분리해서 사용했기에

스프링에서 사용하는 컨트롤러,서비스,도메인 등은 비교적 파악이 쉬웠습니다.

 

이후에 DB와 연동이 가능하도록 mybits 도 잠깐 해보고, 이후에 jpa, querydsl 을 공부하며 기본적인 개념과 문법을 익혔습니다.

 

한달정도 공부하며 기본적인 개념을 익혔을 때 프로젝트 하나가 꽤 많은 변경사항 및 기능 추가 개발이 있었는데, 운좋게 해당 프로젝트의 오너쉽을 제가 가지고 개발을 진행하게 되었습니다.

 

DTO 에 필드하나 추가하는 것도 몇시간이 걸렸고, 단순한 API 개발도 야근을 하며 진행했습니다.

이렇게 야근을 하며 개발할 때 DB 구조도 더 빨리 파악되고 백엔드 개발의 기초적인 흐름을 잘 가져갔다고 생각합니다.

 

포스트맨으로 테스트를 다 해보면서 예외처리는 잘 되었는지, 쿼리는 제가 생각한데로 잘 나가는지 하나하나 보면서 하다보니 힘은 들지만 할 수 있다는 생각이 들어 정말 재밌게 보냈습니다.

 

특히 검색 및 페이징은 정말 생각보다 손이 많이 가고 번거로운 작업으로 기억이 납니다.

하지만 완성하고 배포 했을 때 그 뿌듯함이 정말 컸습니다.

 

이후로도 신규 프로젝트 개발 및 기존 레거시 API 속도 개선, 메모리 릭 수정, keyCloak DB 마이그레이션 작업을 하며 정신없이 10개월을 보냈습니다.

 

직무를 변경한 부분은 정말 만족하고 있고, 무언가 더 해보고 싶다는 욕심이 계속 들고 있습니다.

다만 가끔은 안드로이드 개발 했을 때 눈으로 보여지는 결과물이 생각날 때가 있습니다 ㅎㅎ

 

아직도 모르는게 많고 더 공부를 해야겠지만 이 또한 즐겁게 헤쳐가야 된다고 생각이 듭니다.

 

저처럼 포지션을 변경할 기회가 있고, 해보고 싶다면 꼭 도전해봤으면 좋겠습니다.

 

힘들때도 있지만 그 고비만 잘 넘긴다면 기존과는 다른 즐거움이 기다리고 있으니까요.

 

 

 

 

 

 

 

 

반응형
Comments