본문 바로가기
개발자일기

[개발자일기] 돌고돌아 백앤드 - 비전공자 개발자의 성공적인 이직기

by 버니케이 2024. 3. 16.
반응형

 

 

 

시작하기 전

내가 정말 좋은 프론트앤드 회사를 가지 못해서 이렇게 생각하는거라면 정말 다행인 일이다. 사실 내가 뭐 엄청 대단한 개발자도 아니고 연차가 많이 쌓이지도 않았는데… 근데 내 주변 개발자 친구들의 말을 들어봐도.. 프론트앤드 개발자는 정치싸움이나 책임전가 등으로 인해 여러 모로 힘든 직무라는 생각은 어쩔 수 없다. 프론트 화이팅이다

 


 

나의 블로그 글을 보면 눈치챌 있지만

기계공학 -> 웹개발 -> 프론트 -> 백앤드 직무전환이 매우 화려하다.

(심지어 중간에 유튜브도 했는데 성장속도 감당이 안대서 여유로워지면 다시하는걸로 마무리했다.)

 

 

애초에 내가 프론트앤드 개발자가 되고 싶었던 원초적인 이유는

백앤드에 종속되지 않은 화면을 개발하고 싶어서였다.

그래서 작은 스타트업 프론트앤드 회사로 이직을 했던거였는데 회사가 망했다.

망할... 나를 추천했던 지인은 육휴후 퇴사하고…. 나를냅두고....😒😒

 

 

암튼 이직을 위해 면접을 보러 다니며 느낀 점은 회사마다 원하는 프론트앤드 개발의 기준이 다르다는 점이였다.

 

프론트앤드는??
디자인 - 퍼블리싱까지 다 할줄 알아야 하는거 아니냐 (공대출신 똥손인 저를 뭘 믿고?)
또는
노드기반이니까 백앤드도 같이해야지 (당신 회사 백단은 자바기반이던데요..ㅠ)

 

프론트앤드 생태계가 지각변동을 일으킨지 얼마 되지 않았기 때문에 (사실 되긴했지만 회사는 문제가 발생하지 않는 이상 굳이 레거시 코드를 뜯어고치지는 않으니)

디자인 + 퍼블리셔 + 백앤드 업무가 분리되지 않는건가 싶었다.

 

그러다보니 문득

프론트앤드 개발자는 어떤 역량을 가져야 하는건지 궁금해졌다.

 


 

 

ㄷ으로 시작하는 회사의 면접을 보러 갔을 때였다.

자바스크립트부터 넥스트, 리덕스까지 어마어마하게 기초적인 질문만 때려박았던 회사…

당연히 제출한 포폴을 보고 이렇게 기술을 구현했는지를 물어볼 알았다. (다른 백앤드 회사처럼)... 또는 자바스크립트의 원리(프로토타입이나 비동기/스택/ 같은) 물어볼줄 알았다.

회사는 다른 프론트회사도 마찬가지였지만 유독...내가 위키독스인줄 아나? 라는 생각이 들게 만들었고, 질문도 뭔가 신입을 뽑는 듯한 질문만 했다. 지금 생각난 질문 리액트의 useMemo 설명해주세요. 같은...

 

보통은 useMemo 사용경험이 있으신가요?
-> 아니요. 재랜더링할 때 무겁게 느껴지는 코드가 없어서 useEffect 만 썼습니다.
-> 아니면 사용해본적이 없습니다.
-> 아니면 이래이래 해서 이런 기술을 사용하기 위해 썼습니다.

이렇게 대답하지않나요 흑...

 

특정 언어의 모든 메소드를 머리속에 넣어놔야 하는건 아닌데 유독 프론트쪽은 모든 기술을 알고있어야 한다고 생각하는것 같다. 인터넷이 안되는 곳에서 일을 하시는건지

 

심지어는 지금 퍼블리셔 인력이 부족해서 입사하게 된다면 부분도 봐야 것이다라고 말하며 scss 질문도 하시던데... 궁금했다. 이 회사 프론트앤드를 뭐라고 생각하는걸까.

 

그래서 질문했다. 프론트앤드 개발자는 어떤걸 잘해야 한다고 생각하냐고

잘해야한다 대답이 날아왔다.

 

어떤걸 다?
백앤드가 건내주는 api 를 이쁘게 받는거?
화면을 이쁘게 그리는거?
컴포넌트를 사용자의 불편함이 없게 부드럽게 잘 보여주는거?
백앤드까지 다 쳐내는거?

 

 

내가 당신의 회사를 가게 된다면 어떤걸 잘해야 하는건데??

