어느정도 실력이 되시는 분이나 관련 전공자 고학년은 이게 당연한거아니야? 라고 생각이 들태지만 이번 내용은 내가 이쪽 분야에 하나도 몰랐을때(뉴비)를 생각해서 적어 보려 한다.
난 학교 커리큘럼만 따라가면 다 개발자가 되는줄 알았던 오만한 생각을 가지고 있었다. 그 생각은 반년도 안되서 깨졌고 그 때문에 뭘 해야하는지 어떻게 해야 하는지 등의 정보를 많은 사람들에게 묻고 생각해봤다.
당신이 만약 개발자에는 관심이 있는데 진짜 전~~~혀 뭐부터 해야할지 모르겠다면? 지금은 언어를 공부할 때가 아니다.
흔히 c부터 하라는데 그것부터 해야해요? 아니면 java? 요즘 파이썬이 뜨던데 그것부터 할까요?? 무슨 언어 부터 해야하나요?
이런 언어 관련 질문이 지식인 같은 곳에서 많이 보이는데 처음엔 나도 저랬지만 언어는 목표가 정해진 후 나중에 배우면 그만이다. 언어는 정말 중요하지 않다. 컴퓨터 처럼 생각하는? 그런것이 더욱 중요하다고 생각한다. 언어는 나의 생각을 문제없이 적어 내려갈 정도만 하면 된다.
그럼 언어 말고 뭐부터 해볼까? 먼저 cs(컴퓨터과학)관련 지식을 쌓는데 초점을 맞춰보자.
cs? 초심자가 접하기엔 너무 복잡하고 어려운거아니냐?
공부한다고 생각하지말고 관련 영상들을 시청하면서 감만 익힌다는 마인드로 접근하자. 너무 초장부터 각잡고 들어가면 힘이 빠지게 된다는게 내 생각이다. 추천하는 채널은 아래에 명시에 놓을 것이다. 책도 좋긴하지만 힘빼고 보는데에는 영상이 제일 좋다. 참고로 난 책으로 프로그래밍 공부하는 것을 개인적으론 선호하지는 않는다.
아~ 대~~충 이런식으로 컴퓨터가 돌아가는 구나 정도로 잡고 보면서 궁금하거나 흥미가 생기는 부분을 기록했다가 나중에 그쪽으로 진로를 잡을 수도 있다. 어차피 전공자라면 나중에 학교과정에서 또 공부해야한다.
- 1. 전반적인 cs관련 지식 습득 하기 그리고 그 속에서 흥미점 찾기(가볍게)
Wow~
여기를 보는 당신은 혹시 위에 영상을 모두 봤는가? 그럼 이제 1차 전직을 무엇으로 할지 생각해보자. 여기서 나는 두 가지로 보는데 당신이 만약 시간이 많다면 프론트, 백엔드, 정보보안, 데이터 등등 많은 개발관련 경험을 해보고 그중에서 그나마 난 ~~한게 끌린다 싶은 걸로 고르는게 좋다고 생각한다.
만약 하고 싶은 것도 잘 모르겠고 그럴 시간이 없다면 아무거나 시작해보자.
하나를 골랐다면 그에 관련된 직종을 검색해서 자격 요건같은 것을 탐색해보자. 쓰이는 기술들이 바뀔 수가 있어서 최근에는 어떤게 유행하나 기업들이 잘 사용하는 건 무엇인가 등등을 탐색하면서 자신만의 체크리스트를 만들자. 채용사이트는 로켓펀치, 원티드등 많으니 직접 찾아보자.
ex) - 백엔드: PHP Laravel, Node.js Express, Spring, etc...
- 앱 : IOS, 안드로이드, 플루터, etc...
- 2. 자신만의 체크리스트 만들기
흥미있는 분야와 방향을 잡았다면 이제 그에 걸맞는 실력을 만들면 그만이다. 이제 남은 것은 학습이다.
저마다 다른 학습 방법들이 다양하지만 나는 개인적으로 서점에서 책을 사서 공부하는 것은 비추천한다.(c같은 오래된 지식은 제외) 영상도 간편해서 좋지만 가장 좋은 것은 공식사이트에서 제공하는 관련 문서들이다. 이 공식 문서들은 바로바로 업데이트 내용들이 등록 될 뿐만 아니라 가장 핵심적인 내용들이 수반된 경우가 많다. 영어로만 이루어진 경우가 많지만 개발자라면 어차피 영어에 친숙해져야 한다.
보통은 (검색할 내용) doc 이런식으로 검색하면 많이 나온다.
요즘은 한국어로도 잘 나오는 편으로 보인다. 그래도 질문을 올리거나 검색할 구글링을 하기 위해선 영어는 필수! 한글로 나오는 정보의 양과 영어로 했을 때 나오는 양과 질이 다른것은 이미 모두가 다 알고있는 사실.
부트캠프를 하던 무료강의를 듣던 무조건 끝난 후엔 직접 뭐라도 만들어보면서 깨져보자. 그러면 아마 배우는 지식이 배로 늘어날 것. -> 이게 가장 짜증나고 또 동시에 재밌는 과정이라 생각한다.
원대한 계획보단 하찮은 실행이 더 낫다는 말도 있지 않은가.
영상 따라하기 (클론코딩), 부트캠프 내용은 내 실력이 전~~혀 아니니 착각은 금물이다.
- 3. 공식문서 참고를 습관화 하고 직접 아무거나 좋으니 만들면서 배워보자.
이거 하나만 꼭 말하고 싶었다.
공부를 할때 제발제발~ 나를 남과 비교하지말자
이 개발에 세계는 정말 사람들의 실력이 천차만별이라 위를 올려다 본다면 끊임없이 보일 수도 있다. 좁게 바라보면 여러분의 가까운 회사 동료, 친구, 스터디 팀원 중 볼때마다 아래와 같은 생각이 들 수 있다.
이따구로 해서 내가 이 사람과 동급이 될 수 있을까?
이는 나 역시 마찬가지였고 흔히 말하는 "현타"가 가끔 찾아와 그냥 던져버리고 싶을 때도 많았다. 백준(알고리즘 문제 풀이 사이트) 에서 "나는 브론즈 문제에서 허덕이는데 내 친구는 다이아문제를 10개 이상 풀었네? 나는 진취적이지 못하는데 다른 사람들은 내가 전혀 알지 못했던 개발세계를 탐색하고 의논하면서 새로운걸 찾곤하네?" 하면서 비교했던 예전일이 생각나는데 이러면 정말 최악이니 그러지 말자.
꾸준히 한다는 가정하에 모든 사람은 자신만의 속도가 있음을 인지하고 지금 현제는 답답하기 그지 없지만 언젠간 발전하리라는 마음가짐을 가지자! 당신은 그리 못나지 않았다. 꾸준히 한다는 가정하에 그런거지 잠깐 하는둥 마는둥 하다 롤 키러가면 그때는 혼나야 한다.
- 4. 남과 나를 비교하지말자. 각자의 속도가 있음을 인지하고 꾸준하게 하자.
즉, 밤을 새거나 하는 오버하지말고 그냥 꾸준히 하자.
22.05.11일
지금은 새벽 1시를 지나고 있다. 이 글을 처음 쓴지가 약 1~2달이 되가는 거 같은데 추가로 느낀점들을 적어 내겠다. ps쪽에서 느낀점인데 항상 이쪽 분야는 글을 쓸때 조심스러워 지는것 같다. 대체 왤까?
코딩 테스트 공부, 흔히 PS라고 불리는 영역은 나에게 도전의식을 불러 일으켰다. IT 쪽 전공자라면 한번쯤 다들 들어봤을 것이고 또 중요하다는 것은 누구나 알고 있을 것이다.
위에서 처럼 주변 친구들이 Boj(백준 온라인)기준 다이아-플레에 있는 경우가 많았는데 시간을 길게 잡고 그들처럼 해보기로 결심하였으나 어째선지 벽을 느끼고 포기하는 경우가 다반사였다.
지금 생각해보면 공부하는 방법을 몰라서 그랬던 것 같다.
누구는 종만북을 사서 완독하라니 강의를 사서 들어보라느니 조언은 많았지만 정말 초심자에게는 어울리지 않았다. 심지어 종만북은 내용도 상당히 어려워서 완독이 쉽지 않았다.
그럼 초심자에게 어울리는 PS공부는 뭐가 있을까?
여러 지인들과 인터넷 속 좋은 정보들을 종합한 결과를 이곳에 적고 초심자 들의 지침서가 되기를 희망한다. 물론 나도 그렇고...
가장 많이 도움을 받은 정보는 아래 링크에 명시해놨다.
고마우신분
ps 공부에 가장 좋은 것은 자신이 어떤 것을 모르는지 아는게 중요하다.
내가 학창시절 수학 공부를 하다 질문을 할 수 없을 만큼의 문제를 봤을때 특정하게 질문을 할 수 없었던 경험이 떠올랐다. 미분법을 모르는건지, 인수분해를 까먹은건지, 아니면 접선의 방정식을 모르는건지 하는 그런 경험 말이다.
결국
너 자신을 알라.
자기 자신을 체크해보자.
이렇게 까지 해야해? 라고 생각이 들 수 있지만 후에 ps를 하는데 어렵고 흥미가 떨어져 또 포기할 수 있다.
모든 핑계와 가식을 벗어던지고 "솔직하게" 자신의 수준이 어느 정도인지 스스로 물어보자
생각하면서 많이 아플 수도 있지만 진지하고 솔직하게 점검하자. 자기 객관화가 중요하다.
공부는 그 다음부터다.
쉽게 예시를 들자면 아래와 같은 입출력 문제들을 쭉 풀어보자. (백준기준)
입출력 - 2557, 1000, 2558, 10950, 10951, 10952, 10953, 11021, 11022, 11718, 11719, 11720, 11721, 2741, 2742, 2739, 1924, 8393, 10818, 2438, 2439, 2440, 2441, 2442, 2445, 2522, 2446, 10991, 10992
이 문제들을 풀때 10분안에 풀지 못한다면 입출력 부분에서 뭔가 모르는 부분이 있다는 것을 의미한다. 아직 언어에 대한 이해(혹은 사용에 익숙치 않다던가)가 부족한 것으로 봐야한다.
기초에서 중급 문제들은 하루종일 붙잡고 있지 말자. 수학문제라면 모르겠지만 우리에겐 할 일이 많다. 위 같은 10분 문제들이 생각이 안나면 책을 보기 보다는 다른 사람의 풀이와 설명이 자세히 되어있는 코드를 살펴보고 내 것으로 흡수하자 마치 마인부우처럼.
아직 사람들이 풀 지 못했거나 풀어도 해답을 바로 볼 수 없는 경우는 다르지만 나는 아직 그 경지에 이르지 못했으니 논외로 치겠다.
하... 해야할게 산더미다.
필자는 지금 휴학 중인데 어찌 학기 중보다 더 바쁜 것 같다.
이 욕심만 많은 사람으로 끝날지 아니면 뭐라도 이뤄낸 사람인지는 이번 휴학에서 결정 날 것 같다.
안녕~ 즐코딩~
"초장부터 각잡고 들어가면 힘이 빠지게 된다" 매우 좋은 말씀인거 같습니다.!!