바야흐로 개발자, 프로그래머의 전성시대이다. 거의 모든 기업에서 IT 기술을 갖추고 있는 인재들을 채용하고 있고, 고액 연봉, 스톡 옵션, 각종 복지 혜택 등을 제시하며 서로 먼저 좋은 인력들을 차지하려고 노력중이다. 이런 시대 흐름에서 나는 운이 좋게도 2020년 12월에 안드로이드 앱 개발자로 취업을 하게 되었다.
아직 한참 부족한 개발자이지만, 컴퓨터 공학과가 아닌 타학과 출신에서 어떻게 안드로이드 개발자까지 이를 수 있었는지에 대한 과정이나, 프로그래밍을 공부할때 도움이 되었던 내용들을 정리해두면 이 길을 걷고자 하는 다른 사람들에게 조금의 도움이라도 되지 않을까 하는 마음에서 포스팅을 해보고자 한다.
프로그래밍, 개발에 흥미를 느끼던 초기
나는 원래 컴퓨터공학을 처음부터 공부하던 사람이 아니었다. 항공-조선-산업 공학부에 다니던 대학교 1학년 시절 나름의 많은 방황을 했었고, 학점은 1점대...를 기록하던 대학생이었다. 도피성 입대를 하고, 제대 후 망가진 학점을 복구하기 위해서 복학을 하기전에 내가 가장 어렵다고 느꼈던 프로그래밍 과목인 C 언어를 미리 공부해보고 가자라는 마음에 프로그래밍 공부를 시작했다.
그런데 이 C 언어 공부가 너무 재미있었다. 아주 보잘것 없지만 내가 무언가(프로그램)를 생산하고, 창조해내고 있다라는 뿌듯함을 느끼게 해주었다. 내가 먼저 능동적으로 찾아서 공부 하게 되는 최초의 경험이었던것 같다. 이때 C 언어를 공부하면서 보았던 책이 윤성우의 열혈 C 프로그래밍, 열혈 C++ 프로그래밍 이다.
윤성우의 열혈 C 프로그래밍 - YES24
2003년도에 출간된 윤성우 저 「열혈강의 C 프로그래밍」의 개정판이다. 출간 이후 가장 많은 독자들이 선택해온 C언어 기본서로서 그 자리를 계속해서 이어가기에 부족함이 없도록 개정되었다.
www.yes24.com
윤성우의 열혈 C++ 프로그래밍 - YES24
2004년도에 출간된 윤성우 저자 「열혈강의 C++ 프로그래밍」의 개정판이다. C언어를 이해하고 있는 독자들을 대상으로 한 C++ 기본서로서, 초보자에게 적절한 설명과 예제를 통해서 C++ 학습에 재
www.yes24.com
사실 이 책은 C 언어 프로그래밍 입문서로 꽤 유명한 책이다. 이 책의 장점은 책을 사면 저자가 직접 찍은 강의를 무료로 수강할 수 있는 수강권을 준다는 점, 입문서답게 프로그래밍을 많이 접해보지 않은 사람들에게 친절한 설명을 제공하고 있다는 점이다. 지금은 다른 좋은 책들이 나왔을지도 모르지만 C 언어로 프로그래밍을 공부해보고 싶은 사람이 있다면 이 책을 추천해줄 수 있을 것 같다.
그런데 지금 생각해보면 책만 보면서 프로그래밍을 공부하는 것은 아주 비효율적인 것 같다. 대부분의 프로그래밍 언어 책들은 각 언어의 문법을 설명하고 있는데, 영문법을 달달 외우고 있다고 해서 외국인과 유창하게 대화할 수 있는 것은 아닌것처럼, 프로그래밍 문법을 잘 안다고 해서 프로그램을 만들 수 있는 것은 아니기 때문이다.
실제로 직접 재밌는 프로그램을 뚝딱 뚝딱 만들어가며 흥미도 느끼고 배운것도 적용하면서 개발을 익혀야 한다. 하지만 (내 기준에) C 언어로 무엇인가 재미있는 프로그램을 만들기는 좀 어려운것 같다. 프로그래밍 공부를 이제 막 시작한 사람에 입장에서는 프로그램하면 카카오톡이나 파워포인트처럼 화면을 통해서 사용자 보여지고 상호작용 하는 것들을 떠올리기 쉽다. 보통 C나 C++ 언어를 통해서 이런 프로그램을 만들려면 윈도우 운영체제에서는 Win32 api, Visual C++ 와 같은 라이브러리를 공부해야 하는데, 책이나 강좌도 별로 없고 다른 분야에 비해서 조금 인기가 떨어지는 것 같아 초보 학습자에게는 추천하지 않을 것 같다.
나는 대신 웹 개발이라는 분야를 먼저 공부해볼 것을 추천한다. 현재 가장 많은 채용이 이루어지는 분야이기도 하고, 초보 학습자가 눈에 보이는 무엇인가를 뚝딱 뚝딱 만들어보면서 프로그래밍에 흥미를 느끼고 적응하기까지의 과정을 무료로 알려주는 사이트가 있기 때문이다. 이 사이트는 알만한 사람들은 다 아는 생활코딩 이다.
생활코딩
hello world 생활코딩의 세계에 오신 것을 환영합니다. 생활코딩은 일반인들에게 프로그래밍을 알려주는 무료 온라인, 오프라인 수업입니다. 어떻게 공부할 것인가를 생각해보기 전에 왜 프로그
opentutorials.org
이 사이트에서는 이고잉이라는분께서 일반인들을 대상으로 웹(Web) 이라는 개발 분야의 기초 지식들을 무료로 알려주고 있다. 특유의 나긋나긋한 목소리(거의 개발 분야의 밥 로스...)로 개발 입문자들의 눈높이에서 차근 차근 알려주는 강의를 따라가다 보면 어느샌가 나만의 웹 사이트를 만들게 된다.
이렇게 프로그래밍의 기초 지식을 익히고, 내가 무엇인가를 만들 수 있다는 자신감을 먼저 키운 뒤에 운영체제나 자료 구조, 다른 프로그래밍 언어와 같은 학문적인 내용을 배우는 것이 학습자가 흥미를 잃지 않고 꾸준히 개발을 공부할 수 있는 과정이 아닐까 생각한다.
이번 글에서는 내가 어떻게 프로그래밍을 처음 접하게 되었는지, 어떻게 나만의 프로그램을 만들면서 흥미를 키울 수 있었는지 소개해보았다. 다음 글에서는 본격적으로 컴퓨터 공학과로 전과하고 공부해나갔는지를 소개해보고자 한다.
- C나 C++ 언어를 먼저 공부하는 것이 꼭 나쁜것은 아니다. 이 언어를 공부하면 컴퓨터 메모리 구조나 운영체제의 기초적인 내용도 같이 학습할 수 있기 때문에 다른 쉬운 언어를 공부할때는 얻을 수 없는 지식들을 습득할 수 있게 된다. 이 지식들은 내가 다음 글에서 소개할 컴퓨터 공학을 공부하던 과정에서 피가되고 살이되는 역할을 해주었다. 다만 이제 막 프로그래밍을 시작한 사람들에게는 지루하고 학습 곡선도 높을 수 있기 때문에 중도에 포기하게 될 우려가 있다.
- C나 C++ 로 재미있는 프로그램을 못 만드는 것도 아니다. Win32 api, Visual C++ 와 같은 전문적은 윈도우 프로그래밍 툴을 사용하지 않아도, 콘솔에서 펼쳐지는 고전 게임을 만들어 볼 수도 있다. 아래 사이트는 김상형님이 관리하시는 사이트인데 C언어 강좌의 C 고급 파트 14장을 보면 콘솔에서 재미있는 게임을 만드는 방법을 배워볼 수도 있다.
SoEn:소프트웨어 공학 연구소
soen.kr
나도 위 사이트의 게임들을 응용해보며 뱀 게임을 만들어 본적이 있다. ㅋㅋ
LinkedList를 이용한 Snake(뱀게임) 만들기 3일차 - C
Main.c 123456789101112131415161718192021222324252627#include #include <windows.h...< p=""> </windows.h...<>
blog.naver.com
'천복만복 프로그래밍' 카테고리의 다른 글
파이썬 가상환경 간단 메모 (0) | 2025.03.14 |
---|---|
[VS Code] 자주 쓰는 단축키 모음 (Mac 기준) (0) | 2024.11.07 |
원격(Github)에 이미 올라간 파일 ignore 처리하는 방법 (0) | 2023.08.19 |
젠킨스 강의 실습 오류 로그 정리 (0) | 2023.03.12 |
Mac 에서 소스트리에 설정된 깃헙 로그인 정보 삭제하기 (0) | 2021.09.24 |