5 분 소요

retrospect (회고)

비전공자 프론트엔드 개발자의 6개월차 회고

벌써 개발자가 된지가 6개월이 넘었다.

예전에 구직하면서 미래가 불투명(?)할 때 개발자들은 어떻게 일을 하는 것일까 너무나도 궁금했었다.
그때 개발자 1년차가 할 수 있는 것들이라는 글을 보게 되었는데, 아 1년차는 이런 일을 보통하는 구나! 라고 갈피를 잡았던 기억이 있다.

그래서 이후에 내가 개발자가 된다면 내가 6개월차에는 무엇을 할 수 있고, 1년차에는 무엇을 할 수 있을지가 너무 궁금했다.
또 그것을 글로 남겨두면 올챙이적을 기억을 함과 동시에 성장할 수 있지 않을까 싶었다.
다른 사람과 공유를 할 수 있는 것은 덤!

하여 6개월차 햇병아리 프론트엔드 개발자의 회고를 해보려고 한다.

내가 해왔던 것들

입사하기 전 개발자 지망생일 때는 무엇을 했었고, 입사하고 나서는 무엇을 했나?

개발자 지망생일 때

React 위주로 개인, 팀 프로젝트를 여럿 진행했다.

보통 언어는 거의 Javascript를 사용했다. (Typescript도 사용하긴 했다.)

간간히 코딩테스트도 했다. (프로그래머스 1단계만 다품)

스터디와 면접 준비를 거의 매일 진행했다.

개발자가 된 후

기술 스택이 맞는 (React, Typescript…) 회사에 들어가게 되어서 적응했다.

처음으로 진짜 돈을 버는 코드를 보게 되었다.

사내 팀원과 프론트엔드 스터디를 꾸준히 진행했다.

새로운 주 단위 스터디를 시작했다. (컴퓨터 구조)

개인 프로젝트는 진행하지 않았다.

블로그도 많이 쉬게 되었다.

그래도 업무에 잘 적응하여 업무를 잘 해낸 것 같다.

이제 할 수 있는 것들

6개월차 개발자로서 이제 무엇을 할 수 있나?

실제로 개발자가 어떻게 일을 하는지 알게 되었다.

항상 의문이 있었다.
혼자 개발하거나 팀 프로젝트를 하여도 개발자 지망생들과 개발을 진행했기 떄문에 이게 정말 실제로도 이럴까? 코드를 이렇게 짤까? 라는 궁금증이 매우 강했다.
실무자들만 알고 있는 천기누설 비밀 이런거 있는 거 아니냐면서,,

하지만 일단 개인적인 생각으로 개발 업무에 있어서는 크게 다르지 않을 것 같다는 생각을 했다.

그 이유는,
실무에서도 똑같은 고민(기술 스택, 구현)을 하기 때문에 일단 개발 자체는 하는 일은 거의 동일할 것 같다고 생각했다.

그래서 개인/팀 프로젝트 또한 이력서에서 어느 정도 어필이 되는 이유가 그것이지 않을까.

프로덕트가 어떻게 유기적으로 돌아가는지 알게 되었다.

이 또한 매우 궁금했던 점이다.
개발자끼리의 소통말고 실제로 일을 할 때는 누구와 어떻게 소통하고 일하게 될 지가 너무 궁금했었다.

개인/팀 프로젝트 정도 수준이면 개발자들 혹은 디자이너까지의 소통이 전부이다.
그러나 실제로는 PO, PM, 기획, 데이터 엔지니어, 마케터 등등 개발에 실제로 많은 인원이 연계되어 있고, 또 소통해야한다.

온보딩이 끝나고 업무를 실제로 하기 시작하니 여러 직무들과 소통할 수 있는 기회가 많았어서 궁금증이 해소되었고, 많이 배웠다.

깨달은 것은 PO, PM의 중요성..?
이 분들이 실제적으로 개발자들이 개발에 집중할 수 있도록 프로덕트 내지는 프로젝트를 leading하고 managing 해주기에 꽤 중요하다고 생각한다. 특히 플랫폼에서는.

추가적으로 궁금한 것은
애자일을 어떻게 하면 더 효율적으로 할 수 있을지는 고민이고, 궁금하다.
회사도 애자일 방식으로 피쳐를 개발하고 문제를 해결하는데, 어쩔때는 미팅이 너무 많아서 개발을 몇시가 못할 때도 꽤 있었다. 워터폴이 어쩌면 나을지도 모르겠다라고 생각할 정도로. (워낙 불분명하고 정해지지 않는 것을 싫어하기 때문에..)
그래서 정말 애자일하게 하는 플랫폼 회사는 어떨까 궁금하다.

코드 분석

처음 코드를 분석하라고 하셨을 때 어떻게 해야하나 싶었다.

난생 처음보는 이 방대한 코드를 어떻게 다 알아야 하는 것인지? 어떻게 어디서부터 시작해야하는지 난감했다.

그런데 코드 분석이 따로 필요하다기 보다.
실제로 서비스를 하나하나 사용해보고 까보면서 실제 사용 플로우대로 코드를 따라가보면 더욱 수월하게 할 수 있다는 것을 알게 되었다.

또한, 일하다보면 어쩔 수 없이 분석을 해야만 하는데 하다보면 알게 되는 것도 신기했다.

물론 코드 분석에는 아직 매우 서툴지만, 이제는 어디서 부터 시작해야할지는 알 것 같다.

백엔드 개발자와의 소통

