본문 바로가기

Dev/Dev

어디 한번 개발자가 되어보자 - 기초편

개발이란 처음으로 해보려고 하거나, 이미 시작했지만 도통 해야 하는지 모르겠는 분들소스코드고 알고리즘이고 자료구조고 이해가 전혀 안된다 하시는 분들이 알고 계시면 좋을 듯한 내용에 대해서 적어봤습니다. 글은 개발을 완전 처음 시작하시는 분들을 위한 글입니다.


(이미 본인은 개발자다~ 하시는 분들은 시간 낭비를 원하시면 읽어셔도 좋습니다. )



1. 어려워 하지 마라


대학 시절 개발을 어려워하는 동기, 후배들을 보자면 개발의 ㄱ도 시작하기 전에 '나는 이미 망했어' , '개발이란 것은 너무나 어려워', '내가 있을까라는 생각에 사로잡혀 있었습니다. 이러한 생각은 개발자에게 가장 필요없는 생각이라고 있습니다.


<이렇게 생각하는 순간 끝이라구!!>



함수, 변수, 객체 이런 것들이 이해가 되지 않겠지요. 그래요. 처음시작할 때는 대체 소린지 하나도 모르겠지요. 그치만 어려워할 필요는 없습니다. 모든 개발자들이 그렇게 시작합니다. 여러분도 1 뒤엔 기계적으로 코드를 짜고 있을 거예요. (가끔.. 처음부터 잘하는 얘들이 있어요..걔넨 천재예요..)


보통 이런 생각은 대학 시절 강의가 너무 어려웠던 사람들에게 많이 나타납니다. 전문적인 컴퓨터 공학 수업을 배우고 나면 개발이 너무 복잡하고 너무 많은걸 생각하게 만들지요. 10대나 전문 교육을 받지 않은 사람들이 쉽게 받아들일 때도 있습니다. 내가 배워야 하는게 어렵다고 생각하는 순간 못하게 되는게 개발입니다. 사실, 개발은 굉장히 쉽습니다. 쉬운걸 겁나게 배워야 하는게 어려운 것일 뿐이지요 :)


다시 한번 말씀드리지만, 개발을 어려워 하지 마세요. 나는 안된다고 생각하지 마세요. 사칙연산만 할줄 알면 있습니다.

(너나 쉽겠지... 라고 하시면 그렇지 않아요 ㅠㅠ)



2. 근성을 길러라


위에 1번과 연관되는 이야기입니다. 개발은 어렵지 않아요. 다만 근성이 필요해요. 왜냐면 처음엔 진짜 아는게 없거든요. 짜증납니다. 하나 만들려고 보면 모르는거 투성이예요. 하나 해결하면 몰라요. 근데.. 평생 이럽니다. 내가 아는게 어딨어요. 저도 요새  공부한번 하려고 하면 모르는거 투성이라 계속 알아내야 되요. (개발자의 세계란..)


모르는 많은거랑 어려운거랑은 달라요여러분이 개발자가 되겠다~ 라고 하신다면 근성만 있으면 됩니다. 공부하세요. 모르면 계속 알아내면 됩니다. 지금 슈퍼 개발자 되려는거 아니잖아요? 소스 몇줄 쓰고 함수 하나 만들어보고 다음에 원하는 프로그램 만들어보고우선은 이정도면 되요. 가끔은 소스랑도 싸워보세요. 지식이랑 싸워보세요. '내가 오늘 너는 해결하고 잔다' 정도의 근성이면 이미 개발자예요.



3. 문제를 파악하고 질문을 만들어라


그래 이제 개발이 어렵지 않아! 근성도 있을만큼 있어! 근데 결과물이 안나와요. 그쵸?(결과물이 슬슬 나오기 시작했으면 그만 읽으세요. :/ 즐겁게 코딩라이프를 즐기시면 됩니다.) 그래도 도통 뭘해야 되는지 모르겠단 말이죠. 이제부터는 연습을 해야 됩니다.


1. 내가 하려고 하는지 or 대체 무엇이 문제인지

2. 1 해결하기 위해서 무엇이 필요한지, 내가 모르는 것이 무엇인지

3. 찾자.

4. 해결이 됐는가?

5. 돌고돌고 다시 1번으로


'올바른' 문제를 파악하는건 개발의 기본입니다. 매우 많은 시간을 할애하고 있고 열심히도 하고 있는데 결과물이 안나온다면 '올바른' 문제를 파악하지 못하고 있을 가능성이 큽니다. 이건 연습밖에 답이 없습니다. + 근성. 문제가 무엇인지 알았다면 그걸 한문장으로 써보세요. 내가 알고자 하는 것을 명확하게 문장으로 만들고 나면 이게 올바른 문제인지 아는데 도움이 됩니다. 최대한 자세히 세세하게 적으세요. 질문이 만들어졌으면 이제 '구글' 형님, 언니, 오빠, 누님에게 물어보세요. 구글 형님은 진리입니다. 참고로 구글 형님은 모든 언어에 능통하시지만 영어를 가장 좋아하세요. 영어로 물어보고 읽는 것에 익숙해지는게 좋습니다. 영어가 익숙하지 않으시면 '번역' 이라고 치면 친히 번역도 해주십니다.


<이 형님이 짱이야>



이제 끝이예요. 반복하세요. 다양한 질문을 만들고 안에서 답을 찾고 3-4시간동안 어이없는 문제로 고민하는

개발자가 되고 있는 중입니다.



4. 멋있는 답을 만드려고 하지 마라


처음하는 개발인데 어떻게 높은 수준을 맞출 있겠어요. 차근차근 시작하세요. 우선 문제가 해결되면 됩니다. 다음 문제를 만드세요. '어떻게 해야 간단해 있지?', '어떻게 해야 빠를 있지?' 필요한 문제를 만들고 다시 해결하면 됩니다.


처음부터 최고의 코드를 짜려고 하면 ~~무나 힘들어요. 천리길도 한걸음부터. 일단 걷기부터 시작해야죠. 이번에는 냉정해 지겠습니다. 본인의 수준에 맞는 코드를 짜세요.


( 좋은 코드를 짜려고 노력하는건 분명히 필수입니다. 다만, 문제를 먼저 해결해야죠 :) )


------


개발자가 되어가는 방법은 여러가지가 있습니다. 정석의 공부형, 맨땅에 헤딩형, 호기심형, 흥미형.. 등등. (개발자의 유형에 대해서도 나중에 글을 써봐야 겠네요.) 글은 개발을 공부하는 '방법' 대한 이야기가 아닙니다. 제가 생각하는 개발자가 되기 위해 갖춰야 하는 기초 소양 정도지요. 이 정도만 할 수 있으면 프로그램 하나 정도는 금방금방 짤 수 있습니다. 

물론 이 단계가 지나면 '좋은' 코드를 짜는 법, '좋은' 프로그램을 짜는 법을 연습해야 합니다. 저도 매일 공부하는걸요. 


자. 뭐라도 해보세요! 프로그램 만드는건 금방입니다.