오늘날 프로그래밍은 가장 인기있는 기술 중 하나입니다. 실제로, "소프트웨어 엔지니어"는 업계에서 가장 많은 수요를 자랑하는 직업이기도 합니다.
프로그래밍을 공부하는 과정은 어려워보일 수 있습니다. 이는 종종 잘못된 방식으로 프로그래밍을 배우려 하기 때문인데요. 사람들은 복잡한 프로그램을 만들고 싶어합니다. 기본적인 지식도 없으면서 말입니다. 저도 그랬어요. 대학에서 안드로이드 워크숍에 참여했는데, 당시에는 자바의 기초도 모르던 때였습니다. 당연히 대부분을 이해하지 못했죠. 아마도 비슷한 경험을 하신 분들이 많을 거라 생각합니다. 그리고는 프로그래밍이 어렵다고 생각하셨겠죠.
그래서 훨씬 덜 좌절스러운 방식으로, 아니, 재밌는 방식으로 프로그래밍을 배울 수 있는 방식을 소개해 드리려 합니다! 아래의 방법들을 제대로 실천하신다면, 프로그래밍을 배우는 과정은 즐거울 수 있습니다!
(이 글은https://hackr.io/blog/how-to-learn-programming를 번역 및 정리한 것입니다.)
프로그래밍 어떻게 배울까?
이번 글에서는 프로그래밍을 배우는 적절한 방법에 대해 이야기 할 것입니다. 구직자나 학생들에게 적합한 글이 될 것 같아요.
1. 프로그래밍 언어에 익숙해지기
프로그래밍을 배우는 첫 번째 단계는 프로그래밍 언어에 익숙해지는 것입니다. 보통 C, C++, 자바, 파이썬 등으로 시작하죠. 저는 C++를 선호하는데 (파이썬처럼) 지나치게 간단하지도, 라이브러이 측면에서 (C처럼) 부족하지도 않기 때문입니다. C++는 무척 빠르며, 정말 좋은 라이브러리가 많이 있거든요! 또한, C++은 경쟁력 있는 프로그래밍을 위해서도 좋은데, 무척 빠르며 표준 템플릿 라이브러리(STL)를 지원하기 때문입니다. 첫 번째 언어를 고르는 건 여러분의 관심사와 목표에 전적으로 달려있습니다. 프론트엔드, 백엔드, 모바일 앱 개발, 게임 개발, 데이터 사이언스 등 선택할 수 있는 분야가 많죠.
우선은 구문, 데이터 유형, 변수, 루프, 배열과 같은 기초를 배우며 프로그래밍을 시작할 수 있습니다. 간단한 문제들을 풀며 기본 개념들에 익숙해져 보시기 바랍니다.
2. 데이터 구조와 알고리즘 배우기
특정 언어에 익숙해졌다면 이제 데이터 구조와 알고리즘을 배워야 하는데요. 데이터 구조와 알고리즘을 통해 프로그래밍에 필요한 올바른 태도를 기를 수 있습니다. 데이터 구조를 알고 있으면, 문제에 대한 올바른 해결책을 선택할 수 있습니다. 알고리즘에 대해 배우면 많은 라이브러리 함수의 작동 방식에 대해 알 수 있습니다.
알고리즘을 공부할 수 있는 온라인 코스가 많이 있는데요. 이러한 데이터 구조와 알고리즘 구현에 대해 생각해 보는 것이 좋습니다. 그래야 이에 익숙해질 수 있거든요. 결국에는 라이브러리 함수를 사용할 것이니, 이들을 배우는 것이 그리 중요하지 않다고 생각하실 수 있는데요. 이는 잘못된 편견입니다.
3. 프로그래밍 경쟁 대회에 참여하기
데이터 구조와 알고리즘에 배웠다면, SPOJ, Codechef, Codeforces, Topcoder, Hackerrank, Geeksforgeeks 등에서 문제를 풀어보셔야 합니다. 더 많은 문제를 풀수록, 실력이 더 좋아질 거에요. 난이도를 따라 문제를 푸는 게 좋습니다. 대략 100여 개의 문제들을 풀었다면, 이제 프로그래밍 스킬에 자신감을 가질 수 있을 것입니다.
문제를 풀고, 해결책을 코딩하는 데 익숙해졌다면, 다양한 온라인 프로그래밍 대회에 참여할 수 있습니다. 이를 통해 여러분의 프로그래밍 기술이 크게 향상될 수 있을 거에요.
4. 프로젝트 만들기
이제 문제를 해결하는 프로그래밍 스킬을 어느 정도 갖췄으니, 유용한 애플리케이션을 만들어 볼 차례입니다. 잘 알려진 웹 개발 프레임워크((Django, Flask, Ruby on Rails, etc.)들을 선택해 프로젝트를 시작할 수 있습니다. 애플리케이션을 만드는 일은 실제 소프트웨어 개발자 같은 느낌을 들게 할 것이고, 실제로 프로그래머들이 하는 일이기도 하죠.
몇 가지 웹 개발 프로젝트를 완료했다면, 이를 안드로이드나 iOS 개발로도 확장해 볼 수 도 있습니다. 스스소에게 한계를 두지 말고, 뭐든지 도전해 보세요!
5. 탐색하기
자신의 프로그래밍 스킬에 자신감이 생겼고, 몇 가지 프로젝트도 완성해봤다면 이제 다양한 컴퓨터 과학의 분야들을 살펴보고 무엇이 가장 흥미를 끄는지 탐색해 볼 차례입니다.
컴퓨터 과학은 광범위하고 깊이 있는 학문으로 많은 하위 분야가 존재합니다. 인기있는 분야로는 인공 지능, 머신 러닝, 암호학, 클라우드 컴퓨팅, 시스템 프로그래밍, 컴퓨터 비전, 자연어 처리, 블록체인, 가상 현실, 웹 개발, 모바일 앱 개발 등이 있습니다. 가능한 많은 분야를 탐색해보고, 관심사를 탐색해 보세요.
오늘날에는 위에서 언급한 분야를 공부할 수 있는 온라인 자료들이 정말 많습니다. 그러나 정보가 너무 많아서 탈인데요. 초보자들이 선택할 수 있는 선택지가 많으니까요. 관심사가 무엇이든, 프로그래밍 커뮤니티가 추천한 최고의 언어/프레임워크를 Hackr.io에서 배울 수 있습니다. 또한 오프라인의 책도 살펴보시기 바랍니다.
무언가를 학습했다면, 관련된 프로젝트를 시도해보세요. 프로젝트는 학습한 개념들을 제대로 익히는 데 도움이 됩니다. 또한, 이력서를 만드는 데도 도움이 되고요.
마치며
이번 글에서는 프로그래밍을 어떻게 배울지에 대해 알아봤는데요. 저는 이렇게 배웠습니다. 이 글을 읽고 계신 걸 보니 진지하게 프로그래밍을 배우고 싶어하시는 거 같아요. 잘 생각하셨어요! 글이 도움이 됐기를 바랍니다.
'개발 > Articles' 카테고리의 다른 글
효과적인 개발 공부 방법 (초보 개발자) (0) | 2022.12.19 |
---|---|
성공적인 사이드 프로젝트 시작을 위한 3가지 팁 (0) | 2022.08.07 |
웹 개발자란 무엇이며 어떤 일을 할까요? (번역) (0) | 2020.09.29 |