항가
684
2021-08-06 11:36:48 작성 2021-08-06 15:21:01 수정됨
22
6325

취업준비하시는 신입분들께 주관적인 방향성 제시글입니다..


반갑습니다.

전공/비전공 분들 중에서 아직 공부하고 계시거나 앞으로 신입으로 취업 예정이신 분들에게 방향성을 제시해드리고자 합니다.


'신입으로서 최소한 이정도까지 준비를 했으면 좋겠다' 라는 저만의 기준을 제시해드릴건데, 회사, 팀, 사람마다 이해관계가 분명히 존재합니다.

어떤걸 공부해야하고 어떻게 취업 준비를 해야하는지, 갈피를 못잡고 계신 분들께 도움이 되셨으면 좋겠습니다.

이 내용을 곧이 곧대로 신뢰하진 마시고, 50%만 가져가시되, 다양한 정보를 모아서 스팩트럼을 넓히시길 권장드립니다.



유독, 오키 포럼에서 비전공자 분들이 많이 보입니다.

이 부분을 부정적으로 보는 것이 아니라, 타 직종보다 조금 높은 연봉 테이블과 단기간에 취업할 수 있다는 메리트가 작용해서 관심을 가지는 분들이 많아졌다는 생각입니다.

개발자 직군 중에서도 몇몇 직종은 아직도 인력난에 허덕이고 있어 새로운 분들이 개발자의 길로 진입하신다는 소식 자체가 저는 반갑게 느껴집니다.



하지만, 제대로 된 정보 없이 무작정 학원을 다니면서 3 ~ 6개월간 배운 뒤, 취업나가시는 분들이 많은 것 같은데,
특별한 사유가 존재하지 않는 한 면접에서 탈락하시거나 수습 기간 이후 해고 당하시는 분들도 더러 보이는 것 같아요.

그 외에도 본인이 제대로 공부를 한건지 의구심이 들거나 취업을 어떻게 준비해야할지 방향을 못잡고 계신 분들도 있으셔서 이 내용이 어느정도 문제를 해결해주는 반환점이 되었으면 좋겠네요.



전공자들은 최소 2년에서 최대 5년이상까지 학부생으로 보내면서 프로그래밍 전문 지식을 습득하기 위해 공부를 합니다.


물론, 케바케 사바사지만 이정도 기간이면 기본적으로 갖출 수 있는 '기본기' 지식을 얻기에는 충분한 시간이지요.

사람들이 두루 말하는 기본기가 왜 중요한지 정확히 이해하고 가셔야 합니다.




* 자료구조/알고리즘

스택, 큐, 트리, 링크드리스트, 소트, 시간복잡도 등 사전에 공부하지 않아도 코딩하면서 자연스레 체득되는 경우도 있지만, 미리 알아두면 매우 유용하게 쓰입니다.

예시)

오키의 계정은 50만개가 생성되어 있습니다.
내 계정의 키 값은 118800 이고, 오키 계정 테이블 중에서 키 값이 118800 인 것을 찾아야 한다면 어떻게 찾아야 할까요? for문 돌려서 찾으면 1 부터 50만 까지 루프를 돌릴텐데 과연 합리적일까요?
유저 500명이 동시에 로그인을 시도한다고 가정했을 때, 1 ~ 50만까지 돌아가는 루프가 500번이 실행될까요?
멀티스레딩 환경이라면, 데드락이 발생하는 경우는 없을까요?
데드락이 발생한다면 어떻게 문제를 해결해야 할까요? 대기열을 도입해서 1명 1명 절차지향적으로 처리해야할까요? 동시다발적인 이벤트 이슈를 해결할 수 있는 알고리즘은 없을까요?
1명의 유저가 오키 사이트 10개 켜놓고 동시에 로그인 시도하면 어떻게 처리될까요?
어떻게 탐색해야 효과적으로 찾을 수 있고 부하 없이 빠르게 찾을 수 있을까요?


* 수학적 지식 

직종별로 필요 차이가 존재하고 수학적 지식이 없어도 큰 문제는 되지 않지만, 알고 있다면 때때로 정말 엄청 많은 도움이 됩니다.

