[취업준비] 면접을 준비하면서..

오현우·2022년 7월 7일
1

현우 일기

목록 보기
1/2

최근 블로그 글쓰기가 뜸해진 이유

변명 아닌 변명을 진행하자면, 최근에 면접을 준비하고 있어서 CS 지식 복기겸 네트워크 책과 파이썬 언어에 대한 근본적인 리뷰 데이터베이스 책 빅데이터를 지탱하는 기술등 꾸준히 읽어 오던 책들과 새롭게 읽게된 책등을 읽는 중이다.

이러한 책을 읽으면서 당연히 복기겸 블로그에 리뷰를 쓰면서 진행하는 것이 정말 좋다는 사실은 누구나 공감할 만하다.

하지만 글쓰기는 많은 시간과 노력이 요구된다.
때문에 어떤 일이 진행되고 여유가 없다면 정성적 글쓰기가 불가능해진다.
(절대 날씨가 무덥거나 해골병사는 던전을 지키지 못했다가 재밌어서가 아니다. 꿀잼임 추천 ㅋ)

면접을 준비하면서 느끼는 중인 것들

  1. 나는 정말 알고 있는 것들인가?
  2. 컴퓨터적인 사고를 하고 있었는가?
  3. 꾸준하게 성장하기 위해서는 끊임없이 공부해야 한다.

나는 정말 알고 있는 것들인가?

먼저 1번의 경우는 네트워크를 공부하면서 더욱 느낀다.
구체적으로 예시를 들자면 http 비동기적 소통을 위해 vue.js 나 node.js 의 경우 기본적으로 axios를 사용하길 권장한다.

때문에 axios를 통해 client에서 http GET 메소드를 실행하면 어떤 동작이 일어나는지는 명확히 알지만 어떤 동작들로 구성되어 있는지 어떠한 방법론으로 실행되고 어떠한 약속이 있었는지는 명확히 알지 못했다.

하지만 위의 네트워크를 공부하면서 이론적으로는 알았던 tcp/ip의 이해와 os에서 처리하는 네트워크 작업들 등등 네트워크가 구체적으로 어떻게 동작하는지 어느정도 정리가 되었다.

컴퓨터적인 사고를 하고 있었는가?

2번의 경우는 포프 tv의 개발자의 유튜브를 보고 그냥 그렇구나 하고 넘어갔었지만, 최근들어서 계속해서 기본기의 중요성을 느낀다.

구체적으로 예시를 들어보자.
해시 테이블의 경우 지극히 컴퓨터적인 사고를 갖고 만들어진 자료구조이다.
누구나 해시 테이블은 "순서를 보장하지 않으나 키에 대한 유니크성은 보장한다.
때문에 키값만 알 수 있으면 시간 복잡도O(1)으로 빠르게 찾는 것이 가능하다." 라는 사실은 알고 있다.
하지만 어떻게 해시 테이블을 구현하는지는 잘 모른다.

뭐 어떤 사람들은 아래와 같이 말할 수 있다.
이미 바퀴가 개발되어 있고 해당 바퀴를 그냥 가져와서 쓰는건데 뭘 다시 구현하냐는 논지이다.

나의 논지는 "이미 구현된 것을 다시 구현하는 것이 아닌, 방식에 대한 이해의 필요성이 중요하다" 이다.

일단 우리는 해시 테이블을 구현하기 위해서 2가지를 알아야한다.
1. 해시 함수
2. 컴퓨터는 모든지 숫자로 표현한다.

해시 함수란 무엇인가?
하나의 값을 함수에 넣으면 어떤 값를 만들어주는 함수이다.

컴퓨터는 모든지 숫자로 표현이 가능하다.
일반적인 str은 모두 아스키 코드로 변환이 가능하며 이러한 변환을 거쳐 숫자로 표현이 가능하다.

여기서 착안해서 컴퓨터 과학자들은 해시 테이블을 만들었다.

모든 문자열과 숫자는 숫자로 표현이 가능하며, 이러한 숫자들을 해시 함수에 넣어서 균일하게 퍼뜨리게 된다면 우리는 해당 값들을 빠르게 찾아낼 수 있다.

이어서 우리는 위에서 이야기한 해시 함수를 기반으로 rsa 방식으로 암호화에 대한 이야기도 가능하며, 아스키 코드를 기반으로 문자 인코딩에 대한 이야기도 조금씩 가능할 것이다.

이처럼 어떤 하나의 방법론에 대한 이해는 해당 도메인에 대한 통찰력을 기를 수 있는 힘을 준다.

꾸준하게 성장하기 위해서는 끊임없이 공부해야 한다.

3번의 경우는 지금도 느끼고 있지만 앞으로는 더 힘들 것이라고 생각한다.

경쟁력 있는 엔지니어란 무엇일까?

코드를 잘짜는 사람...? 그렇게 생각할 수 있다. 나도 처음엔 그렇게 생각했다.

하지만 내가 생각하기엔 경쟁력 있는 엔지니어란 기본기가 탄탄하여 스스로 문제를 계속해서 해결해 나갈 수 있는 끈기와 노력이 있는 엔지니어라고 생각한다.

마치며...

공부를 하면서 계속해서 느끼지만 나는 CS 분야의 거대한 바다속에서 표류중인 선원 같다.

살아남기 위해서는 계속해서 나무 판자를 붙들고 주변의 육지나 섬을 향해 전진해야만 한다.

그리고 나도 언젠간 시니어가 되어 표류중인 선원들을 구제하는 엔지니어가 되고 싶다.

profile
핵심은 같게, 생각은 다르게

1개의 댓글

comment-user-thumbnail
2022년 7월 14일

나도 같은 느낌이다. 우리는 CS 사막에 누워 있는 모래알과 같습니다.
그리고 살아남으려면 계속해서 각 모래 언덕을 질주하며 주변의 오아시스를 찾아야 합니다.

답글 달기