이 글은 제가 어떻게 프로그래밍을 시작했고, 입사확정까지 어떠한 일들을 했으며, 혹시라도 프로그래밍에 조금이나마
관심을 가지고 계신 분들에게 정보를 드리기 위해서 작성되었습니다. 다소 주관적이고 편협하더라도 이해해주시기 바랍니다.
언제나 수정 요청이나 생산적 비판은 환영입니다.
제가 프로그래밍을 업으로 삼아야겠다고 생각한 것은 정확히 1년 전입니다.
하지만, 프로그래밍을 만난것은 아마 2년 전일것입니다.
내가 프로그래밍을 좋아하는 지 알아보기:
2년 전 세상의 모든 미디어가 AI어쩌구 저쩌구 빅데이터 어쩌구 저쩌구로 도배된적이 있습니다.
유튜브를 자주 보던 저는 포프 킴이라는 사람의 유튜브를 우연히 보게되고 정기적으로 보게 되었습니다.
https://www.youtube.com/watch?v=VU2D3BoPIWY
이분의 책이 있다는 것을 알게 되었고, 이 책을 통해서 내가 프로그래밍을 좋아하는지 아닌지를 알게 되었습니다.
정말로 즐겁게 읽었고, 실습도 정말 재밌게 했습니다. 아직도 그 때의 분위기나 상황이 생생히 기억날 정도로 좋았습니다.
그 후에 잘 다니던 해외영업 직을 그만두고, 생명정보학이라는 학문을 배우러 대학원 유학을 갑니다.
생명정보학은 한마디로 표현하자면, 생명체들이 만드는 정보들을 전부 모아서 특정 컴퓨터 기술을 통해
새로운 사실들을 발견하는 학문입니다. 제가 갔을때는 인공지능을 통해서 문제를 푸는 시도를 하고 있었습니다.
제 전공이 화생공이었기 때문에 생명정보학을 통해서 컴퓨터를 하는것이 좋겠다고 생각하여 들어갔지만,
생각보다 컴퓨터를 사용하는 일이 적고, 데이터를 분석하는 일이 많아서 응용통계학이나 수학을 위주로 공부하게 되었습니다.
그때 배운 수학이 공부할때 너무나 큰 도움이 된것은 사실입니다.
이때 저는 SW엔지니어링을 좋아한다는것을 알게되었습니다. 수학적으로 무언가를 증명하는 것 보다. 무언가 만들고
활용하는 것에 관심이 많아서, 유학 도중 컴공 학부과목을 청강하고 결국 중퇴를 하고 귀국하게 됩니다.
본격적인 프로그래밍 공부법:
저는 개인적으로 프로그래밍에서 가장 중요한 언어는 영어라고 생각합니다.
옛날에 제가 아이엘츠 7.0을 받고서 도탁스에 영어 공부법을 올린적이 있는데
제가 글을 정리하다보니 지워 버렸습니다. 언젠간 다시 올려보도록 하겠습니다.
영어가 기본이라고 생각합니다. 그 이유는 한국 커뮤니티가 요즘은 상당히 좋아졌다고 하지만서도,
아직은 상당히 부족합니다. 잘못된 정보들이 전달되는 것이 많고, 깊게 공부하려면 결국 원서를 보게되는것이 현실입니다.
물론, 한국 서적중에서도 외국 서적들보다 좋은 책들이 많습니다. (특히, 자바, 스프링 관련해서는 그런것 같습니다.)
당장, 영어를 못하시더라도 충분히 연습하시고 꾸준히 준비하는 것이 프로그래머로서 너무나 중요한것 같습니다.
유데미(Udemy)강의를 들을 수 있는 정도면 충분해 보입니다.
https://www.youtube.com/watch?v=Q2yDqcsCjSM&t=1046s
이제 본격적인 프로그래밍 공부를 알아 보겠습니다.
대충 제가 보니 두가지 유형이 있는것 같습니다.
국비와 독학, 국비는 학원, Saffy, 우테코, 42Seoul, 부스트코스, 카카오브레인 등을 전부 포함해서 지칭하겠습니다.
독학은 말 그대로 혼자 공부하는 것을 말합니다.
저는 개인적으로 독학을 추천합니다. 독학하는 방법을 알아가는 것이 길게 볼때 더 큰 이득이라고 생각해서입니다.
저 국비로 통칭된 것들 중에는 분명히 독학을 장려하는 프로그램도 있을것입니다. 그런 곳에 들어가서 경제적인 어려움을
해결하는 것도 좋아보입니다. 보통 월 100만원 정도의 교육비?가 나옵니다. 저도 그렇게 생활비를 충당했습니다.
국비로 정했으면 커리큘럼을 따라가면 됩니다.
(근데, 네카라쿠배가 목표라면 비추이고, 스타트업이나 SI가 목표라면 추천합니다.)
독학에서는 무엇을 공부해야 하나:
https://okky.kr/article/314296
저는 해당 글을 믿었습니다. 저 글 밑에 네이버의 CTO 송창현 센터장님, NHN 기술 임원 등등이 직접 댓글을 다셨습니다.
해당 댓글들의 요지는 신입을 뽑을때, 프레임워크나 툴들을 잘다룰 줄 아는것이 크게 플러스가 되지 않는다는 말입니다.
또, 학벌이나 스펙, 영어점수등은 전혀 고려하지 않는 다는것입니다.
저 분들이 말씀하시는 기본기는 결국, 대학교 컴공에서 배우는 것들입니다.
대표적으로 자료구조와 알고리즘, 운영체제, 네트워크, 데이터베이스 등이 될것입니다.
저는 운이 좋게도 해당 글을 일찍 발견했고 믿고 공부를 시작했습니다.
많은 대학교 홈페이지(MIT, Stanford, 서울대, 카이스트, 등)을 돌아다니면서 해당 과목의 전공서들을 비교했습니다.
그 결과는 이렇습니다.
자료구조 알고리즘:
https://www.boostcourse.org/cs113
해당 책을 이용한 MIT강의에 자막이 달려 나오더라고요. 추천드립니다.
운영체제:
너무나 유명한 책이고 인프런이란 곳에서 공룡책 강의가 무료로 풀려있으니 이해가 안되면 강의를 먼저보고 보시는것을 추천드립니다.
공룡책이 부담스러우시면 위의 책도 너무 좋습니다. 추천드립니다.
네트워크:
이 분야는 책이 워낙 많더라고요 그냥 가장 좋아보이는 것인 이책을 사서 봤습니다.
빠르게 정리할때는
이책이 좋습니다.
데이터베이스:
딱히 열심히 공부하지 않았지만, 기본서는 읽었습니다.
저도 db는 약해서, mysql을 제대로 공부하려고 합니다.
그 외에 코딩테스트나 Java를 배우기 위해서 구매했던 책들이 엄청나게 많습니다.
Cracking the coding Interview
자바의 정석
자바 ORM 표준 JPA 프로그래밍
인프런의 김영한님 강의 전부
이펙티브 자바
이 외에도 조영호님의 객체지향의 사실과 오해, 오브젝트 등등 을 포함한 서적들을 읽었습니다.
여기까지가 제가 본 서적 정리입니다.
코딩테스트 준비:
네카라쿠배를 목표로 한다면, 혹은 어느정도 이상의 기업을 목표로 한다면, 무조건 넘어야할 산입니다.
코테를 못치면 면접의 기회도 주어지지 않기 때문에 1번으로 준비해야합니다. 못해도 하루에 3문제는 풀어야합니다.
너무나 유명한 사이트들을 추천하겠습니다.
삼성 기출로 유명한 백준입니다.
리트코드 해외기업 문제와 면접에서 물어보는 알고리즘 문제들을 풀어볼 수 있는 곳입니다.
카카오 기출 문제를 풀 수 있고, 대부분의 기업들이 해당 홈페이지를 통해 코테를 치룹니다.
익숙해질 필요가 있습니다.
저는 개인적으로
백준에서 500문제 (플레티넘 2입니다. 백준 중급강의 강추입니다!)
리트코드 250문제 (면접에서 엄청난 도움이 되었습니다.)
프로그래머스 100문제(카카오 기출과 환경에 익숙해지기 위해서 풀었습니다.)
이 정도가 되시면, 왠만한 기업의 코테는 뚫을정도의 실력이 되실겁니다.
컨디션 난조면 떨어질 수 도 있습니다.
면접:
기술면접은 위에서 기본과목을 잘 준비했기 때문에 깃허브에 면접질문 모아놓것들을 빠르게 훑으면서 공부하면,
기술면접같은 경우 통과하는데 무리가 없을 것입니다.
다만, 인성면접은 저도 잘 모르겠습니다.
축하합니다. 네카라쿠배에 도전하실 준비가 되어 있습니다.
공부법:
저는 11개월간 하루에 12~15시간을 공부에 쏟았고 주말에도 쉬지 않았습니다.
공부법은 뽀모도르 공부법을 사용했고, 구글타이머를 사용해서 20분 공부하고,
10분간 예능이나 드라마를 보며 쉬는 방식으로 했습니다. 가장 효율적이었고 스트레스도 적었습니다.
사담:
솔직히 말씀드리면, 정말 프로그래밍을 좋아하셔야 하루에 12~15시간을 온전히 쓰실 수 있습니다.
Hello Coding - 포프킴 책을 한번 해보시고, 본인에게 맞는지 아닌지 판단해주세요.
한 4시간이면 아마 전부 하실 수 있을겁니다. 그러고 해당 경험이 정말 재밌고 신나셨다면 당첨입니다.
지루하게 긴글 읽어주셔서 감사합니다
.https://www.youtube.com/watch?v=6pyuT-cEHOQ&t=5250s
깜빡했습니다. 제가 존경하는 분중에 한분인 홍정모님의 모든 강의를 추천합니다.
이번에 파이썬 강의 내신다고 하니까 그것도 강추드립니다!!
킹갓제너럴 정모홍 화이팅입니다!
아 그리고 저는 백앤드 개발을 지망했습니다. 프로그래밍에도 상당히 다양한 분야가 있습니다.
하지만, 해당 내용들은 대부분의 개발자들에게 공통되는 부분만 적었습니다.(Java나 Spring만 무시해주세요.)
'백과사전' 카테고리의 다른 글
앞으로 인류가 살아남기 위한 5가지 필수 기술. (0) | 2022.06.29 |
---|---|
모든 코인이 앞으로 더 떨어지는 이유 (0) | 2022.06.02 |
십대 자식한테 하면 안되는 말 (1) | 2022.05.23 |
10만원 이하 간단한 애기 선물 추천 (0) | 2022.05.20 |
내 가슴을 울렸던 시(詩) 모음 (0) | 2022.05.18 |