처음 프로그래밍을 시작한다면 무엇을 어떻게 시작해야 할지 몰라 먼저 학원부터 찾는 사람들이 많다.
개인적인 생각으론 프로그래밍을 배우는 데 있어 굳이 학원을 갈 필요가 없다고 생각한다. 우리에겐 구글과 유튜브 그리고 커뮤니티들이 있기 때문에 충분히 혼자서 할 수 있다.
그래서 오늘은 처음 프로그래밍을 하는 사람들에게 내가 추천하는 모든 것을 정리해보려 한다.
기초
먼저 다양한 분야에 대한 강의가 있는 사이트들을 정리하려고 한다.
솔직히 모든 것을 통틀어 Youtube가 가장 자료가 많고 좋은 것 같다. 하지만 이번 글에선 Youtube를 제외한 다른 곳을 추천해보겠다.
1. 생활코딩
한국에서 프로그래밍을 배우는 사람, 현직 개발자도 모두 알만한 사이트이다.
내가 개발을 하는 데 있어 가장 큰 도움이 되었고 가장 큰 커뮤니티 중 하나이다.
나는 주로 HTML, CSS, Javascript를 배울 때 많이 참고했다.
그 외에 PHP, Java 등 다양한 언어도 있고 전산 등 다양한 강의가 있으니 꼭 들어가 보는 걸 추천한다.
2. 인프런
프로그래밍뿐만 아니라 다양한 강의가 있는 사이트이다. 유료, 무료 강의가 있다.
정말 다양한 분야와 난이도별로 나누어진 강의도 있다.
주로 안드로이드, IOS 개발을 시작할 때 많이 찾았고 새로운 것에 대한 기초를 배울 때 많이 찾아본다.
3. 노마드 코더
니꼴라스 선생님의 감칠맛 나는 욕을 들으며 배울 수 있다. 강의가 유로인 것도 있고 무료인 것도 있다. 내가 처음 배울 땐
강의를 돈 주고 할 정도로 많지 않아서 그냥 노마드 코더 유튜브에서 무료로 올라온 강의를 듣고 했다.
개발 강의 외에 다양한 개발 지식, 개발자 인터뷰 등이 재미있게 올라와 챙겨보면 도움될 것이다.
그 외에 Udemy, 코드 잇 등이 있지만 사용해 본 적은 없지만 한 번씩 꼭 들어가 보는 걸 추천한다.
그리고 이러한 사이트들을 EBS 인강 보듯 하나만 보지 않아도 된다. 나 같은 경우 인프런에서 Swift 기초 문법을 조금 배우고 바로 노마드 코더 SwiftUI 강의를 들으며 공부했다. 만약 강의를 듣다가 질린다면 다른 곳도 찾아보는 게 좋다.
목표 설정
나는 주변에 친구들에게 코딩을 많이 알려줬다.
중간에 포기하는 친구들도, 계속하는 친구들도 있다. 보통 포기하는 친구들이 포기하는 이유는 목표가 없어서였다.
그래서 나는 항상 알려주기 전 뭘 만들어 보고 싶냐고 물어보고 그에 맞는 공부 방향을 잡아준다.
내가 추천하는 건 두 가지다.
1. Android
2. IOS
3. WEB
내 경험상 가장 접근하기 쉽고 보여주기도 쉽고 자랑하기도 쉬운 3가지이다. 거의 대부분의 사람들이 앱을 사용하고
매일 네이버와 같은 웹을 본다. 그만큼 참고할만한 레퍼런스도 많고 무언가를 만들고 자랑하기도 쉽다.
당장 진로를 정하라는 것은 아니다. 그냥 단순히 프로그래밍에 대한 흥미를 잃지 않기 위해 정하는 것뿐이다.
만약 이 중 하나라도 한다면 아마 프로그래밍에 있어 당신이 원하는 것을 어렵지 않게 시작할 수 있을 것이다.
내가 추천한 분야별 공부 방향을 간단히 정리하자면
Android
- Java or Kotlin
안드로이드는 이전엔 Java로 요즘은 Kotlin이라는 언어로 개발한다. 이에 대한 설명은 이 글의 주제에서 벗어나기 때문에 따로 찾아보면 될 것 같다. 나는 Kotlin을 배우는 것을 추천하고 강좌는 인프런에서 찾아보는 것을 추천한다.
IOS
- Swift
IOS는 Objective - C, Swift를 통해 개발한다. 이 둘을 섞어 쓰는 경우가 많지만 처음 시작하는 사람들은 Swift를 배우는 것을 추천한다.
이 또한 인프런에서 강좌를 찾아보는 것을 추천한다.
하나 주의할 점은 IOS 개발은 macOS에서만 가능하다. 만약 맥이 없다면 안드로이드 개발을 해보는 것을 추천한다.
나 같은 경우 폰은 iPhone인데 맥이 없어 안드로이드를 시작하고 최근에야 맥이 생겨 IOS 개발을 시작했다.
Android, IOS 둘 다 각 프로그램에서 시뮬레이터를 지원하기 때문에 꼭 맞는 OS의 폰이 필요한 건 아니지만 공기계라도 있는 게 좋다.
WEB
- HTML
- CSS
- Javascript
배울게 가장 많이 보이지만 Javascript만 제외한 HTML, CSS는 정말 쉽다. 작성한 대로 바로바로 보이니까 초심자에겐 재미있다.
많은 사람들이 처음에 WEB으로 시작했다고 들었고 그만큼 레퍼런스 또한 정말 많다. AOS와 IOS 모두 개발할 수 있는 React-Native란 것이 있는데 이 또한 Javascript를 알아야 할 수 있고 Javascript를 통해 할 수 있는 게 많기 때문에 배워도 손해 볼 건 없다.
커뮤니티
1. 생활코딩 페이스북
앞서 언급된 생활코딩의 페이스북 그룹이다. 나는 생활코딩 사이트보다 이 그룹에서 더 많이 도움을 받았다.
가입한 지 몇 년이 지났는데 그룹에 올라오는 글들을 눈으로 대충 보기만 해도 뭔가 도움이 된다.
개발, 취업, 포트폴리오, 진학 등 가입해서 손해 볼 건 없는 것 같다. 혼자 개발하는 데 있어 가장 힘든 점 중 하나는 질문할 곳이 없는 것이다. 처음에는 겨우 이런 질문을 해도 될까라고 생각이 들어 그룹에 질문을 올리는 것이 두려울 수 있지만 예의 있게만 글을 올린다면 모두 친절하게 대답해주신다.
종종 채용도 올라오기에 관심 있게 봐보면 좋을 것이다.
3년간 여러 질문을 올렸는데 질문을 명확하게 적는다면 답은 웬만하면 얻을 수 있을 것이다.
2. 코딩이랑 무관합니다만,
코딩이랑 무관한 IT계의 이슈, 기사 혹은 질문들이 올라온다.
마찬가지로 가입하고 그냥 글만 봐도 도움이 조금씩 된다. 종종 올라오는 공대 드립 또한 볼만하다.
이러한 커뮤니티 활동에서 가장 중요한 건 예의이다. 그리고 질문을 올렸다면 그 글은 지우지 말자.
후에 다른 사람이 같는 걸 모를 때 당신의 글을 보고 해결할 수 있다.
행사 정보
다른 쪽은 잘 모르지만 IT 쪽은 행사가 많이 활성화된 것 같다.
이러한 행사의 장점은 새로운 기술, 정보를 빠르게 접할 수 있고 새로운 사람들을 만날 수 있는 것이다.
검색만으로는 부족한 것을 이러한 행사로 채울 수 있기에 관심이 있다면 꼭 한번 참석해보는 것을 추천한다.
1. Festa
세미나, 밋업, 헤커톤 등 행사들이 올라온다. 주로 IT 쪽에 관련된 게 많이 올라오는데 다른 분야도 종종 올라온다.
네임드인 행사는 금방 마감되기 때문에 심심하면 들어가 본다.
내가 Festa로 갔던 행사들이다. 요즘 코로나 때문에 행사가 올라오진 않지만 한번 들어가 보면 도움될 것이다.
2. 이벤터스
여기도 정말 많은 행사가 올라오는데 여기는 IT를 포함한 다른 행사도 엄청 올라온다. Festa이름이 마음에 들어 이벤터스를 잘 가진 않는데 참고하면 도움될 것이다.
해커톤
역시 단기간에 실력을 늘리는 건 직접 하는 것이다. 보통 해커톤이라는 걸 처음 들으면 해킹대회인 줄 아는데 보통은
자유주제 혹은 정해진 주제를 가지고 개발을 하는 것이다. 각 팀별로 개발자, 디자이너, 기획자를 구성하여 보통은 무박 2일 길면 2-3일 동안 하는 해커톤도 있다. 해커톤마다 다르지만 팀은 신청 전에 구성할 수도, 해커톤 당일날 해커톤 장소에서 팀빌딩을 할 수도 있다. 밤샘 개발을 하며 친구들 혹은 처음 보는 사람들과 웃고 고민하고 이야기하며 개발하는 게 정말
재미있고 실력 상승에 큰 도움이 되기에 꼭 참여했으면 좋겠다.
해커톤을 하는데 나도 그렇고 큰 두려움은 내 실력으로 뭘 할 수 있을까?라는 생각이 들것이다.
내가 간 해커톤은 경험상 웹, 앱을 개발한다. 만약 본인이 웹도 한 번도 안 해보고 앱도 한 번도 안 해보고 서버조차 건들 줄 모른다면 혼자서는 안 나가는 것을 추천한다. (친구들이랑 해보는 건 추천한다.)
나 같은 경우 정말 자바 기초만 때고 해커톤이 뭐지 하면서 고1 때 해커톤을 처음 참여했다. 운 좋게 생활코딩 그룹에서
상담을 해주신 분을 만나 그분들의 지인과 팀빌딩을 하고 무박 2일 동안 아무것도 못하며 해커톤이 끝났다.
그러면 어느 정도 실력이 여야지 혼자서 할 수 있느냐 라고 물어본다면 지극히 개인적인 생각으로는 웹이던 앱이던
Todo List 정도 만들 수 있다면 해봐도 좋을 것이다.
마지막으로
하고 싶은 말이 너무 많아 정리가 잘 안된 것 같다. 하지만 위에 올린 링크들은 한 번씩 꼭 들어가 봤으면 한다.
프로그래밍을 공부하는 것은 정말 어렵지만 어느 정도만 한다면 내가 만들고 싶은걸 직접 만들 수도 있고 생각하는 방법도 달라지는 것 같다.
이 글을 보는 프로그래밍 초심자들은 꼭 성공하길 빌겠다!