프로그래밍 능력을 향상시키는 방법이 없을까요?

sealwood의 이미지

안녕하세요. 저는 컴퓨터공학과에 재학중인 대학생입니다.

이 사이트에 현직 개발자 분들이 많이 활동하시기에 학부 생활을 하면서 오는 질문을 물어보려 합니다.

대학 생활을 하면서, 공모전이나 작품 (예를 들어 졸업 작품) 등을 프로그래밍을 하게 됩니다. 저 같은 경우에는 다음과 같은 과정을 거쳐 프로그래밍을 진행합니다.
1. 주제 및 동작 환경 설정
2. 주제를 구현할 프로그래밍 언어 설정 및 UI 개발 언어 설정
3. 주제의 핵심적인 내용 구현 및 UI 구현.

그러나, 프로그래밍을 하면 할 수록, 프로그래밍 언어 입문서 및 개발서에 있는 예제를 뛰어넘는 레벨의 개발을 잘 하지 못하는 것을 많이 느낍니다.

예를 들어 기술적인 주제를 잡고 프로그래밍을 하면, 시스템 내부의 정보를 얻어오기 위한 함수 모듈을 구글 검색을 통해 얻은 소스를 바탕으로, 필요한 정도의 수정 후 제가 제작한 UI에 통합하는 정도에 불과한 실정입니다. 핵심 기능을 검색 결과를 바탕으로 제작하고, 부차적인 부분을 제가 작성하여 제가 프로그래밍을 못하는 것인가? 핵심적인 프로그래밍을 할 수 없는 것인가?와 같은 느낌도 듭니다.

프로그래밍을 하는 동안, 반복 되는 부분을 모듈화 하는 정도만 개념을 잡고, 나머지는 소스가 너무 조잡하게 느끼집니다.(특히 그래프 쪽 소스는 너무 조잡하여 한숨이 나오는 지경입니다.). 분명히 여러가지 기술들을 학습함에도 개발할 때는 그 내용들이 텅 비어있고, 나중에 작성을 완료하면 한숨나오는 경우가 많습니다.

이러한 고민에서, 아직 제가 프로그래밍 능력이 부족하다는 것을 많이 느낍니다. 현직 개발자분들은 어떻게 프로그래밍 능력을 향상 시켰는지, 새로운 분야의 학습을 어떻게 진행하는지 궁금합니다.

짧은 글 읽어주셔서 감사합니다.

shint의 이미지

프로그래밍 능력을 키우는것보다도. 이제 필요가 없어질지도 모릅니다.
자동차도 이미 자동주행이 완성되어 갑니다.
윈도우 10 에는 인공지능 비서 Cortana 가 등장했습니다. 클라우드와 슈퍼 컴퓨터에서는 이미 완성 되었을지도 모릅니다.
저희가 어렸을적에는 가젯트 형사나. 인공지능 맥스'라는 방송도 나오고.
사이버 가수 아담.등도 나오곤 했었으니. 가능할 수 도 있을겁니다.
각 대학에서도 인공지능 프로그램과 음성인식. 영상처리. 등을 개발한지 꽤 됐을겁니다.

많은 언어와 라이브러리가 존재하기 때문에. 호환이 된다면. TEXT 만으로도 구현이 가능하게 될겁니다.
스크래치 프로그래밍 처럼요.
단순히. 배치파일의 실행'만으로도 많은 제어가 가능합니다.

언젠가는 프로그래밍 언어를 몰라도. 프로그램 개발이 가능하게 될겁니다.
저희가 알고 있는 CPU 가 아니더라도. 다른 연산 처리 시스템이 등장하게 될겁니다.

- 자신만에 운영체재를 만들어서. 독재를 하실건가요
- 인공지능 로봇 사회를 만들까요?
- 자동화 사회를 만들까요?
- 전세계 사람들과 운영체재를 만들까요?
- 무섭지만. 전자 뇌 인간'이 되는 내용도 자주 보이곤 합니다.

농작물도 비슷하죠.
- 기계로 농사 지으실건가요?
- 로봇으로 농사 지으실건가요?
- 자연에서 키우실건가요?

가수도 그렇죠.
노래에 가수를 맞출것인가. 가수에 노래를 맞출것인가?

그냥 하시려면.
책을 많이 사거나 찾아서. 예제를 보셔도 되구요.
여러사람이 모여서 만들면 수월 하겠죠.
오픈소스. 강의. SDK. 등을 보셔도 되구요.
도서관. 서점. 세미나. 축제. 대회. 카페. 동아리. 대학. 전문대. 직업학교. 학원. 기업. 등을 방문해 보셔도 되구요.
돈을 주고 완성된 제품을 구입하셔도 되구요. 기업에 입사하셔도 되구요.
구글. 다음. 네이버. 데브피아. KLDP. OLC. 코드프로젝트. 코드구루. 등도 찾아보시면 좋구요.

프로젝트 일정표. 상속 구조도 생성기. 유틸리티. 좋은 컴퓨터. 책상. 의자. 책. 교육. 다 중요합니다.
젤 잘하는 사람에게 배우면서. 여럿이 같이 하면. 젤 잘해요.
그렇다면. 프로그래머에 능력이라는건. 랩을 잘하는건가 ㅡ_ㅡ?? 아닌거 같은데...
그냥. 횡설 수설 적어봤습니다. ㅇ_ㅇ;;

SKT, 음성 기반 인공지능 비서 ‘누구’ 출시 - 사물인터넷
http://www.bloter.net/archives/262610

3D 가상현실. 증강현실. 홀로그램. 영상처리. 음성처리. 체육과학. 천문 해양해저. 전통 유산. 의복. 우주과학. 에너지. 문화예술. 취미생활... 프로그래밍 언어도 수십가지예요. 배울것도. 할것도 많습니다.

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

Rubypops의 이미지

인공지능이 다 처리해 줄껍니다.

루비를 공부하고 사랑하는 프로그래머

darklycos의 이미지

저는 C/C++ Fortran 개발경력 4년정도 되는데, 결국엔 많이 짜보고 많이 엎고 많이 보는게 답인것 같습니다. 보통 개발하면서 고생하면 왜 삽질하냐는 사람들 많은데 그걸 배우고 자기 능력 향상하는것이라고 생각하고 하고 하다보면 정말 많이 배우더라구요.
핵심프로그램이 있다면 완전히 머리속에서 다 정리가 되어 자기것으로 만들정도로 이론 공부하고 일단 해보세요. 그것이 삽질이라고 생각하지 마시고 만들고 부수고 모자란것은 오픈소스 보면서 배우고 하다보면 어느새 그 오픈소스를 만든사람만큼의 레벨로 성장한 자신을 보게 될겁니다. 실상 오픈소스 개발자들도 처음부터 크게 능력이 대단하거나 한 것은 아니었습니다. 또 그들을 대단하다고 하는 건 처음부터 시작한 뚝심과 포기하지 않고 지금까지 개발을 이어온 끈기 때문이라고 생각합니다. 처음부터 그들이 그만큼의 능력자는 아니었습니다. 차근차근 시작해보세요 ^^

bus710의 이미지

필요할 때만 찾아쓰는게 아니라,
수준 높은 코드를 계속 읽어가면서 자신의 안목을 높이는게 상당히 중요한 것 같습니다.

life is only one time