예시)
리그오브레전드를 플레이하고 있습니다.
우클릭해서 땅을 찍었을 때, 0.1초마다 해당 위치로 이동하게 설계되어 있습니다.
과연 이게 합리적인 방법 일까요?
내 캐릭터 뿐만 아니라 상대 캐릭터, 미니언들도 모두 이동하는데 모든 객체가 0.1초마다 갱신하나요? 클라이언트 부하 뿐만 아니라 서버에서는 문제가 없을까요?
내 캐릭터와 우클릭한 위치의 거리를 미리 계산해서 해당 객체를 위치한 좌표까지 이동시켜주는 수학적인 계산식은 없을까요?
스킬을 사용해서 상대를 죽일건데 스킬 범위를 어떻게 계산해야할까요?
사용하려는 스킬이 하필 기획팀에서 부채꼴 모양으로 나간다고 합니다. 어떻게 해야 모양을 부채꼴로 만들 수 있을까요?


* 언어의 문법적 흐름 이해 

어떤 언어를 새로 접하더라도 '언어의 흐름'은 유사하기 때문에 흐름을 이해하신다면 새로운 언어를 배우는데에 큰 부담이 덜어집니다.

C에서의 printf
C++에서의 cout
C#에서의 console.writeline
Python에서의 print 
Java에서의 printIn
Linux에서의 echo

국가별 언어가 다른 것처럼 프로그래밍 언어들도 언어마다 문법이 다릅니다.
(서로 호환될 수 있지만 그냥 이렇게 이해하고 넘어가주세요.)

안녕하세요, 헬로우, 니하오마, 곤니찌와 등 의미는 같기 때문에 다른 언어를 습득하시더라도 그 언어에 궁금한 부분을 document 찾아보시던가 구글링을 통해서 충분히 쉽게 찾아볼 수 있을 겁니다.

결국 하나의 언어를 이해하고 계신다면, 다른 언어 환경에서 쉽게 문제를 해결할 수 있다는걸 말씀드리고 싶어요. (다른 언어 배우는데 어렵다고 생각하는 분들이 생각보다 많이 보입니다.)


* 사수 또는 직장 동료에게 질문하는 문장 구사력

간혹, 전후 설명 없이 ' ~가 안돼요' 하시는 분들이 계십니다.
이게 잘못됐다는게 아니지만, 이런 내용이 50번 반복된다면 인내심의 한계가 올지도 몰라요.
전후설명을 확실하게 전달해서 요구하는 바를 전달할 수 있어야 합니다.


예시)
[쇼핑몰 홈페이지를 만드는데 신입이 로그인 기능을 만드는 상황]

* 잘못된 질문: 로그인버튼 눌러도 로그인이 안돼요
=> 왜 안되는건지 처음부터 역질문하면서 시간이 지체됨


* 괜찮은 질문: F12 눌러서 콘솔에 데이터가 잘 넘어오고 로그인 이벤트 함수도 잘 타고 있어요 근데 왜 로그인이 안될까요?
=> 데이터가 넘어오고 함수 호출이 된다면, DB 또는 API 서버를 제대로 타서 리스폰 받았는지 확인 유무를 제시해줘서 문제 해결에 가깝게 안내해줄 수 있음


라면을 끓이는 상황을 추가로 예시 들자면,
'가스불이 안켜져요' 라기보다, '가스벨브 열었고 다이얼을 돌렸는데 불이 안나오는데 어떡해요?' 라는 식으로 접근하면 더욱 좋습니다.




위 내용들이 당연한 얘기지만, 당연하게 들리지 않을수도 있습니다.

기본기는 코딩 실력 뿐만 아니라 인품도 중요하다는걸 알아주셨으면 해요.


취업을 준비하시면서 많이들 걱정하시는게 '뻥튀기' 를 해야하는가 인데,

면접이나 브레인스토밍에서 몇마디 나눠보면 대충 견적 나옵니다.

포트폴리오에 적을게 없더라도 본인 기준에 맞는 회사를 찾으셔서 먼저 이력서를 넣어주세요.

인력이 급한 곳은 간소하게 진행하는 경우도 많아서 취업 성공할 수 있는 확률이 높으니까요 ㅎ


코딩테스트는 주기적으로 해주세요. 생각보다 도움이 될 때가 있습니다.