물론 팀프로젝트 단위에서도 백엔드 개발자와 소통을 할 수 있었지만, 회사에서는 graphql을 사용했기 때문에 query/mutation과 field 등 백엔드 개발자와 논의해야할 사항이 더 많았던 것 같다.

이것 또한 피쳐 개발 간 소통을 많이 할 수 있어서 이제 어떤 것을 백엔드 개발자분께 여쭤봐야 하고, 요청해야하는지 감을 잡게 되었다.

그러나 아직까지는 정확하게 이 정도는 백엔드에서 해주는 것이 좋은 것인지 그 기준을 세우지 못했다.

문서화의 중요성

예전에 지나가던 개발자 인터뷰 영상에서 본인은 문서화 능력을 보고 뽑힌 것 같기도 하다. 라고 하신 분이 계셨었다.
그 때는 도대체 문서화가 중요하다고는 하는데 왜 중요한지를 전혀 몰랐다.

그런데, 실무를 해보니 문서화는 매우매우 중요했다.

히스토리를 남기는 것이 중요한 이유가 한 개발자가 한 회사에 수년간 있을 경우가 흔치 않다.
따라서 이후 들어올 개발자를 위해서, 지금 일하고 있는 개발자의 미래를 위해서도 히스토리 관리 및 문서화는 선택이 아닌 필수같다.

또한, 새로 들어온 개발자를 빠르게 온보딩하게 하기 위한 문서의 정리이다.
실무에서는 새로 온 개발자는 케어하기가 힘든 구조이다.
그렇기 때문에 내 시간을 어떻게든 쪼개서라도, 야근을 하는 한이 있더라도 나를 위해서 온보딩 문서화를 해놓는 것이 중요하다고 생각한다.

추가적으로 기술에 대한 문서이다.
신기술을 도입하는 등 기술을 사용하면서 pattern 혹은 practice를 문서화해놓으면,
다른 개발자가 관련 코드를 보는 데에도 도움도 되고, 공부한 것들을 정리하는 데에도 좋은 것 같다.
1석2조같은 느낌!

이번에 잘 했다고 생각하는 것 중 하나가 문서화이다!

문서화는 신입 개발자가 빠르게 업무에 두각을 나타낼 수 있는 부분이라고 생각한다.
많은 개발자들이 개발하느라 바빠 문서화를 뒤로 하는 경우가 꽤 있지만, 신입 개발자일 때 혹은 온보딩 중일 때 문서화를 많이 해두면 모든 사람에게 도움이 될 것이라고 생각한다.

아직 할 수 없는 것들

6개월차 개발자로서 아직 할 수 없는 것은 무엇일까?

좋은 코드 및 좋은 설계가 무엇인지

아직 좋은 코드 및 좋은 설계가 무엇인지 모르겠다.

아직까지는 그냥 구현에 초점을 많이 맞춘 것 같다.
시간이 촉박해지면 더 더욱 좋은 방법을 찾기보다 일단은 빨리 해결할 수 있는 방법을 사용하는 것 같다.

시간을 무한정 늘릴 수는 없으므로 많은 코드를 보면서 미리 best practice, pattern 들을 숙지하는 것이 좋지 않을까.. 어렵다!

기술 스택 혹은 라이브러리를 선택하는 기준

새로운 프로젝트를 시작한다고 했을 때, 기술 스택을 정해야 할텐데 어떤 기준을 가지고 정하며 상황에 따라 어떻게 더 좋은 선택을 할 수 있을지가 아직 궁금하다.

아직은 어떤 기준을 가지고 기술 스택을 정한다기 보다, 사용이 많이 되고 있는 스택(생태계도 중요하다고 생각) 위주로 생각하다보니 좋은 선택이 무엇인지 아직 모르겠다..

라이브러리도 마찬가지로, 이전에 달력 라이브러리를 사용하려고 하는데 어떤 것을 사용해야할지 매우 고민되었었다. 애초에 라이브러리를 사용하는 것이 맞는 것일까라는 생각도 했다.

이런 고민들은 연차가 높아지면, 프로젝트를 많이 수행하면 알게 될까?

인프라

인프라는 뜬구름 잡듯이만 알고 있다.

먼 미래를 위해서는 DevOps가 되어야 하니 꼭 인프라도 알고 있어야 한다고 생각한다.

그러나 아직은 아무것도 모르는 것 같다…

해보고 싶은 것들

이제 앞으로 어떤 것들을 해보고 싶나?

새로운 개인 프로젝트

새로운 개인 프로젝트는 무조건 해야한다고 생각한다.

프로젝트를 함으로써 번들러 등 환경 세팅도 배울 수 있고,
코드를 짜면서 좋은 코드를 위해 고민해볼 수 있고,
배포 등을 통해 인프라도 조금 볼 수 있다.

꼭꼭 시작할 것이다.

그런데, 좀 장기 프로젝트로 가져가고 싶다.
계속해서 유지보수도 해보고 몸집을 키워가면서 새로운 기술을 도입해보고 싶다.

스터디 지속

지금 컴퓨터 구조를 스터디를 통해 공부하고 있는데,

추가적으로 javascript나 typescript 혹은 네트워크도 스터디하고 싶다.

좋은 곳으로 이직

6개월이 되었으니 업무도 조금씩 적응했겠다 이제 다시 블로그도 활성화시키고, 공부도 더 본격적으로 할 생각이다.

포트폴리오도 재정비해서 좀 더 좋은 곳으로 이직해서 개발하고 싶은 생각이다.


댓글남기기