본문 바로가기

개발자 이야기

개발자 로드맵

반응형
SMALL

본 글은 생각을 정리한 일기 형식으로 진행됩니다.

 

또한, 철저히 제 주관이 들어간 글이기 때문에 의견을 각자의 경험에 빗대어 수정해주신다면 너무나도 감사드리지만 단순한 비판은 하지말아주세요.

 

저도 가슴아파요.


 

현재 S 전자에 입사한지 언 1년이 다 되어간다.

 

들어오기까지만 해도 완벽해 보이던 회사는 점점 불안감을 쌓아줬다.

 

사실 확실히 남부럽지 않은 곳이다. 오히려 남들이 부러워하면 부러워했지.

 

그런데도 내가 불안한 이유는 개발자 로드맵이 확실하지 않아서인거 같다.

 

아무리 생각해도 내가 하고 싶은 분야는 프론트엔드인거 같다.

 

백엔드 개발자를 비하할 생각은 없지만, 내 기준으로는 프론트엔드 개발자가 더 재밌게 느껴지고, 그들의 기술이 더 매력적으로 보인다.

 

베스트는 내가 하고 있는 경력으로 될 업무가 프론트엔드 개발자로 도움이 되면 좋겠지만, 아쉽게도 그렇진 않다.

 

회사에서 개발을 굉장히 많이하고, 다른 사람들한테 질문을 받을 정도로 열심히 하고 있는 중이다. (나는 그렇게 생각한다)

 

허나 이 경력이 내가 되고 싶은 프론트엔드 개발자로서 큰 도움이 될까?

 

음.... 아마 아닐 듯 싶다.

 

백엔드 개발자로서도 ... 큰 도움이 되지 않을 법한 경력이라고 느껴지는 가운데 내가 과연 현재 해야하는게 뭘까라는 생각이 너무나도 많이 든다.

 

이렇게 나이만 먹어가면 그저 그런 개발자가 되는거니까.

 

사실 공부 안한 것도 아니다. 매번 하고 싶은 공부 해야하는 공부를 꾸준히 해오고 있지만... 눈에 보이는 성과가 없는건지, 체계가 없어서 그런지 불안감은 더 쌓여가는 중 내년엔 이렇게 보내면 안된다.

 

이 전 글에서 썼듯이 공부하는건 하되, 방향성을 잡는 그런 공부를 해야함을 느꼈기에 스스로 로드맵을 적어보고자 한다.

 

아마 본 글을 읽으면서, 나와 같은 생각을 하는 개발자 분들도 무조건 있을거라 생각한다.

 

혹시 그런 분들이 있으시다면, 댓글을 적어주시길 바란다.

 

의견을 나누고 토론하는게 개발자의 숙명이니 서로에게 큰 도움이 될 거 같다.

 

(컨셉 잡느라, 다나까로 썼는데, 부탁드려요 ㅎㅅㅎ;;;)

 


기본기

  • 운영체제
  • DB
  • 네트워크
  • 자료구조
  • 알고리즘

위 5가지의 중요성을 굳이 설명할 필요가 있을까 싶다. 나의 경우엔 비전공자라서 오히려 위 5가지를 모르고 있다고 생각하는 사람들이 많아 무시받은 적도 많다. (실제로 다양한 기업 면접에서 무시를 당했습니다 ㅠㅠㅠ / 저희 회사는 아니에요 ㅎㅎ;;)

 

자 여기서 또 갈림길이 나뉜다.

 

  1. 신입
    • 운영체제, DB, 네트워크, 자료구조의 경우엔 확실히 주로 나오는 질문들이 많다고 생각한다. 그렇기 때문에 그 부분에 대해서 철저히 공부를 해놓고, 나머지는 유명한 책들을 읽으면서 공부를 한다면 충분하지 않을까란 생각이 든다. 허나 이 역시 이론이기 때문에 본인이 어느정도 아는지를 판단하기 굉장히 어렵다. 뒤돌아 보면 잊는 그런 느낌이 강하기 때문에, 그렇기에 평소엔 유튜브 보듯이 이해만하고 다니다가 면접과 같은 평가가 있다면, 용어들을 외우는 방식으로 공부하면 되지 않을까 싶다.
    • 알고리즘을 강조한 이유가 있다. 개인적인 기준으로 나날이 갈 수록 기업의 코딩테스트가 어려워지고 있다고 생각한다. 프로그래머스 카카오 코딩테스트 문제만 보더라도 해가 지날수록 어려워지고 있다. 그렇기에 위의 4가지와는 다르게 평소에도 정말 코딩테스트를 하듯이 문제를 푸는 연습을 하는게 맞지 않을까 싶다. 그렇다면, 또 문제가 되는 부분은 과연 어느 정도 수준의 문제를 풀어야하는가? 이게 굉장히 어렵다고 생각이드는데, S 전자에서 다행히 수준을 잘 나누어주었다. Ad+ 수준이라면 기업의 코딩테스트들은 통과하지 않을까 싶다. 아마 욕심이 나는 사람들은 Pro 수준도 노리고 있을텐데, 음... 주변에서 Pro가 있어도 떨어지는 사람들을 많이 봤기 때문에... 내 로드맵엔 Pro가 크게 차지하는 부분은 없을거 같다. (애시당초 c로 모든 자료구조를 구현해야하는데, 기업 코테는 뚫는 것이 목표이기에, 막 가져다 쓰는 방향이 맞을 것 같다)
  2. 경력
    • 경력은 어떨까. 주변 얘기를 많이 들어본 결과, 방향성만 맞는다면, 오히려 신입보다 채용이 되기 쉬운 것이 경력채용이다. 위 5가지는 기본적인거만 안다면 (신입이 10이라면, 경력은 6~7 정도?) 채용 과정에서 크게 문제가 없다고 생각한다.
    • 허나, 방향성이 맞다면이라 했는데, 그 방향성이 어떤 업무를 하느냐에 따라 판단받는 것이 다르다.
    • 아는 분이 네이버 지도 앱 경력 채용에 도전했는데 위 5가지 중 알고리즘을 집중적으로 질문 받았다고 한다. 심지어 꽤나 난이도가 높은 정도의 질문이었는데, 그렇기에 앞서 말했던 신입이 10이라면, 방향성이 맞지 않은 분야가 6~7, 반대로 방향성이 맞는 분야는 20 신입보다 2배의 지식을 알고 있어야 대화를 해주는거 같다.
    • 그렇기 때문에 본인이 어느 분야에 있는지 확실히 파악하고 그 분야에 대한 지식은 남부럽지 않게 알고 있어야 하며, 그게 아니라고 생각하는 부분의 지식들은 기본적인 상식으로 지니고 다니는 정도면 되지 않을까 싶다.