기술면접 잘 준비하세요. 벼락치기식 겉핥기보다는 모르면 모른다. 알면 확실하게 대답하시는게 좋습니다. (보통 기본기 위주의 질문이 많이 나옵니다. 근데 비전공 출신이 많은 웹 프론트쪽으로는 어떤 질문이 나오는지 예상이 잘 안되네요.)

대기업에서는 실력이 뛰어난 중고신입들을 채용해가는 경우도 많은데,

실제로 신입에게 요구하는 바는 '얼마나 성실하고 우리팀의 기술을 흡수해서 빠르게 성장할 수 있는가?' 를 중점적으로 보지 않을까 싶습니다.


지금은 부족한 실력일지라도 3년, 5년뒤에 나의 모습에서 달라진 결과를 보여주면 됩니다.
두서없이 적은 글이라서 내용이 길어졌는데, 추가로 궁금하신 점은 댓글 달아주세요.


감사합니다.

62
71
  • 댓글 22

  • dubi
    2021-08-06 12:43:29
    좋은 글 감사드립니다!!
  • d487bb
    154
    2021-08-06 12:58:59

    좋은글 추천합니다~

  • 이프얼스와일포
    250
    2021-08-06 13:55:39

    "로그인버튼 눌러도 로그인이 안돼요"  이거 너무 공감 되네여


    "제가 로그인버튼 이벤트 리스너를 구현하고 해당 이벤트에서 서버 요청까지 보냇는데 요청이 서버까지 안 날라 오네요.."

    라고 질문해주면 될껄

    개발자 관점이 아닌 그냥 사용자 관점에서 true or false 논의하는 저의 부사수는 언제쯤...

  • Moriya Suwako
    535
    2021-08-06 14:32:47
    질문하는 구사력은 너무 공감되네요 제가  특히 신입사원이라서 안되는데 어디가 어떻게해서 안되는지 정리를하는 능력이 많이 떨어지다보니 선임분들에게 너무 미안합니다 ㅠㅠ
  • 항가
    684
    2021-08-06 15:29:16 작성 2021-08-06 17:28:45 수정됨

    Moriya Suwako
    그런 능력을 향상시키기 위해서 사수의 도움이 필요한 겁니다.

    처음부터 잘해낸다면 그런 능력이 본인 연봉을 높힐 수 있는 수단이 되는거겠죠

    문제가 있다는걸 파악했으니, 그걸 개선해나가면됩니다. 너무 기죽지마세요ㅎ 

  • bkgttmg
    2k
    2021-08-06 16:36:12
    저런 질문도 어느정도 실력이 있어야 가능하지 신입이나 저연차 사람들은 힘들겁니다. 그걸 감안해야 하는데 사람들은 자기중심적이라 남을 이해하려고 하지 않죠
    -1
  • 오리쉐리
    261
    2021-08-06 17:19:48

    수학적 지식은 어떤걸 말하는건가요??? 이산수학 그런건가요???

  • 항가
    684
    2021-08-06 17:28:27

    오리쉐리 

    영역이 워낙 넓은 부분이다보니까 구체적인 명칭을 언급하지 않았습니다.

    기본적으로 알아둬서 좋은건 사칙연산, 방정식, 미분, 적분, 삼각함수 이런걸 알아두면 도움이 되겠죠

    하지만, 본문에도 말씀드렸듯, 특정 직종이 아닌이상 사용하지 않는 경우도 허다합니다.


    저같은 경우는, 기하, 벡터, 삼각함수, 미적분, 행렬, 곡선 등을 알아둬야 했습니다.

  • backending
    67
    2021-08-07 05:35:33

    글을 너무 잘 쓰십니다 추천 누르고 에너지 얻고 갑니다

  • DevAndy
    251
    2021-08-07 14:37:43

    좋은글 감사합니다! 현재 수습기간중인데 명심하고 임하겠습니다!

  • donghs1541
    7
    2021-08-09 23:50:20

    꿀팁 감사합니다. 좋은 정보 취업할때 참고 하도록 하겠습니다.!

  • devdoodle
    115
    2021-08-10 08:32:56

    너무좋은글..

  • 궁예
    40
    2021-08-10 09:15:59

    옴마니반메옴 좋은정보감사합니다

  • 뭉텅이
    180
    2021-08-10 09:28:26

    좋은 글 감사합니다.

  • 특: 꿈만 큼
    132
    2021-08-10 17:43:08

    감사합니다  자연스럽게 체화할 때 까지 읽겠습니다

  • 공부합니다
    24
    2021-08-11 15:41:53

    질문을 저렇게 하는건 알지 못하니 그런거 아닐까요? 

    비유하신거로 예를 들면 벨브가 열려있어야 된다는 것과 다이얼을 돌려야 되는 것도 모르는 거죠 ㅋㅋ

    말씀하신 언어의 문법적 흐름이 중요한거 같네요

  • 항가
    684
    2021-08-11 16:22:14

    공부합니다

    처음 질문하는 것부터 저런 형식으로 질문하지 못할겁니다.

    하지만, 저렇게 질문하려고 노력하고 생각을 하면 할수록 내가 어느 부분을 완벽히 이해를 못하고 있다던가 질문을 하면서 질문을 안해도 되는 부분을 깨닫게 된다던가 얻는 부분이 있지 않을까요?

    너무 경력자의 위치에서 생각한걸수도 있겠지만, 저렇게 질문해볼 생각조차 하지 못해본 분들이 계시기 때문에 언급했던 거에요.

  • 아루루
    27
    2021-08-11 19:50:28 작성 2021-08-11 19:51:53 수정됨

    국비교육 들으면서 교수님한테 많이 지적받은 부분이네요 ㅎㅎ..

    처음엔 아무것도 몰라서 그냥 안된다고 교수님께 물어보기만 했었는데, 교육끝나고 웹 프로젝트 혼자 진행하다보니 많이 반성하게 되더라구요.

    교육받을때 이글을 읽을 수 있었더라면 얼마나 좋았을까 싶어요.


    좋은글 감사합니다!

  • 파스텔
    23
    2021-08-19 15:37:23

    IT업계에서 새로 시작해보려고 하고있어요


    좋은 조언 감사드립니다.

  • idhibri
    35
    2021-08-24 17:00:53

    좋은 글 감사합니다. 공부를 하면 할수록 기술보다는, 그 안의 기본 원리 (DB, 객체지향 등등..) 에 대한 이해가 필수적이라는 생각이 계속 듭니다. 

    '멀티스레딩 환경이라면, 데드락이 발생하는 경우는 없을까요?

    데드락이 발생한다면 어떻게 문제를 해결해야 할까요? 대기열을 도입해서 1명 1명 절차지향적으로 처리해야할까요? 동시다발적인 이벤트 이슈를 해결할 수 있는 알고리즘은 없을까요?'

    -> 이러한 경험치를 쌓으려면, 어떤 공부를 하는 것이 좋을까요? 알고리즘 문제를 풀고있어도 계속 좀 막연하달지...ㅜㅜ 좋은 책이나 강의가 있을까요? 

  • 항가
    684
    2021-08-24 17:41:57

    @idhibri 

    암기처럼 단기간에 이뤄낼 수 있는 부분은 아니에요.
    직접 서버를 구축해보고 서비스하면서 발생했던 이슈들을 개선해 나가면서 쌓이는 경험치라고 생각합니다.

    독학으로 얻기에는 힘든 여정이 될거에요

    웹쪽으로 공부하는 단계이시고 신입으로 지원하실 예정이라면, 토이 프로젝트를 진행하시고 서비스 런칭해보는 것까지 해보라고 말씀 드리고 싶네요 ㅎㅎ


    저에게 도움이 됐던 책들은 많은데, 제가 C/C++을 다루다보니 idhibri님께 도움이 될지 모르겠습니다.

    어떤걸 공부하시는지 몰라서 책 추천은 사람마다 많이 다를텐데.. 저에게 도움됐던 책들을 몇개 공유해 드릴게요

    - 전문가를 위한 C++
    - Effective C++
    - Effective Modern C++
    - MORE Effective C++
    - 가장 빨리 만나는 Docker
    - 3D 게임을 움직이는 수학과 물리



  • idhibri
    35
    2021-08-24 23:01:20

     

    항가 감사합니다! 저는 자바 위주이지만.. 추천 도서 바탕으로 비슷한 류의 책을 찾아보겠습니다. ㅎㅎ
  • 로그인을 하시면 댓글을 등록할 수 있습니다.