도대체 프론트앤드는 잘해야 하는건데...

 

회사를 마지막으로 나는 프론트앤드로의 꿈을 접었다. 여러군데에서 합격연락이 왔지만 처음의 백앤드 회사로 다시 돌아갔다. (첫 회사로부터 재입사 요청이 있었다.)

 

 


 

 

백앤드 개발자로서 회사일을 열심히 했다.

약간의 마음가짐을 다르게 해서

 

 

완전 간단한 게시판형 화면이라도 개발을 할때마다 시퀀스 다이어그램을 그려서 불필요한 서비스단, 쿼리호출을 줄였다. (콜그래프도 그려보려고했는데 실패)

 

속도가 너무 느린 쿼리들을 찾아 튜닝을 했다. 쿼리는 지식 수준이 낮아서 Select 절에 붙어있는 서브쿼리들을 다 from 절로 옮기는 등의 쉬운 작업만 했는데 그마저도 속도가 많이 줄었다.

 

공통팀(서버팀) 에 커피(여러 번!) 싸들고 찾아가서 지금 우리 서비스 배포를 어떻게 하고있는지 찾아가서 물어보고 배웠다.  바쁘다고 안알려주시다가 결국에는 엄청 착한 선임님이 따로 회의실로 불러서 알려주셨다 흑흑-> 이직사유 중 하나였던 팀들 간 공유 없음… 재입사하고도 여전했다.

 

 

결국 팀들 공유 없음 문제가 점점 커지며 내부에서도 공유가 줄어드는 현상이 나타났다.

공유가 줄어드는건가에 대해 동기들끼리 얘기해봤는데 결국은 이였다. 제작년부터 호봉제로 바뀌었는데 자신들만 아는 무기를 만들어서 연협시즌에 연봉을 꽤나 많이 올린 모양이다. 사실 그럴만한게 연봉테이블이였을때 개발 대리직급의 연봉이 앞자리 3이였다고 하더라구.🤔

 

결국 또다시 이직을 준비해서 맘에 드는 곳에 최종합격하게 되었다. 최종합격연락을 받은 다음날 사실 kt 계열사 머기업 면접이있었는데 취소했다. 지금 입사하는 회사는 정말 고마워해야할거야...나같이 의리있는 사람이어딨어

농담이구 최합한 곳이 정말 좋은 회사라고 느껴져서 그랬다. 팀분위기도 좋았고 면접볼 존중받는 느낌도 들었다. 기술도 내가 원하던 백앤드 몰빵에 심지어 백앤드 프레임워크를 개발하는 회사라니… 배울점이 너무나도 많겠구만!!!!

코스닥 상장한곳이니까 주식 사놓구 오래다닐예정ㅎㅎ

 

 


 

 

암튼 위의 회사에서 면접보고 느낀 점은 백앤드 개발자 많이 알아야 한다. 였다.

프론트랑은 달랐다. 프론트면 맥락없이 당연히 퍼블리싱 해야지 백앤드도 해야지 이거해야지 저거해야지 이것도 못해? 라면 (맨 위에 첨언한 대로 프론트 찍먹했다 도망나온 백앤드 개발자의 의견일 뿐이니 흘려들었으면 좋겠다.)

백앤드는
일단 api 잘만들면 돼 (java, springboot)
-> 근데 맞는 알고리즘으로 효율적으로 잘해야해 (알고리즘,자료구조)
-> 근데 지금 뭘 만들고 있는지는 알아야지 (아키텍쳐 설계)
-> 근데 화면에 보여줄 데이터도 잘 보여줘야지 (db)
-> 근데 지금 프로그램 너무 크니까 공통로직은 좀 합쳐서 분리해보자 (springboot, msa, 도커, 쿠버네틱스)
-> 근데 결국 웹 배포해서 사용하니까 서버에 어떻게 올리느냐도 중요해 (클라우드) 
-> 근데 웹이여서 네트워크 지식+보안지식 있으면 좋아(네트워크 및 cs)
....

 

 

그래서 일단 내가 부족한 부분을 많이 공부할 것이다. 사실 지금 정처기 공부해야되는데 지겹기도 하고

감히말하지만 다른 기사들에 비해 쉽기도 해서 병행해도 같다. (이거까지 따면 3기사네ㅋ)

 

 

알라딘지옥에서 2시간 갇혀있었다구

 

일단 알고리즘부터 시작해서 객체지향공부, msa 공부, 네트워크 공부까지 시작할 예정이다.

이상 백앤드개발자의 성공적인 이직기였다.

안녕

반응형

댓글