프로그래밍 학습 조언좀 부탁드립니다.
안녕하세요?
항상 눈팅만 하다가 선배님들께 조심스럽게 조언 부탁 드립니다.
c/c++ 관련 서적도 몇권 보았고..
그때 즈음 슬슬 윈도우로 전향을 하고 있던 터라.. vc++ 책도 보고 api 책도 조금 보았습니다.
스스로 공부를 하다가 느낀건.. 대부분의 언어서적이 문법에만 치중되어 있더군요.. 처음 생각한게 언어 관련 서적만 보면 뭔가 만들수 있을거란 생각을 가지고 있었는데.. 다 보고 난 후에 개인 프로젝트를 해보려고 하다 번번히 실패만 거듭했습니다.
제가 너무 처음부터 높은 대상으로 잡은것도 이유이겠지만..
대략적이나마 설계를 했어야 하는데 그렇게 하지 않고 무작정 키보드만 부여잡고 생각만 했기 때문인듯 합니다.
그러다 사정상 대학을 그만두고 군에 가게 되었습니다.
다녔던 대학은 문과 였습니다.
군에 다녀온지는 이제 1년차 이구요..
솔직히 너무 늦진 않았나 하는.. 두려움도 조금은 있고.. 공부 과정을 스스로 생각해야되고 정해야 되다보니 경험이 없는 저에겐 상당히 힘이 듭니다.
꼭 개발자가 되고싶고.. 그렇게 되지 못한다고 하더라도 취미 생활로써 공개 프로그램 개발자가 되고 싶습니다. 요즘은 닷넷이다 뭐다.. 새로운 기술이 쏟아져 나오는데.. 제가 생각할때.. 기본을 알고 있으면 어떤 신기술이 나왔을때 빠르게 대처 할 수 있는 능력이 생길꺼라고 굳게 믿고 있습니다.
관심있는 분야는 시스템분야이고.. 이쪽방면도.. 임베디드가 있고.. 여러가지 제가 알지 못하는 것들이 많을꺼라 생각됩니다. 해보지 않고 미리부터 무엇을 하고싶다는 생각을 할 순 없는 것 같습니다.
더불어 리버스 엔지니어링에도 관심을 많이 가지고 있습니다.
그래서 일단 어셈블리 부터 공부를 하고 c/c++ 을 다시 공부를 한 후 객체지향 이론을 공부하고 설계를 공부 하려고 마음을 먹고 있습니다. 앞에 나열한 것들을 공부하면서 자료구조와 알고리즘은 빠르게 훍어 버리고 필요할때 찾아보는 방법으로 공부를 하고자 생각을 가지고 있습니다.
일반 대학을 2006 학년도 수능을 봐서 가고자 했으나 집안 형편상 어려울듯 해서 가능하면 무슨 일이든 해서 돈을 벌며 사이버 대학에 등록하여 소프트웨어 공학의 커리큘럼을 밟아 보고싶어서 신중히 생각을 하고 있습니다.
제가 마음먹은 방법대로 공부를 한다면 처음부터 이론만 죽어라 공부를 해야되는 상황인데.. 그렇게 되면 자칫 흥미를 잃어버릴수도 있을듯 하여 공부를하면서 조그만한 프로젝트를 어떤 식으로 해 나가야 할지 조언좀 부탁드립니다.
더불어.. 코딩보다 설계가 정말 중요하고.. 설계를 제대로 하지 못하면 객체지향은 그림의 떡이라는걸 어느정도 느껴 보았습니다.
제가 너무 처음부터 너무 많은것을 완벽히 하려고 하는 것일까요? 처음엔 그냥 무작정 달겨들어서 해당 기능을 만들어 버리면 되는건지.. 그렇지 않다면.. 어느정도 프로그래밍에 알았을때 서서히 해 나가야되는건지..
말을 쓰다보니 너무 길어져 버렸습니다.
읽어주신 분들 정말 진심으로 감사드립니다.
조금만 시간 내어 주셔서.. 조언 부탁드립니다.
오늘 하루도 행복한 하루 되시길 진심으로 바라겠습니다.~
처음 부터 무언가 해야 한다는 압박감을 갖는건...처음... 초보 시
처음 부터 무언가 해야 한다는 압박감을 갖는건...
처음... 초보 시절에 가지기 쉬운 생각입니다.
뭘해야 될지 모르기 때문에 몰려 오는 압박감.
뭘 하긴 해야 하는데...
뭔 가 하고 싶은걸 정했는데...
어느 정도의 바운더리 내에서 마무리 지을지 ? ...
이 모든게 쉽게 결정하고 정하기 어려운 문제입니다.
이모든게 정보의 부제에서 비릇한 것(성격상 그럴수도 있습니다.ㅋㅋ)인데...
일단은 할려는 프로젝트가 있다면 필요한 정보를 수집하고, 정확히 할 내용을 기술 하세요.
그 다음에 어떤 알고리즘을 사용하고 어떤 언어를 사용하고... 결정을 할 수가 있습니다.
이 과정에서 또 다시 앞에서 다시 검토를 해야 하는 경우도 있습니다.
이것도 다반사로 일어 날 수 있는 일이니 별로 문제가 아닐 것입니다.
이런 후에 설계가 완성되면, 언제까지 완성 할지 일정을 짜서 일정에 맞추어 나가도록 하세요.
이렇게 데드라인이 되면은 ...
완성이든 미완성이든 1차 릴리즈를 합니다(이때 버젼을 적당히 붙혀 자신만 소장 하든지 아니면 주변에 돌려 보세요 ^^;).
여기서 미흡한 부분은 2차 릴리즈 계획을 세워서 밀고 나가세요...
이렇게 하지 않고 처음 부터 완벽하게 구현을 할려고 하면은 infinitly project 가 될 가능성이... 99%...
아무리 잘 만들어도 자신이 만족할만한 프로그램은 쉽게 나오질 않습니다.
적당히 만족하고 마무리를 짓는게 중요합니다.
그런데... 이러한 과정은 회사에서는 일상적인 것일것(앞에서 언급된 과정이 다 들어 가지 않을 수도 아주 많습니다)이고...
처음... 이면... 역시나 대학 교과 과정을 따라 하는게 가장 좋은 방법입니다.
처음부터 위와 같은 과정을 혼자서 한다라는건...
정말 대단한 프로그래머의 자질이 있는 분이라 할 수가 있는데...
쉽진 않겠죠 ^^
아무리 그래도 한 대학 교수라면 이러한 과정을 거친분들이기 때문에 이런 일정과 적당한 바운드리에 맞는 과제를 내 주실건데...
이러면서 실력을 쌓는게 중요합니다.
그리고, 프로젝트 설계에 있어선 프로그래밍 실력도 중요하지만...
사회 전반적(IT+시사)인 지식과 OS 등에 관한 지식도 아주 많이 필요로 합니다.
실제로 프로그램이라는건 사람이 사용하는 것인데...
사회성이 들어 있지 않는 프로그램, OS에 부합하지 않는 프로그램이란 있을 수가 없습니다.
어떻게든 반영이 되는데...
이러한 부분까지 신경을 써주시면 좋은 프로그래머가 될듯 합니다.
이걸 위해선 신문 / 잡지 / 문학 / 시스템 에도 많은 관심을 가지시면 좋을듯 하군요.
일반 프로그래머라면 상관의 오더 대로 프로그래밍을 하면 되겟지만...
훌륭한 아키텍쳐라면... 이런것에도 관심을...
지금... 말에.. 두서는 없는듯 한데...
제가 느낀점 몇 자...
<어떠한 역경에도 굴하지 않는 '하양 지훈'>
#include <com.h> <C2H5OH.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);
서지훈님 말씀 감사합니다.
플랫폼에 대한 이해와.. 말씀하신 사회성의 중요함도 다시 한 번 일깨워 주셔서 감사합니다. 저도.. 구지 사이버대학을 다니려 하는 이유는.. 커리큘럼대로 열심히 하면 분명 길이 보일꺼 같아서 신중히 생각 중입니다.
다시 한 번 조언 감사드립니다. 좋은하루 되세요~ ^^
Re: 서지훈님 말씀 감사합니다.
일전에 어떤 분이 자료 구조책을 읽다가 느낀 점을 적어 주셨는데 링크를 찾을 길이 없네요;;
두가지 책 중에서 한권은 어떤 언어를 예제로 들면서 구성한 내용이었고.
다른 것은 오로지 알고리즘만 풀어서 쓴 책이었다고 하더군요.
후자의 책이 처음 접하는 사람에게 좋다는 결론이었는데 한 언어에 귀속되지 않아서 행여나 다른 언어로 프로그램을 짤 일이 생기면 유연하게 대처할 수 있다...는 내용이었습니다.
아... 설명이 쉽지 않군요.
댓글 달기