나의 경우

나의 경우엔 어떨까... 아마 내년까지는 다양한 신입 공채에 넣어보지 않을까 싶다. 그렇기에 위 5가지를 모두 챙겨가는 방향으로 공부를 해야할거 같다.

 

해당 지식들의 주관적인 점수를 매겨보자면 (100점 만점)

  1. 운영체제 : 65점
  2. DB : 30점
  3. 네트워크 : 0점
  4. 자료구조 : 90점
  5. 알고리즘 : 80점

끙... 냉정하게 평가를 한거긴 하지만, 가슴이 너무 아프다.

 

위의 점수가 정확한거 같으니 해당 부분을 참고하여 공부하면 되지 않을까 싶다.

특기

기본기가 있다면, 본인만의 특기도 있는 법

 

이 특기가 굉장히 중요하게 작용할 수도 있다고 생각한다.

 

그렇다면 특기란 무엇이 될 수 있을까??

 

기본기를 제외한 특기라 한다면, 본인이 가고 싶은 분야에 대한 지식이 특기가 아닐까 싶다. 허나 특기 안에서도 기본기가 존재하는데...

 

바로 떠오르는 예시론 아래와 같다.

  • React가 아닌 JS에 대한 이해
  • Spring이 아닌 Java
  • Django가 아닌 Python에 대한 이해
  • ORM이 아닌 SQL에 대한 이해
  • 급하게 만든 포트폴리오가 아닌 디자인 패턴에 대한 이해

등등...

 

이런 것들이 진정한 특기가 아닐까 싶다.

 

나의 경우

사실 나의 경우엔 하고 싶은게 너무 많다. 프론트엔드 개발도 하고 싶고, iOS 개발도 해보고 싶다. 또한, 회사에선 Django를 이용하여 웹 프로젝트를 하고 있으니, Python에 대해서도 깊은 이해를 가지고 싶으며, 디자인 패턴을 고려해서 프로젝트를 진행해보고 싶은 마음도 있다.

 

허나 시간은 한정되어 있으니...

 

어떻게 해야할건지 생각을 해보자.

 

디자인 패턴의 경우엔 조금 양보를 해서 지식을 얻는 느낌으로 공부를 해보자. 위의 기본기 항목에서 디자인 패턴이 추가되는 방향

 

Python에 대한 공부는 회사에서 충분히 하더라도 눈치가 안보이니 (애시당초 Python을 이용해서 프로젝트를 진행하니까) 회사에서 하는 방향으로 세워보고

 

이제 진짜 내 무기가 될 프론트엔드, iOS에서의 선택인데 둘 다 만만치 않은 분야이기에 시간을 좀 버리는 방식으로 해야할 거 같긴한데, 맥북을 구매했기에 swift 찍먹은 해봐야하지 않겠는가.

 

iOS개발 + swift 언어에 대한 이해를 찍먹을 해보도록 하고, 내 길이 아니다 싶으면 프론트엔드로 전향하도록 하자.

 

애시당초 JS가 무시하지 못 할 언어라서 찍먹하는 도중에도 계속 공부를 해야하는 언어인거 같으니 같이 공부하고, React에 대한 공부는 잠시 미루도록 한다면 괜찮지 않을까 싶다.

 


 

개발자라는 직업을 선택한 이상 공부를 매일하는건 피하지 못하는 숙명과 같다고 생각한다.

 

그래서 올 해 닥치는 대로 손에 잡히는 대로 공부를 해왔는데, 어느샌가 길을 잃고 서 있는 내 자신을 발견했다.

 

닥치는 대로 손에 잡고 공부하기엔 개발이라는 분야가 너무나도 방대하다. 현재도 기존의 것은 변화하고 있고, 새로운 것은 계속해서 나오고 있다.

 

그런 상황 속 해당 방법은 굉장히 틀린 방법이었다.

 

저번 글에서 다짐한 것 가짜개발자가 되지 않기 위해서 닥치는 대로 공부를 했다고 생각하는데, 해당 모습을 비판하지 않지만, 조금 더 다듬어 방향성 잡힌 모습으로 '진짜 개발자'가 되보도록 하자.

반응형
LIST

'개발자 이야기' 카테고리의 다른 글

회사를 떠나다.  (28) 2021.04.08
if kakao 2020 - FE 개발 서바이벌 키트  (0) 2021.03.11
가짜 개발자  (20) 2020.09.03
KAKAO WORK BOOK을 읽어보다.  (0) 2020.08.16
지금 이 곳, 개발자로서 맞는 곳인가 ?  (47) 2020.05.27